Audit the account-creation funnel for the last 30 days. Compare Google SSO, email + password, verification, and recovery. Keep user details private.
Mapped the account-creation paths and source systems
I’ll rebuild the funnel from raw events instead of trusting the aggregate signup rate. That lets us see whether the loss happens before authentication, during verification, or after the account exists.
Plan:
- Use Metabase for the known business funnel.
- Rebuild event order in BigQuery.
- Resolve anonymous sessions to account IDs.
- Keep password recovery separate from signup.
Start from Metabase card #1842, then verify every step against prod_analytics.events_* in BigQuery.
Joined the business funnel to raw warehouse events
First pass: 124,800 signup page views split into two primary paths. Google receives 72,410 starts. Email + password receives 52,390 starts.
- Google creates 60,840 accounts.
- Password creates 22,670 accounts.
- Raw totals still contain retries, bots, tests, and repeated resets.
The 41-point gap is real enough to investigate, but not clean enough to explain yet.
Resolve anonymous IDs after OAuth redirects. Remove internal users, automated tests, bots, duplicated callbacks, and clock drift.
Rebuilt identity and removed invalid sessions
I joined pre-auth device IDs to server-side account creation and deduplicated retries inside a 30-minute window. That excludes 3,842 sessionsfrom the comparison.
Google remains stable at 84% completion. Email + password lands at 43%, so the difference is not an identity artifact.
Break the password path into form submit, verification delivery, verification click, and final account creation.
Reconstructed the password branch event by event
From 52,390 starts, 39,180 people submit valid credentials. The email provider reports 38,460 verification emails delivered.
- 22,940 users verify their email.
- 22,670 accounts finish creation.
- The verified-to-created handoff is healthy.
The dominant loss sits between delivery and a successful verification return.
Confirm that against the email delivery logs. Quantify users who received the message but never verified.
Matched delivery logs to verification returns
15,520 users received the verification email but never completed verification. That is a 40% loss after confirmed deliveryand the largest controllable leak in the signup funnel.
Delivery failures matter, but they are not the main constraint. The return path, link context, and reminder behavior deserve the next intervention.
Password resets use the same email infrastructure. Check them, but do not mix recovery into signup conversion.
Separated password recovery from account creation
Recovery shows 11,430 requests, 11,120 delivered messages, and 6,280 completed resets. It confirms that returning from email is difficult, but it remains a separate funnel with a different user intent.
- Do not add reset completions to signup success.
- Reuse its device and email-client cuts as supporting evidence.
Stress-test the leak by device, region, and verification delay. Did reminder copy materially fix it?
Stress-tested the leak across enterprise cohorts
Completion improved from 55.8% to 61.7% after reminder copy changed. The same delivery-to-verification drop remains the largest loss across desktop, mobile, North America, and Europe.
The evidence supports prioritizing verification. It does not yet prove which UI or email change will recover the loss, so the next move should be instrumented.
Give me the decision, the caveat, and everything the next engineer needs to reproduce this analysis.
Condensed the investigation into a reproducible decision
Key finding: Password verification is the signup funnel’s largest controllable leak.
Decision: fix the verification return path before redesigning Google SSO. Keep recovery separate, preserve the query jobs, and revalidate the result after the intervention.