Skip to main content

Google One Tap Popup

Google One Tap is the signature feature that makes OneTap Login unique. Unlike traditional social login that requires page redirects, One Tap displays a popup directly on your website for instant authentication.

What Is One Tap?​

Google One Tap is a modern authentication method developed by Google that:

  • Displays a popup in the corner of your page
  • Detects if visitor is signed into Google
  • Allows single-click login
  • Requires no page redirects
  • Keeps users on the same page
The Unique Differentiator

OneTap Login for WooCommerce is the only WordPress plugin that implements real Google One Tap. All competitors use traditional OAuth redirects, which are slower and more disruptive.

How It Works​

User Experience Flow​

1. User visits your site
↓
2. Plugin detects Google session
↓
3. One Tap popup appears (corner)
↓
4. User clicks their account
↓
5. Instantly logged in (same page)

Technical Flow​

1. Google Identity Services (GIS) JavaScript loads
↓
2. GIS checks for active Google session
↓
3. If found, displays One Tap popup
↓
4. User clicks → JWT credential returned
↓
5. Plugin verifies credential with Google
↓
6. WordPress session created
↓
7. Page updates without redirect

One Tap vs Traditional OAuth​

AspectOne TapTraditional OAuth
Clicks required14-5
Page redirects02-3
Time to login2-3 seconds15-30 seconds
Stays on pageYesNo
User frictionVery lowHigh
Conversion impact+30% registrationsBaseline

One Tap Popup Appearance​

The popup appears as a small card in the corner:

One Tap Popup My Account

Popup contains:

  • Google logo
  • "Sign in to [Your Site]" text
  • User's Google profile picture
  • User's name and email
  • "Continue as [Name]" button
  • Close button (X)
ContextPosition
Desktop (LTR)Top-right corner
Desktop (RTL)Top-left corner
MobileTop-center
Custom containerSpecified element

Configuration​

Enable One Tap​

  1. Go to Settings > OneTap Login
  2. In One Tap Configuration section
  3. Check Enable One Tap
  4. Save Changes

Additional Options​

OptionDefaultDescription
Auto-selectOffAuto-select if only one Google account
Cancel on tap outsideOnClose when clicking elsewhere
Prompt parent ID(empty)Custom container element

Where One Tap Appears​

Default Locations​

PageShows One TapConfigurable
My AccountYesAlways enabled
CheckoutYesPRO only
CartYesPRO only
wp-login.phpYesFREE

Pages Where One Tap Doesn't Appear​

  • Admin pages (/wp-admin/)
  • Already logged-in users
  • Pages with no OneTap JavaScript
  • When cookie consent not given

FedCM Support​

OneTap Login supports Google's Federated Credential Management (FedCM):

What Is FedCM?​

FedCM is a browser API that:

  • Improves privacy for authentication
  • Works when third-party cookies are blocked
  • Is supported by Chrome 108+
  • Will be required when Chrome removes third-party cookies

Automatic Fallback​

The plugin automatically:

  1. Tries FedCM-based One Tap first
  2. Falls back to iframe-based One Tap
  3. Falls back to Sign-In Button if both fail
FedCM One Tap → iframe One Tap → Sign-In Button

Browser Support​

BrowserFedCM SupportOne Tap Fallback
Chrome 108+FullYes
Edge 108+FullYes
FirefoxNot yetiframe
SafariNot yetiframe

Conditions for One Tap Display​

The popup only appears when ALL conditions are met:

ConditionRequirement
One Tap enabledSetting is on
User not logged inNo WordPress session
User has Google sessionSigned into Google
On enabled pageMy Account, Checkout, etc.
Cookie consent givenIf required by setting
Not in cooldownNo recent dismissals
HTTPS enabledRequired by Google
Valid Client IDConfigured in settings

Cooldown Behavior​

Google implements a cooldown when users dismiss the popup:

ActionCooldown Period
First dismiss2 hours
Second dismiss1 day
Third+ dismiss2 weeks
Close button clickSame as dismiss
Tap outsideSame as dismiss

Resetting Cooldown​

Cooldown is stored in cookies. To reset:

  • Clear browser cookies
  • Use incognito window
  • Wait for cooldown to expire
Testing

Always use fresh incognito windows when testing One Tap to avoid cooldown issues.

Automatic Account Detection​

One Tap can detect if the user's Google email matches an existing WordPress account:

New User Flow​

Google email not in WordPress
↓
New account created
↓
Default role assigned
↓
User logged in

Existing User Flow​

Google email found in WordPress
↓
Account linked to Google
↓
No duplicate created
↓
User logged in

Mobile Experience​

On mobile devices:

Appearance​

  • Popup appears at top-center
  • Larger touch targets
  • Full-width on small screens

Interaction​

  • Tap to select account
  • Swipe up/down to dismiss
  • Optimized for touch

Performance​

  • Lightweight JavaScript
  • Fast loading on mobile networks
  • Minimal battery impact

Debugging One Tap​

One Tap Not Appearing​

Check these in order:

  1. Settings: Is One Tap enabled?
  2. Google session: Is user signed into Google?
  3. WordPress session: Is user already logged in?
  4. Cooldown: Has popup been dismissed recently?
  5. Console: Any JavaScript errors?
  6. Client ID: Is it valid and configured?

Console Logging​

Enable debug mode to see One Tap events:

// Browser console
localStorage.setItem('onetap_debug', 'true');

Then reload the page and check console for:

  • "One Tap: Checking eligibility..."
  • "One Tap: Displaying popup..."
  • "One Tap: Credential received..."

Common Issues​

IssueLikely CauseSolution
Never appearsNot signed into GoogleSign into Google first
Appears then hidesInvalid Client IDCheck credentials
Shows errorDomain not authorizedAdd domain to Google Cloud
Dismissed instantlyCooldown activeClear cookies or wait

Security​

JWT Validation​

One Tap returns a JWT (JSON Web Token) that the plugin validates:

  1. Signature verified against Google's public keys
  2. Issuer checked (accounts.google.com)
  3. Audience checked (your Client ID)
  4. Expiration checked (not expired)
  5. Issued-at checked (not too old)

CSRF Protection​

The plugin includes CSRF protection:

  • Nonce verification
  • State parameter validation
  • Origin checking

Data Privacy​

One Tap only shares:

  • Email address
  • First and last name
  • Profile picture URL
  • Google user ID

Does NOT share:

  • Password (there isn't one)
  • Browser history
  • Other Google data

Performance Impact​

JavaScript Size​

ComponentSize (gzipped)
Google GIS library~15 KB
OneTap plugin script~5 KB
Total~20 KB

Loading Strategy​

  • Scripts load asynchronously
  • No render blocking
  • Lazy initialization
  • Minimal main thread impact

Core Web Vitals​

One Tap is optimized for:

  • LCP: No impact (loads after)
  • FID: Minimal (async processing)
  • CLS: Zero (skeleton placeholders)

Best Practices​

Do's​

  • Keep One Tap enabled for best UX
  • Use on high-traffic pages (My Account)
  • Test with incognito windows
  • Monitor conversion rates

Don'ts​

  • Don't disable on mobile
  • Don't add too many custom containers
  • Don't block Google's domains
  • Don't ignore console errors

Next Steps​