Customer Email Verification for WooCommerce

The Customer Email Verification Pro plugin adds a crucial layer of security to your WooCommerce store by integrating an email verification step into the registration and checkout process. This ensures that only valid email addresses can be used to create accounts, reducing spam registrations and increasing customer confidence.

Signup Verification

Require email verification at registration with full OTP configuration โ€” length, expiry, and resend limits.

Checkout Verification

Verify guest & registered customers before or during checkout โ€” choose Popup overlay or Inline OTP entry.

Login Authentication (2FA)

Require OTP for logins from new devices, new locations, or after a set number of days since last login.

OTP Length & Expiry

Choose 4-digit or 6-digit OTPs and set expiry times โ€” 10 min, 30 min, 1 hr, 24 hrs, 72 hrs, or never.

Spam Protection

Block disposable emails, fake domains, and unwanted addresses before the OTP is sent โ€” disposable list, MX validation, B2B allowlist, and custom blocked emails.

Auto-cleanup & Auto-delete

Keep your store clean automatically โ€” delete stale verification log rows and abandoned user accounts on a daily cron, with safeguards that never touch users with orders or recent logins.

Re-engagement Reminders

Bring back lapsed sign-ups automatically โ€” customizable email reminders at 1h, 24h, 3d, or 7d after sign-up with a one-click button to complete verification.

Getting started

↑ Back to top

Customer Email Verification Pro helps WooCommerce store owners reduce spam registrations and fake orders by requiring customers to verify their email address using a One-Time Password (OTP).

How to Install the Plugin?

↑ Back to top
  1. Download the plugin ZIP file from your zorem account.
  2. In WordPress admin, go to Plugins โ†’ Add New โ†’ Upload Plugin.
  3. Select the ZIP file and click Install Now.
  4. After installation, click Activate Plugin.

Settings

↑ Back to top

Configure email verification options by navigating to WooCommerce โ†’ Email Verification.

How to Enable Signup Verification?

↑ Back to top

Signup verification requires customers to verify their email address before their account is created.

  1. Go to WooCommerce โ†’ Email Verification.
  2. Toggle Enable Signup Verification to ON.
  3. Click Save Changes.

How it works: When a customer submits the registration form, they receive an OTP via email. The account is only created after successful verification of the OTP.

How to Enable Checkout Verification?

↑ Back to top

Checkout verification ensures customers verify their email before placing an order.

  1. Go to WooCommerce โ†’ Email Verification.
  2. Toggle Enable Checkout Verification to ON.
  3. Select the Checkout Verification Type:
    • Popup: Opens a popup window for OTP entry
    • Inline: Displays verification field directly on the checkout page
  4. Click Save Changes.

Additional Checkout Options

OptionDescription
Enable on cart pageShow verification popup on the cart page instead of checkout
Free orders onlyRequire verification only when order total is $0
Create account during checkoutOnly verify if customer opts to create an account (inline mode only)
Disable Store API CheckoutBlock WooCommerce Store API to prevent bypassing verification

How to Enable Login Authentication?

↑ Back to top

Login authentication adds an extra security layer by requiring OTP verification for suspicious login attempts.

  1. Go to WooCommerce โ†’ Email Verification.
  2. Scroll to the Login Authentication section.
  3. Toggle Enable Login Authentication to ON.
  4. Enable Require OTP verification for unrecognized login.
  5. Select the conditions that trigger verification:
    • Login from a new device
    • Login from a new location
    • Last login more than X days ago (15, 30, or 60 days)
  6. Click Save Changes.

How to Configure OTP Settings?

↑ Back to top

Customize the OTP behavior for all verification types.

  1. Go to WooCommerce โ†’ Email Verification.
  2. Locate the General Settings section.
  3. Configure the following options:
SettingOptions
OTP Length4-digit or 6-digit code
OTP ExpirationNever, 10 min, 15 min, 30 min, 1 hour, 24 hours, or 72 hours
Resend LimitAllow 1 attempt, 3 attempts, or disable resend
Resend Limit MessageCustom message when resend limit is reached
Success MessageMessage shown after successful verification

Spam Protection

