Skip to main content

Pending Approval

Pending Approval adds a manual approval step for new users who register via Google sign-in. Useful for membership sites, B2B platforms, and any site requiring vetting before granting access.

PRO Feature

Pending Approval is a PRO feature. Upgrade to PRO to unlock this functionality.

How It Works

User registers via Google

Account created with "pending" status

User sees "Awaiting approval" message

Admin receives notification

Admin reviews and approves/rejects

User notified of decision

Configuration

Enable Pending Approval

  1. Go to Settings > OneTap Login
  2. Click Users tab
  3. Enable Require approval for new users
  4. Configure notification settings
  5. Save Changes

Pending Approval Settings

Settings Options

SettingDescription
Enable approvalToggle feature on/off
Notify adminEmail admin when user registers
Pending messageMessage shown to pending users
Approval emailEmail sent when approved
Rejection emailEmail sent when rejected

User Experience

Registration Flow

  1. User clicks Google sign-in
  2. Google authentication completes
  3. Account created but restricted
  4. User sees pending message:
Your account is awaiting approval.
You'll receive an email when approved.

Pending State

While pending, user:

  • Cannot access My Account features
  • Cannot place orders
  • Cannot access member content
  • CAN log out and log back in

After Approval

Once approved:

  • Full account access
  • Normal functionality
  • Receives approval email

After Rejection

If rejected:

  • Account deleted or marked inactive
  • Receives rejection email
  • Cannot log in with that Google account

Admin Workflow

Notification Email

Admins receive email with:

  • User name and email
  • Registration timestamp
  • Quick approve/reject links

Approval Queue

View pending users:

  1. Go to Users > All Users
  2. Filter by "Pending" status
  3. Or use OneTap Pending Queue

Pending Approval Users List

Individual Actions

For each pending user:

  • Approve: Grant access
  • Reject: Deny access
  • View: See user details

Bulk Actions

Handle multiple users at once:

Pending Approval Bulk Actions

  1. Select multiple users
  2. Choose "Approve" or "Reject" from dropdown
  3. Click "Apply"

Customizing Messages

Pending Message

Shown to users awaiting approval:

Default:
"Your account is pending approval. You'll be notified by email once approved."

Custom:
"Thanks for registering! Our team will review your application within 24 hours."

Approval Email

Subject:

Your {site_name} account has been approved!

Body:

Hi {first_name},

Great news! Your account at {site_name} has been approved.

You can now sign in and access all features:
{login_url}

Welcome aboard!

Rejection Email

Subject:

Update on your {site_name} account request

Body:

Hi {first_name},

We've reviewed your account request for {site_name}.

Unfortunately, we're unable to approve your account at this time.

If you have questions, please contact us at {admin_email}.

Use Cases

Membership Site

Enable pending approval: Yes
Notification: Immediate email
Approval: Manual by admin
Rejection: Rare, with reason

B2B Platform

Enable pending approval: Yes
Combined with: Domain restrictions
Fast-track: Auto-approve known domains
Manual: Review unknown domains

Educational Platform

Enable pending approval: Yes
Verification: Check .edu email
Approval: After verification
Timing: Within 24 hours

Exclusive Community

Enable pending approval: Yes
Review: Application details
Approval: Curator decision
Communication: Personalized emails

Combining with Other Features

With Domain Restrictions

1. Domain restrictions first (whitelist)
2. If allowed, create pending account
3. Admin approves from allowed domain

With Role Mapping

1. User registers
2. Role determined by domain
3. Account pending until approved
4. Approved user gets mapped role

With Welcome Email

1. User approved
2. Approval email sent
3. Welcome email sent (if configured)

Auto-Approval Rules

Consider auto-approving certain users:

By Domain

add_filter('onetap_require_approval', function($require, $email) {
// Auto-approve company employees
if (str_ends_with($email, '@company.com')) {
return false;
}
return $require;
}, 10, 2);

By Existing Orders

add_filter('onetap_require_approval', function($require, $email) {
// Auto-approve if has previous orders as guest
global $wpdb;
$orders = $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(*) FROM {$wpdb->posts} p
JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id
WHERE p.post_type = 'shop_order'
AND pm.meta_key = '_billing_email'
AND pm.meta_value = %s",
$email
));
return $orders == 0; // Only require approval if no orders
}, 10, 2);

Hooks for Developers

Before Creating Pending User

add_filter('onetap_pending_user_data', function($user_data, $google_data) {
// Add pending reason or metadata
$user_data['meta_input']['_pending_reason'] = 'Awaiting verification';
return $user_data;
}, 10, 2);

After Approval

add_action('onetap_user_approved', function($user_id, $approved_by) {
// Log approval
// Trigger workflow
// Sync to CRM
}, 10, 2);

After Rejection

add_action('onetap_user_rejected', function($user_id, $rejected_by, $reason) {
// Log rejection
// Analytics
}, 10, 3);

Troubleshooting

User Not Seeing Pending Message

Causes:

  1. Approval not enabled
  2. User already approved
  3. Cache showing old state

Solutions:

  1. Verify setting enabled
  2. Check user status
  3. Clear cache

Admin Not Receiving Notifications

Causes:

  1. Notification disabled
  2. Email configuration issue
  3. Spam filter

Solutions:

  1. Enable notifications
  2. Test WordPress email
  3. Check spam folder

Can't Find Pending Users

Causes:

  1. Wrong filter applied
  2. Users already processed
  3. Different user role view

Solutions:

  1. Clear all filters
  2. Check recent activity
  3. View "All" users

Approval Not Working

Causes:

  1. Permission issue
  2. Plugin conflict
  3. Database error

Solutions:

  1. Verify admin permissions
  2. Test with other plugins disabled
  3. Check error logs

Security Considerations

Why Use Pending Approval?

  • Prevent spam registrations
  • Vet users before access
  • Comply with membership requirements
  • Control community quality

Rejection Handling

Rejected users:

  • Can't re-register with same Google
  • Account data can be deleted
  • May try different Google account

Rate Limiting

Combine with rate limiting to prevent:

  • Registration spam
  • Approval queue flooding

Best Practices

Response Time

  • Set expectations in pending message
  • Approve within reasonable time (24-48h)
  • Don't leave users waiting

Communication

  • Clear pending message
  • Informative approval email
  • Polite rejection email

Process

  • Regular queue review
  • Bulk actions for efficiency
  • Document approval criteria

Next Steps