Docs Customer Email Verification Verification Analytics Dashboard

Verification Analytics Dashboard

A new Analytics tab in WooCommerce → Email Verification that shows you exactly how the plugin is performing — how many signups you’re getting, how many complete email verification, how much spam is being blocked, and where the spam is coming from.

What it shows ?

KPI cards (top of the page)

  • Total Signups — registered users (rows in wp_users) created during the selected date range, excluding administrators and editors. This is the merchant-meaningful “how many people signed up this period.”
  • Verified — how many of those signups completed email verification (have customer_email_verified = ‘true’).
  • Spam Blocked — sum of every blocked email attempt in the period, across all block reasons: disposable (both the built-in list and the AI pattern match), MX-failed, blocklisted, not-in-allowlist, AI risk score, and bot cluster.
  • Avg. Time to Verify — median time between OTP sent and OTP verified, for users who completed verification.

Each card shows a small trend indicator below it: “▲ +12.3% vs previous period” so you can see whether numbers are climbing.

Time-series chart

A line chart with three series — Signups (blue), Verified (green), Blocked (red) — across the selected date range. The Blocked line rolls up every block reason into one series, so a spam wave shows as a single spike no matter which rule stopped it.

The chart’s bucket size automatically adapts to the range:

  • Last 7 days → daily buckets
  • Last 30 days → daily buckets
  • Last 90 days → weekly buckets
  • Custom range under 1 year → monthly buckets
  • Custom range 1+ year → yearly buckets

This keeps the line readable instead of flattening into a horizontal bar over a long range.

Verification funnel

A two-step funnel showing the drop-off from “Verification email sent” to “Code verified”:

  • Step 1 — Verification email sent: every OTP that left your server, including incomplete signups (people who got the email but never finished registration).
  • Step 2 — Code verified: how many of those people actually entered the code correctly.
blank

The percentage tells you the completion rate — if step 2 is much lower than step 1, you have a lot of abandoned signups and might want to revisit your OTP email design or expire time.

Verification status widget

blank

A snapshot of your registered users in the period, split between Verified (green bar) and Unverified (amber bar), with counts and percentages. Gives you a quick read on what fraction of your customer accounts are sitting unverified.

If you use Paid-Order Gatekeeping, a third Pending paid order bar appears between the two — customers who confirmed their email but haven’t completed a paid order yet. The row is only rendered when that count is above zero, so stores that don’t use the feature see the familiar two-bar widget.

Top blocked domains

A top-10 list of which email domains are being blocked most — useful for spotting which disposable-email providers are targeting your store, or whether your allowlist is too strict. It counts every block reason, so domains stopped by the AI pattern match or the risk score show up here alongside the built-in disposable list.

blank

AI risk scoring

Sits directly below Top blocked domains and reports how the risk engine judged sign-ups in the selected period:

MetricWhat it means
Avg. signup riskThe mean 0–100 score across every sign-up scored in the period. A low average with occasional spikes is normal; a steadily climbing average usually means a bot run is under way.
Blocked by AIHow many sign-ups the risk score itself rejected. This is a subset of the Spam Blocked KPI, which also counts the disposable, MX, blocklist, allowlist and bot-cluster rules.
Signups scoredHow many sign-ups the engine assessed in total — the denominator for the average.

Below the three figures, Top risk reasons ranks the up-to-five signals that contributed most often — Random-looking mailbox, Unusual domain, Role / plus address, and Many signups from one IP. This is the fastest way to see why your store is being scored the way it is, and whether your sensitivity setting is pitched correctly.

Note
The card is hidden until the engine has something to report — if nothing was scored or blocked in the selected period it does not appear at all. Enable AI spam & fraud risk scoring under Settings → Spam Protection to start collecting the data, then widen the date range if the card still looks empty.

How to use the date range ?

The dropdown at the top right of the dashboard offers:

  • Last 7 days
  • Last 30 days (default — opens to this every time)
  • Last 90 days
  • Custom range — pick any two dates with the date pickers, click Apply.

The dashboard reloads instantly when you switch ranges. Custom date selections are remembered for the rest of your session — if you switch to another range and back to Custom, the dates come back pre-filled.

What feeds the data?

Every verification-related event the plugin handles is logged to a dedicated wp_cev_verification_events table:

EventWhen it's logged
otp_sentA verification email is sent (signup, checkout, edit-account, login auth)
otp_verifiedA user enters the correct code
otp_failedA user enters the wrong code
blocked_disposableA signup with a disposable email is blocked by the built-in or custom domain list
blocked_disposable_patternA signup is blocked by the AI pattern match — a throwaway domain that was not on any list
blocked_mxA signup with a non-existent mail server is blocked
blocked_specific_emailA signup with an admin-banned email is blocked
blocked_not_in_allowlistA signup outside the B2B allowlist is blocked
signup_risk_scoredA signup is assessed by AI risk scoring — stores the score, the action taken, and the reasons
blocked_ai_riskA signup is blocked because its risk score reached the high band
blocked_bot_clusterA signup is blocked as part of a detected bot cluster
2fa_verified / 2fa_failedA user enters their 2FA code (or backup code)
2fa_enrolledA user completes 2FA setup
verification_pending_paid_orderA customer verifies their email but is held pending their first paid order
verification_completed_via_paid_orderA pending customer is promoted to fully verified by a paid order (or an admin force-activate)
retroactive_unverifyA customer is reset to unverified by the Force re-verify tool
auto_deletedA stale unverified user is cleaned up by the maintenance cron
You don’t have to do anything — events are recorded automatically. The first time you open the Analytics tab after upgrading from a previous version, the plugin runs a one-time migration that backfills historical data from your existing user list, so the dashboard isn’t empty on day one.
Events are only written for features you have switched on. If the AI risk scoring card or a block reason never appears, the matching rule is most likely still off under Settings → Spam Protection — the dashboard reports on what ran, it does not score retroactively.