↑ Back to top

Customer Email Verification Pro includes four independent layers of spam protection that run before the OTP is sent โ€” disposable email blocking, MX record validation, a B2B allowlist, and a custom blocked-emails list. Each layer is a separate toggle, so you can enable only the ones you need.

How to Block Disposable / Temporary Emails?

↑ Back to top

The plugin ships with a built-in list of ~3,000 known disposable email providers (Mailinator, 10MinuteMail, GuerrillaMail, etc.). When this rule is on, sign-ups from any of those domains are rejected before an OTP is sent.

  • Go toย Settings โ†’ Spam Protection.
  • Enable the toggleย Block disposable / temporary emails.
  • (Optional) Add extra domains toย Additional blocked domainsย โ€” one per line.
  • (Optional) Add domains toย Excluded domainsย to whitelist them even if they’re on the built-in list.
  • Customize theย rejection messageย shown to users.

Note

The blocklist is checked at signup, classic checkout, Blocks checkout, and edit-account email change.

How to Validate MX Records?

↑ Back to top

The MX check confirms the email’s domain has a working mail server. This catches typos like @gmial.com, fake domains like @example.test, and dead inboxes โ€” before sending an OTP that would never be delivered.

  1. Go toย Settings โ†’ Spam Protection.
  2. Enable the toggleย Validate email domain (MX check).
  3. Customize theย MX rejection messageย if needed.
  4. Clickย Save.

Note

Results are cached per domain for 24 hours to avoid repeat DNS lookups for repeat sign-ups. The check fails open on DNS errors so transient issues don’t block legitimate users.

How to Restrict Sign-ups to Specific Domains (B2B Mode)?

↑ Back to top

For B2B / corporate stores that should only accept sign-ups from approved company domains.

  1. Go toย Settings โ†’ Spam Protection.
  2. Enable the toggleย Restrict signups to specific domains (B2B mode).
  3. Inย Allowed domains, add the domains that are permitted to register โ€” one per line. Wildcards supported (e.g.ย acme.com,ย *.partner.com).
  4. Customize theย Allowlist rejection message.
  5. Clickย Save.

Important

When this toggle is ON,ย onlyย the listed domains can sign up. Every other domain is

How to Block Specific Email Addresses?

↑ Back to top

For blocking individual bad actors by their exact email.

  1. Go toย Settings โ†’ Spam Protection.
  2. Enable the toggleย Block specific email addresses.
  3. Add full email addresses toย Blocked email addressesย โ€” one per line, exact match (no wildcards).
  4. Customize theย Blocked email rejection message.
  5. Clickย Save.

Tip: For domain-level blocking (e.g. block all @spam.com), use the Additional blocked domains field inside the disposable section instead โ€” it supports domain matching.

Maintenance

↑ Back to top

The Maintenance tab keeps your store clean by auto-deleting stale verification records, removing abandoned user accounts, and bringing lapsed sign-ups back via re-engagement reminder emails. All three features are off by default and run on background daily crons.

You’ll find them at Settings โ†’ Unverified Users โ†’ Maintenance.

How to Auto-Cleanup Stale Verification Records?

↑ Back to top

The verification log table stores every email-verification attempt โ€” including bot traffic and abandoned sign-ups. Auto-cleanup deletes the unverified rows after a configurable retention window so the table doesn’t grow unbounded.

  1. Go toย Settings โ†’ Unverified Users โ†’ Maintenance.
  2. Enable the toggleย Auto-cleanup unverified records.
  3. Choose how long to keep pending records underย Delete pending records afterย โ€” 14 days is recommended.
  4. Clickย Save.
  5. (Optional) Clickย Run cleanup nowย to execute immediately instead of waiting for the daily cron.

Note: Only pending records are deleted. Verified records stay forever as proof of verification.

How to Auto-Delete Unverified User Accounts?

↑ Back to top

This permanently deletes WordPress user accounts that registered but never verified their email. It’s destructive โ€” but ships with built-in safeguards so you can’t accidentally remove paying customers.

