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.

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

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.

Customer Management

↑ Back to top

Manage customer verification status and perform bulk actions from the WordPress admin.

How to View Customer Verification Status?

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

How to Manually Verify a Customer?

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

How to Resend Verification Code?

↑ Back to top
  1. Go to WordPress โ†’ Users.
  2. Find the unverified customer.
  3. Click the Resend Verification action link.

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.