Verifyre

WooCommerce checkout email validation: stop fake accounts

A mistyped checkout email bounces the receipt and the password reset; fake accounts feed card testing. How to validate email at WooCommerce checkout without blocking real buyers.

A mistyped or fake email at WooCommerce checkout costs more than a bounced receipt: the customer never gets the order confirmation, cannot reset their password, opens a support ticket, and sometimes files a chargeback for an order that shipped. Checkout email validation checks the address in real time at registration, at the checkout email field and at newsletter opt-in, blocks the ones that cannot receive mail, suggests a fix for typos, and lets everything else through so a paying customer is never turned away.

What does one wrong checkout email actually cost?

Work through what happens after a customer types maria@hotnail.com and clicks Place Order:

  • The order confirmation hard bounces. Your store's transactional sender just took a bounce on its highest-trust email stream, and transactional bounces count towards the same 2% line that marketing bounces do.
  • The shipping notification bounces too. The customer now has no tracking number.
  • Three days later they try to log in to check the order, request a password reset, and the reset email bounces. They cannot get in.
  • They email support, open a chat, or call. Each contact costs staff time.
  • A fraction of these customers give up and dispute the charge with their bank. A chargeback carries a fee on top of the refund and counts against your processor's dispute ratio.

Typically 1% to 3% of checkout emails contain a typo. On a store doing 2,000 orders a month that is 20 to 60 customers who cannot be reached, each one a support ticket waiting to happen. The email typo fixer shows how many of the common ones (gmial, hotmal, yaho, outlok) a simple suggestion can rescue.

Why do fake accounts and card-testing bots target WooCommerce?

Fake registrations are a different problem with the same fix. WooCommerce stores attract two kinds:

  • Bulk fake accounts. Bots register thousands of accounts with disposable or invented addresses to farm welcome coupons, abuse referral schemes, or pad a spam list from your "new account" email. Each one adds a dead address to your customer list and a bounce to your next campaign.
  • Card-testing bots. Fraudsters run stolen card numbers through low-value checkouts to find which ones still work. They use throwaway emails because they never intend to receive anything. The orders fail or get refunded, but your payment processor sees the decline spike and your fraud score rises.

Both rely on addresses that a real-time check marks undeliverable or disposable, so blocking those at registration removes the easy path. The determined fraudster still needs a rate limit and your processor's fraud tools.

Where should you validate in a WooCommerce store?

PointWhat to checkWhy
Account registrationFull verification, block disposable and undeliverableStops bulk fake accounts and coupon farming
Checkout email fieldFull verification with typo suggestionProtects the order confirmation and password reset
Newsletter opt-in at checkoutFull verification, block disposableKeeps the marketing list clean from day one
Guest checkoutSame as the checkout fieldGuests still need their receipt

The checkout email field is the one that pays back fastest, because every order depends on it. The newsletter tick box matters if the address flows into Klaviyo or Mailchimp, where a bad address costs money on every send.

What should the store do with each verdict at checkout?

VerdictScoreAction at checkout
Deliverable90 to 100Continue, nothing shown
Risky60 to 89Warn once ("we could not fully confirm this address") and allow the order
Undeliverable0 to 29Block, show the did_you_mean suggestion if there is one, ask for a correction
Unknown30 to 89, no firm answerAllow the order, flag the account for a recheck later

The split matters. Undeliverable means the domain does not exist, has no mail server, or its server said the mailbox is not there. Nobody is harmed by asking for a correction. Risky covers catch-all domains, full mailboxes and role addresses, all of which can belong to a genuine buyer with a corporate address, so warn and let them pay. Unknown usually means a slow or greylisting server, and it is never the customer's fault.

How do you set it up with the WordPress plugin?

  1. Install the Verifyre plugin from the WordPress directory and activate it. Details are on the WordPress integration page.
  2. Create an API key in the Verifyre dashboard and paste it into Settings, Verifyre. The first 100 verifications are free.
  3. Under Forms, enable WooCommerce checkout and WooCommerce registration.
  4. Set undeliverable to Block, risky to Warn, unknown to Allow. Edit the block message so it matches your store's tone; the default includes the suggestion when one is available.
  5. Place a test order with a typo address. You should see the suggestion inline and the Place Order button wait for a correction.

Two notes. The plugin stores the verdict and score in the order meta, so you can filter orders by email quality in the admin or export them. And it fails open: if your credits run out, checkout keeps working and validation is skipped until you top up, so a billing lapse can never block a sale.

If your checkout is a custom build or a headless front end, the form validation widget attaches to any email input with one script tag and fires a verifyre event your checkout script can act on. For the server side, call POST /api/v1/verify from your order handler before the order is created; that is the only check a bot cannot skip. On Shopify the same flow is available through the Shopify integration.

How do you avoid adding friction for real buyers?

A checkout is the worst place to lose a customer, so the rules are strict:

  • Never block on unknown. A server that did not answer in time is not evidence of anything.
  • Never block on risky. Corporate catch-all domains are common among your best B2B buyers.
  • Validate once, when the field loses focus, and reuse the result. Repeat checks within 24 hours are free and return cached: true, so a customer who goes back and forth is not rechecked.
  • Show the typo suggestion as a one-tap fix, not an error. Most people accept it immediately.

Done this way, the only buyers who ever see a hard stop are typing an address that could not receive their receipt anyway. For the broader picture on forms, see WordPress form spam and fake sign-ups.

Key takeaways

  • One mistyped checkout email bounces the confirmation, the tracking email and the password reset, then becomes a support ticket.
  • Fake accounts and card-testing bots lean on disposable and invented addresses that a real-time check flags before the account exists.
  • Validate at registration, the checkout email field and newsletter opt-in; the checkout field pays back fastest.
  • Block only undeliverable, warn on risky, allow unknown, and always show the typo suggestion.
  • The WordPress plugin covers WooCommerce checkout and registration, stores the verdict in order meta and fails open if credits run out.

Frequently asked questions

Will validation reject corporate email addresses?

No. Addresses at catch-all or strict corporate domains come back risky or unknown, and the recommended settings allow both. Only addresses whose domain or mailbox provably cannot receive mail are blocked.

Does the check delay the Place Order button?

The check runs when the customer leaves the email field, usually in well under a second, so by the time they reach the button the verdict is already known. If the API is slow, the order proceeds and the address is rechecked afterwards.

Can I see which orders had risky emails?

Yes. The plugin writes the verdict and score to the order meta, so you can filter orders in the WooCommerce admin or export them to a sheet.

Does it stop card testing on its own?

It removes the throwaway addresses card testers rely on, which cuts most of the volume, but you still want a rate limit on checkout attempts and your payment gateway's fraud rules for the rest.

Put it into practice.

100 free verifications on signup. Clean a list, add the widget, or call the API.

Start free See pricing