A user is never deleted if any of these are true:

  • They have at least one order (any status)
  • They have an active WooCommerce subscription
  • They have any role other thanย customerย orย subscriber
  • They’ve logged in within the last 30 days
  • They actually verified their email

To enable:

  1. Go toย Settings โ†’ Unverified Users โ†’ Maintenance.
  2. Enable the toggleย Auto-delete unverified user accounts. A confirmation modal listing the safeguards will appear โ€” read it and clickย Enable.
  3. Choose the retention window underย Delete afterย โ€” minimum 30 days, 90 days recommended.
  4. Clickย Save.
  5. (Strongly recommended) Clickย Preview affected usersย to see exactly which users would be deleted on the next run,ย without deleting anything. This lets you sanity-check the safeguards before turning the cron loose.
  6. Clickย Run nowย when you’re ready, or wait for the daily cron.

Important: Always click Preview affected users before the first run. The list shows email, registration date, and role for every candidate.

How to Send Re-engagement Reminder Emails?

↑ Back to top

Bring back customers who started signing up but never completed email verification. The plugin emails them at the intervals you choose โ€” 1 hour / 24 hours / 3 days / 7 days after sign-up โ€” with a styled reminder and a one-click button to come back and finish.

  1. Go toย Settings โ†’ Unverified Users โ†’ Maintenance.
  2. Enable the toggleย Send re-engagement reminder emails.
  3. Underย Send reminder at, select one or more intervals.
  4. Clickย Save.
  5. Clickย Customize email โ†’ย to edit the subject, heading, body copy, button text, button link, and footer through the email customizer (matches the same workflow as your other CEV emails).
  6. (Optional) Clickย Send testย to email a sample to your admin address before going live.
  7. (Optional) Clickย Run nowย to fire the cron immediately.

Note: Each user gets each interval at most once, ever โ€” no spam. Sends are capped at 50 per cron run to protect your SMTP. Reminders go to both registered users and guest checkout entries that exist in the verification log.

Customer Management

↑ Back to top

How to View Customer Verification Status?

↑ Back to top
  • Go toย WordPress โ†’ Users.
  • Theย Email Verificationย column shows each userโ€™s status.
  • Use the filter dropdown to show only verified or unverified users.

How to Manually Verify a Customer?

↑ Back to top
  • Go toย WordPress โ†’ Users.
  • Find the customer you want to verify.
  • Click theย Verifyย action link, OR edit the user profile.

The Unverified Users tab lists every email that started verification but didnโ€™t finish โ€” both registered customers and guest checkout entries. From here you can resend reminders, export data, or remove rows in bulk.

Youโ€™ll find it at Settings โ†’ Unverified Users โ†’ User List.

How to View Unverified Users?

↑ Back to top
  • Go toย Settings โ†’ Unverified Users โ†’ User List.
  • The table shows pending verifications with the customerโ€™s name, email, and the date they last attempted verification.
  • The header strip displaysย pending countย +ย oldest pending ageย at a glance.

How to Send a Reminder Email to a Specific User?

↑ Back to top
  • Go toย Settings โ†’ Unverified Users โ†’ User List.
  • Find the row for the customer.
  • Click the kebab menu (โ‹ฎ) at the right of the row.
  • Clickย Send reminder. The customizer-defined re-engagement email is sent to that customer immediately.

Note

Sending a reminder this way is independent of the cron โ€” you can send to any row, anytime, regardless of the configured intervals.

How to Send Reminders to Multiple Users at Once?

↑ Back to top
  • Go toย Settings โ†’ Unverified Users โ†’ User List.
  • Tick the checkboxes next to the users you want to email.
  • From theย Bulk Actionย dropdown, chooseย Send re-engagement reminder.
  • Clickย Apply.
  • Confirm the send in the modal that appears.

Tick the checkbox in the column header to select every visible row at once.

How to Delete an Unverified User Entry?

↑ Back to top
  • Go toย Settings โ†’ Unverified Users โ†’ User List.
  • Click the kebab menu (โ‹ฎ) on the row.
  • Clickย Deleteย and confirm.

For bulk delete: tick multiple rows, choose Delete from the Bulk Action dropdown, click Apply, and confirm.

How to Export the Unverified User List to CSV?

↑ Back to top
  • Go toย Settings โ†’ Unverified Users โ†’ User List.
  • Clickย Export CSVย in the top-right of the records card.
  • The file downloads with columns: ID, Email, Status, Last Updated.

The export includes the entire list, not just the visible page.

Customization

↑ Back to top

Customize the appearance of verification popups and emails to match your storeโ€™s branding.

How to Access the Customizer?

↑ Back to top
  • Go to WooCommerce โ†’ Email Verification.
  • Click on Customize in the settings menu.
  • The customizer opens with a live preview panel.
  • Select Popup Style or Popup Content from the left panel.

How to Customize the Popup Style?

↑ Back to top
  1. In the customizer, click Design โ†’ Popup Style.
  2. Adjust the settings below.
  3. Click Publish to save your changes
  4. In the customizer, click Design โ†’ Popup Style.
  5. Adjust the settings below.
  6. Click Publish to save your changes
SettingDescriptionDefault
Overlay Background ColorColor of lightbox overlay behind popup#ffffff
Widget Background ColorBackground color of popup widget#f5f5f5
SettingDescriptionRangeDefault
Content AlignmentAlign popup contentCenter, LeftCenter
Content WidthWidth of popup widget300px โ€“ 600px440px
Content PaddingInternal spacing10px โ€“ 100px30px
SettingDescriptionRangeDefault
Header ImageUpload logo or custom imageMedia uploadEmail icon
Image WidthWidth of header image25px โ€“ 250px80px
Header Font SizeSize of header text10px โ€“ 30px18px

Verification Button Settings

SettingDescriptionDefault
Button ColorBackground color of verify button#2296f3
Button Font ColorText color of verify button#ffffff
Button Font SizeSize of button text14px
Button PaddingInternal padding of button15px
Expand ButtonMake button full-widthDisabled

How to Customize the Popup Content?

  1. In the customizer, click Popup Content.
  2. Select the Widget Type from the dropdown.
  3. Edit the content fields for your selected type.
  4. Click Publish to save changes.

Available Widget Types

Widget TypeDescription
RegistrationPopup shown during account registration
Checkout Email PopupInitial email entry popup at checkout
Checkout OTP PopupOTP entry popup after code is sent
Login AuthenticationPopup for suspicious login attempts

How to Customize the Registration Popup Content?

  1. In the customizer, click Popup Content.
  2. Select Widget Type: Registration from the dropdown.
  3. Edit the following fields:
FieldDescriptionDefault Value
Header TextTitle at top of popupโ€œVerify itโ€™s you.โ€
Verification MessageMain message bodyโ€œWe sent verification code to {customer_email}. To verify your email address, please check your inbox and enter the code below.โ€
Footer TextText below formโ€œDidnโ€™t receive an email? {cev_resend_verification}โ€
Button TextVerify button textโ€œVerify Codeโ€

How to Customize the Checkout Email Popup Content?

  1. In the customizer, click Popup Content.
  2. Select Widget Type: Checkout Email Popup from the dropdown.
  3. Edit the following fields:
FieldDefault Value
Header Textโ€œVerify itโ€™s you.โ€
Verification Messageโ€œPlease verify your email address to proceed to checkout.โ€
Footer Textโ€œAlready have an account? Login nowโ€

How to Customize the Checkout OTP Popup Content?

  1. In the customizer, click Popup Content.
  2. Select Widget Type: Checkout OTP Popup from the dropdown.
  3. Edit the following fields:
FieldDefault Value
Header Textโ€œVerify itโ€™s you.โ€
Verification Messageโ€œWe sent verification code to {customer_email}. To verify your email address, please check your inbox and enter the code below.โ€
Footer Textโ€œDidnโ€™t receive an email? {cev_resend_verification}โ€

How to Customize the Login Authentication Popup Content?

  1. In the customizer, click Popup Content.
  2. Select Widget Type: Login Authentication from the dropdown.
  3. Edit the following fields:
FieldDefault Value
Header Textโ€œVerify itโ€™s you.โ€
Verification Messageโ€œWe sent verification code to {customer_email}. To verify your email address, please check your inbox and enter the code below.โ€
Footer Textโ€œDidnโ€™t receive an email? {cev_resend_verification}โ€
Button Textโ€œVerify Codeโ€
PlaceholderDescriptionExample
{customer_email}Customerโ€™s email addressjohn@example.com
{cev_resend_verification}Clickable resend linkResend Code

How to Access Email Customization?

↑ Back to top

Email Types Overview

The plugin supports 5 different email types, each sent for a specific verification scenario:

Email TypeWhen Itโ€™s SentContains OTP
RegistrationWhen customer registers a new accountโœ“ Yes
CheckoutWhen customer verifies email at checkoutโœ“ Yes
Edit AccountWhen customer changes their email addressโœ“ Yes
New Login OTPWhen OTP is required for suspicious loginโœ“ Yes
New Login AuthAlert for new login (informational only)โœ— No

How to Access Email Customization?

  1. Go to WooCommerce โ†’ Email Verification.
  2. Click on Customize in the settings menu.
  3. The customizer opens with a live preview panel.
  4. Click Design โ†’ Email Style to customize appearance.
  5. Click Email Content to customize text and messages.

How to Customize the Email Style?

Customize colors, layout, and header appearance for all verification emails.

Step-by-Step Instructions

  1. In the customizer, click Design โ†’ Email Style.
  2. The preview panel will show a sample email.
  3. Adjust the settings below.
  4. Click Publish to save your changes.

Email Layout Settings

SettingDescriptionRange/OptionsDefault
Content AlignmentAlign email content horizontallyCenter, LeftLeft
Content WidthWidth of the email content area400px โ€“ 1000px650px
Content PaddingInternal spacing inside the email10px โ€“ 100px30px

Email Color Settings

SettingDescriptionDefault
Background ColorBackground color of email content area#fafafa
Border ColorColor of the content border#e0e0e0
Font ColorColor of the email body text#333333

Email Header Settings

SettingDescriptionRange/OptionsDefault
Header ImageUpload your logo for emailsMedia uploadNone (empty)
Image WidthWidth of the header image50px โ€“ 300px80px
Header Font SizeSize of the heading text10px โ€“ 30px18px

Email Button Settings

SettingDescriptionDefault
Button ColorBackground color of the verify button#2296f3
Button Font ColorText color of the verify button#ffffff
Button Font SizeSize of button text14px
Button PaddingInternal padding of the button15px
Expand ButtonMake button full-widthDisabled

How to Customize Email Content?

Each email type has its own customizable content including subject, heading, body message, and footer.

Step-by-Step Instructions

  1. In the customizer, click Email Content.
  2. Select the Email Type from the dropdown menu.
  3. Edit the content fields for your selected email type.
  4. The preview panel updates in real-time.
  5. Click Publish to save changes.

Available Email Types in Dropdown

Email TypeDescription
RegistrationEmail sent during account registration
CheckoutEmail sent during checkout verification
Edit Account EmailEmail sent when customer changes email address
New Login OTPEmail with OTP for suspicious login verification
New Login AuthenticationAlert email for new login notification

How to Customize the Registration Email?

  1. In the customizer, click Email Content.
  2. Select Email Type: Registration from the dropdown.
  3. Edit the fields shown below.
  4. Click Publish to save changes.

Registration Email Settings

FieldDescription
Email SubjectSubject line that appears in customerโ€™s inbox
Email HeadingLarge heading text inside the email body
Verification MessageMain content explaining verification with OTP code
Footer ContentAdditional text displayed below the main content

Registration Email Default Values

FieldDefault Value
Email SubjectPlease Verify Your Email Address on {site_title}
Email HeadingVerify Your Email Address
Verification MessageThank you for signing up for {site_title}, to activate your account, we need to verify your email address.<p>Your verification code: <strong>{cev_user_verification_pin}</strong></p>
Footer Content(empty)

Available Placeholders for Registration Email

PlaceholderDescriptionExample Output
{site_title}Your website/store nameMy Store
{cev_user_verification_pin}The OTP verification code123456
{cev_display_name}Customerโ€™s display nameJohn

How to Customize the Checkout Email?

  1. In the customizer, click Email Content.
  2. Select Email Type: Checkout from the dropdown.
  3. Edit the fields shown below.
  4. Click Publish to save changes.

Checkout Email Settings

FieldDescription
Email SubjectSubject line that appears in customerโ€™s inbox
Email HeadingLarge heading text inside the email body
Verification MessageMain content explaining verification with OTP code
Footer ContentAdditional text displayed below the main content

Checkout Email Default Values

FieldDefault Value
Email SubjectPlease Verify Your Email Address on {site_title}
Email HeadingVerify Your Email Address
Verification MessageTo complete your order on {site_title}, please confirm your email address. This ensures we have the right email in case we need to contact you.<p>Your verification code: {cev_user_verification_pin}</p>
Footer Content(empty)

Available Placeholders for Checkout Email

PlaceholderDescriptionExample Output
{site_title}Your website/store nameMy Store
{cev_user_verification_pin}The OTP verification code123456
{cev_display_name}Customerโ€™s display nameJohn

How to Customize the Edit Account Email?

  1. In the customizer, click Email Content.
  2. Select Email Type: Edit Account Email from the dropdown.
  3. Edit the fields shown below.
  4. Click Publish to save changes.

Edit Account Email Settings

FieldDescription
Email SubjectSubject line that appears in customerโ€™s inbox
Email HeadingLarge heading text inside the email body
Verification MessageMain content explaining verification with OTP code
Footer ContentAdditional text displayed below the main content

Edit Account Email Default Values

FieldDefault Value
Email SubjectPlease Verify Your Email Address on {site_title}
Email HeadingYou recently changed the email address {site_title}
Verification MessageTo complete your order on {site_title}, please confirm your email address. This ensures we have the right email in case we need to contact you.<p>Your verification code: {cev_user_verification_pin}</p>
Footer Content(empty)

Available Placeholders for Edit Account Email

PlaceholderDescriptionExample Output
{site_title}Your website/store nameMy Store
{cev_user_verification_pin}The OTP verification code123456
{cev_display_name}Customerโ€™s display nameJohn

How to Customize the New Login OTP Email?

  1. In the customizer, click Email Content.
  2. Select Email Type: New Login OTP from the dropdown.
  3. Edit the fields shown below.
  4. Click Publish to save changes.

New Login OTP Email Settings

FieldDescription
Email SubjectSubject line that appears in customerโ€™s inbox
Email HeadingLarge heading text inside the email body
Verification MessageMain content with login details and OTP code
Footer ContentAdditional text displayed below the main content

New Login OTP Email Default Values

Default Value
New sign-in from {login_browser} on {login_device}
New sign-in from {login_browser} on {login_device}
(empty)

Default Verification Message Template

Hi {cev_display_name},

There was a new login to your {site_title} account from {login_browser} on {login_device}

We wanted to make sure it was you. Please verify your account using this OTP: {login_otp}

If you donโ€™t recognize this activity, please change your password right away.

Thanks

Available Placeholders for New Login OTP Email

PlaceholderDescriptionExample Output
{site_title}Your website/store nameMy Store
{cev_display_name}Customerโ€™s display nameJohn
{cev_user_verification_pin}The OTP verification code123456
{login_otp}The OTP code (alternative)123456
{login_browser}Browser name used for loginChrome
{login_device}Device type used for loginWindows
{login_time}Date and time of login attemptMarch 30, 2026 10:30 AM
{login_ip}IP address of login attempt192.168.1.1
{change_password}Link to change password page(clickable link)

How to Customize the New Login Authentication Email?

  1. In the customizer, click Email Content.
  2. Select Email Type: New Login Authentication from the dropdown.
  3. Edit the fields shown below.
  4. Click Publish to save changes.

New Login Authentication Email Settings

FieldDescription
Email SubjectSubject line that appears in customerโ€™s inbox
Email HeadingLarge heading text inside the email body
Verification MessageMain content with login details and security info
Footer ContentAdditional text displayed below the main content

New Login Authentication Email Default Values

FieldDefault Value
Email SubjectNew sign-in from {login_browser} on {login_device}
Email HeadingNew sign-in from {login_browser} on {login_device}
Footer Content(empty)

Default Verification Message Template

Hi {cev_display_name},

There was a new login to your {site_title} account from {login_browser} on {login_device}

We wanted to make sure it was you. Please check the details below:

Device: {login_browser}, {login_device}
Date: {login_time}
IP: {login_ip}

If you donโ€™t recognize this activity, please change your password right away.

Thanks

Available Placeholders for New Login Authentication Email

PlaceholderDescriptionExample Output
{site_title}Your website/store nameMy Store
{cev_display_name}Customerโ€™s display nameJohn
{login_browser}Browser name used for loginChrome
{login_device}Device type used for loginWindows
{login_time}Date and time of login attemptMarch 30, 2026 10:30 AM
{login_ip}IP address of login attempt192.168.1.1
{change_password}Link to change password page(clickable link)

Complete Email Placeholders Reference

All Available Placeholders by Email Type

PlaceholderRegistrationCheckoutEdit AccountLogin OTPLogin Auth
{site_title}โœ“โœ“โœ“โœ“โœ“
{cev_display_name}โœ“โœ“โœ“โœ“โœ“
{cev_user_verification_pin}โœ“โœ“โœ“โœ“โœ—
{login_otp}โœ—โœ—โœ—โœ“โœ—
{login_browser}โœ“โœ“โœ“โœ“โœ“
{login_device}โœ“โœ“โœ“โœ“โœ“
{login_time}โœ“โœ“โœ“โœ“โœ“
{login_ip}โœ“โœ“โœ“โœ“โœ“
{change_password}โœ—โœ—โœ—โœ“โœ“

Supported HTML Tags in Email Content

TagDescriptionExample
<a>Create links<a href="https://example.com">Click here</a>
<strong>Bold text<strong>Important</strong>
<i>Italic text<i>Note:</i>
<p>Paragraphs<p>Paragraph text</p>
<br>Line breaksLine 1<br>Line 2
  1. In the customizer, click Email Content.
  2. Select your desired Email Type from the dropdown.
  3. Scroll down to find the Footer Content field.
  4. Enter your footer text (HTML supported).
  5. Click Publish to save changes.

๐Ÿ’ก Tip: Each email type has its own footer content field, so you can customize different footer messages for each verification scenario.

How to Customize the Re-engagement Reminder Email?

↑ Back to top

The Re-engagement Reminder is the email sent to customers who started signing up but never finished email verification. Its subject, heading, body, CTA button, and footer are all editable through the Email Customizer โ€” the same place you customize the verification email and other CEV emails.

Before customizing, make sure the feature is enabled at Settings โ†’ Unverified Users โ†’ Maintenance โ†’ Send re-engagement reminder emails.

How to Open the Re-engagement Email in the Customizer?

↑ Back to top
  • Go toย Settings โ†’ Unverified Users โ†’ Maintenance.
  • Inside theย Re-engagement reminder emailsย card, clickย Customize email โ†’ย at the top.
  • The Email Customizer opens with the Re-engagement Reminder template pre-loaded in the preview pane.

Alternatively:

  • Go toย Customizeย tab in the plugin admin.
  • Open theย Email Contentย panel.
  • Change theย Email Typeย dropdown toย Re-engagement Reminder.

Available merge tags for Re-engagement email:

  • {site_title}ย โ€” your store name
  • {cev_display_name}ย โ€” the customerโ€™s display name (or empty for guest entries)
  • {cev_user_email}ย โ€” the recipientโ€™s email address
  • {registration_page_url}ย โ€” direct link to the My Account / sign-up page

Always run a Send test after editing โ€” some email clients render HTML differently, and seeing the email in your real inbox is the only way to confirm spacing, fonts, and the CTA button look right.

Compatibility

↑ Back to top

Customer Email Verification Pro is tested and compatible with many popular plugins and features.

How to Use with WooCommerce Checkout Blocks?

↑ Back to top

The plugin fully supports WooCommerce Checkout Blocks (Cart and Checkout blocks).

  1. Enable Checkout Verification in the plugin settings.
  2. For inline verification, the OTP field appears in the checkout block automatically.
  3. For popup verification, the modal displays when needed.

Note: If you experience issues with third-party themes using the Store API, enable โ€œDisable WooCommerce Store API Checkoutโ€ in settings.

How to Use with REST API Customer Creation?

↑ Back to top

When customers are created via the WooCommerce REST API, verification works as follows:

  • Customers created via API are marked as unverified by default
  • Verification email is sent to the customer
  • Customer must verify email on first login

Compatible Third-Party Plugins

↑ Back to top
PluginCompatibility Notes
Affiliate For WooCommerceFull support for affiliate registration verification
Smart ManagerBulk edit verification status
Email Customizer Pro by StoreAppsCustom email templates supported
CashierOne-page checkout compatible
YITH Customize My AccountCustom My Account layouts supported
Essential Addons for ElementorElementor login forms supported
CheckoutWCCustom checkout pages supported
CartFlowsFunnel builder checkout compatible

Developers

↑ Back to top

Hooks and filters available for developers to extend plugin functionality.

How to Check User Verification Status?

↑ Back to top

Use the following code to check if a user has verified their email:

$is_verified = get_user_meta( $user_id, 'cev_email_verified', true );

if ( $is_verified === '1' ) {
    // User is verified
}

How to Change the OTP Button Label?

↑ Back to top

Use this filter to customize the โ€œSend Verification Codeโ€ button text:

add_filter( 'cev_checkout_send_otp_button_text', function( $text ) {
    return 'Get Your Code';
});

Available Filters

FilterDescription
cev_checkout_send_otp_button_textChange the OTP button text
cev_verification_email_contentModify verification email content
cev_otp_code_lengthProgrammatically set OTP length

Translations

↑ Back to top

Customer Email Verification Pro (CEV PRO) is fully compatible with WPML, allowing you to translate all plugin strings into any language for your multilingual WooCommerce store.

How to Translate CEV PRO Using WPML ?

↑ Back to top

Customer Email Verification (CEV PRO) is fully compatible with WPML, allowing you to easily translate all CEV PRO-related strings into your desired languages. With the WPML update, you can now translate strings individually or in bulk, using the enhanced translation interface.

Translating CEV PRO Using WPML

WPMLโ€™s String Translation and Translation Management tools make it simple to localize CEV PROโ€™s strings for your multilingual store. Below are step-by-step instructions on how to translate CEV PRO strings both individually and in bulk.

Bulk Translation via WPML Translation Dashboard

To translate multiple CEV PRO strings at once:

  1. Log in to your WordPress dashboard.
  2. Navigate to WPML > Translation Dashboard.
  3. Scroll down to the Other texts (Strings) section.
  4. In the Filter by field, search for CEV PRO strings using any of the following key names:
    • cev_verification_header
    • cev_verification_message
    • cev_verification_widget_footer
  5. Once the relevant strings are displayed, you can translate them in bulk:
    • Select the checkboxes for all the strings you want to translate and click Translate your content.


At Step 2, choose your translation method. To quickly translate multiple strings, choose Translate automatically from the dropdown. For the best results, ensure your translation engine is Private Translation Cloud (PTC), WPMLโ€™s proprietary AI. The Translation Dashboard shows you the cost of automatic translation in euros and credits. If you want to translate strings yourself, choose Translate myself.

When ready, click Translate.

With automatic translation, youโ€™re all set! PTC translates your selected content in a few minutes. If youโ€™ve chosen to translate yourself, navigate to WPML > Translations to add your translations for each string.

Sync Your Translations

Once youโ€™ve translated the strings, ensure they are synced across your website. If youโ€™ve chosen to publish without review, WPML automatically applies translations. Otherwise, go to WPML > Translations to review translated content and publish.

Related Products

Let customers subscribe to your products or services and pay on a weekly, monthly or annual basis.

Protect your eCommerce store from malicious and automated attacks by using reCaptcha/Cloudflare Turnstile/hCaptcha for WooCommerce.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.