=== Customer Email Verification for WooCommerce ===
Contributors: wpcodefactory, omardabbas, karzin, anbinder, algoritmika, kousikmukherjeeli, aegkr
Tags: woocommerce, email, verification, email verification, woo commerce
Requires at least: 4.4
Tested up to: 6.8
Stable tag: 3.0.4
License: GNU General Public License v3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html

Enhance WooCommerce security and credibility with Email Verification best plugin. Ensure genuine customer interactions, eliminate spam, and elevate email marketing efficiency

== Description ==

> > “Amazing support and plugin: Support helped me integrate their plugin with another plugin and I am really grateful for it. The best verification plugin out there at the moment with awesome support” – ⭐⭐⭐⭐⭐  [mountainbirb](https://wordpress.org/support/topic/amazing-support-and-plugin-25/)

[Main Page](https://wpfactory.com/item/email-verification-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Main Page**") | [Support Forum](https://wpfactory.com/support/item/email-verification-for-woocommerce//?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Support Forum**") | [Documentation & How to](https://wpfactory.com/docs/email-verification-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Documentation & How to**") | [Demo](https://emailverificationwoo.instawp.xyz/shop/)

In the dynamic world of e-commerce, ensuring the authenticity and engagement of your customer base is crucial. 

That's where the "Email Verification for WooCommerce" plugin comes in, addressing a vital aspect of customer management. 

By integrating email verification into your WooCommerce setup, this plugin enhances the security and reliability of user registrations. 

It's designed not just to verify new users but also to streamline customer management for existing accounts. Let's take a quick look into how this plugin can transform your WooCommerce experience:

**1. New User Registration Verification:** New user accounts require email verification, bolstering the security and authenticity of each registration.

**2. Verification for Existing Users:** Have an existing user base? The plugin offers the flexibility to implement email verification for already registered users, enhancing the integrity of your existing customer base.

**3. Role-Based Verification Flexibility:** Skip the email verification process for selected user roles, allowing you to customize the verification process based on user hierarchy.

**4. Customizable Emails & Messages:** Tailor the verification messages displayed to users on your site and emails, ensuring a seamless and brand-consistent experience on the frontend of your store.

**5. Admin Control and Management:** Admins gain significant control, including options to manually verify or unverify users, resend activation links, and even delete unverified users either manually or on an automated schedule.

By integrating these features, the "Email Verification for WooCommerce" plugin not only secures your user registration process but also offers significant flexibility and control in managing your customer base.


___
## 🤝 Recommended By##

* [ThriveDesk: Best WooCommerce Email Verification Plugins in 2024](https://www.thrivedesk.com/woocommerce-email-verification-plugin/ "ThriveDesk: Best WooCommerce Email Verification Plugins in 2024")
* [YayCommerce: How to Validate Email Address in WooCommerce](https://yaycommerce.com/how-to-validate-email-address-in-woocommerce/ "YayCommerce: How to Validate Email Address in WooCommerce")
* [WPGlob: Best WordPress Email Verification Plugins for Your Business](https://wpglob.com/best-wordpress-email-verification-plugin-for-your-business/ "WPGlob: Best WordPress Email Verification Plugins for Your Business")
* [LearnWoo: Why and How to Protect WooCommerce Order Page](https://learnwoo.com/protect-woocommerce-order-page-ip-address/ "LearnWoo: Why and How to Protect WooCommerce Order Page")
* [Edward Le - LinkedIn: Top 3 Best WooCommerce Email Verification Plugins](https://www.linkedin.com/pulse/top-3-best-woocommerce-email-verification-plugins-edward-le "Edward Le - LinkedIn: Top 3 Best WooCommerce Email Verification Plugins")
* [WhiteWP: The Best WordPress Email Verification Plugins to Confirm Contact Information](https://whitewp.com/wordpress-email-verification/#email-verification-for-woocommerce "WhiteWP: The Best WordPress Email Verification Plugins to Confirm Contact Information")


## 🚀 Main Features: FREE Version##


### 🚀 Verify Customers Emails on Signup ###

* Require new users to verify their emails on signup
* Block login from unverified users
* Login the user automatically after the account is verified
* Verify guest user billing address on checkout

### 🚀 Enforce Email Verification for Current Customers ###

* Enforce all your current users to verify their email addresses before logging back in to your store
* Resend verification emails by admin when needed 

### 🚀 Skip Validation based on user role () ###

Select to skip validation for any user role based on your store needs (wholesalers, admins, authors, etc.)

### 🚀 Add Verification status to "My Account" Page ###

* Show account verification info on "My Account" page
* Add account verification info widget
* Customize verification message text (Pro)

### 🚀 Control Redirection On Verification Status ###

* Redirects customers after **successful** verification
* Select where to redirect: Homepage, "My Account", Shop, previous URL or Custom URL
* Redirects customers after **unsuccessful** verification
* Select a custom URL after unverified customer tries to login

### 🚀 Control Activation/Verification Link Expiration ###

* Expire link immediately after first click
* Define a custom period (in seconds, days) when the link will be expired (Pro)
* Customize text message to show when has expired (Pro)

### 🚀 Activation Email Customization ###

The plugin allows you to effortlessly customize emails that will be sent to your customers to activate their accounts, you can:

* Delay WooCommerce "Customer new account" email until account is verified
* Select to customize the email from plugin template, or create new email type in WooCommerce >> Emails 
* Select from 15+ placeholder (like site_title, user_id, user_email) to be used in email subject & body
* Choose to send separate activation email or embed it in the standard WooCommerce "Customer new account" email
* Configure your preferred mail function (PHP, WordPress, WooCommerce)

### 🚀 Verification Confirmation Email Customization ###

Once your customers are verified, you can customize the confirmation email that will be sent to them, you can:

* Send a verification email immediately once customer activates their account
* Delay sending the emails so customers don't get too many emails in short time
* Send notification email to admin (or any email) when a user is manually verified by admin
* Customize admin email title & body

### 🚀 Block Unverified Users ###

* You can block content for unverified users (including guests) by preventing access to any page of your site
* Block non-paying users: Block activation link until the customer places an order and its status is considered paid
* Check & Logout unverified users on "My Account" page or any other page

### 🚀 Handy Admin Tools ###

* Allow any user role (non admins) to manage & interact with the admin interface of the plugin
* Add a "Verified" column in "All users" page
* Filter users on "All users" page based on verification status
* Add links for manual email verification, un-verification and email resend by admin
* Bulk action options to Resend email, Verify, or Un-verify users in "All users" page

### 🚀 Customize Verification Messages ###

Once your user clicks on activation link, you can customize messages that appear based on activation status, you can customize:

* Success messages appearing after customer verifies their account
* Messages appearing after signup if you block login for unverified users
* Failed activation messages (expiry, broken link, etc) and include a %resend_verification_url%
* Resend link, error & already-verified messages

### 🚀 Delete Unverified Users (Manual & Automatic) ###

* Delete unverified users from the database for one time
* Delete unverified users from the database automatically (Hourly, Daily, Twice a day, Weekly)

### 🚀 More Advanced Options ###

* More options to control authentication filters, auth cookies, custom logout function
* Encoding options (Base64 or HashIDs)
* Prevent user automatic login after registration on "My Account" page
* Prevent user automatic login after registration on "Checkout" page

> “Excellent Support + Plugin: As the title states, brilliant plugin with great free functionality – support was excellent and very helpful in solving a customisation issue.” – ⭐⭐⭐⭐⭐ [Masidus](https://wordpress.org/support/topic/excellent-support-plugin-15/)

> “Good flexibility and support: Plugin does what it says, and provides lots of configuration options. Had a minor issue that required support, and the problem was resolved very quickly, with great communication. Highly recommended.” – ⭐⭐⭐⭐⭐ [reefables](https://wordpress.org/support/topic/good-flexibility-and-support/)

___
## 🏆 Do More: PRO Version##

All what's listed above (and more) is available in the free version, but for those who would like to go further and beyond, we have a premium version of [Customer Email Verification for WooCommerce](https://wpfactory.com/item/email-verification-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme) plugin.

🏆 The Pro version unlocks more advanced features like:

### 🏆 Block Content for Unverified & Guest Users  ###

* Block unverified users from accessing specific products
* Block unverified users from accessing all shop pages, categories, tags, or cart
* Block by custom URLs
* Customize messages appearing when unverified customers try to access blocked content
* Blocks checkout process for unverified users
* Blocks guests from adding any products to the cart
* Block WooCommerce order emails for all non-verified users
* Block account verification by email (and customize the message for them)
* Block "Thank you" (i.e. "Order received") page access for non-verified users

### 🏆 Customization Options  ###

* Verify the user on password reset
* Verify customers as soon as any of their non-free orders are considered paid
* Unverify, logout and resend activation link when a customer changes their email
* Customize email template to be used (Plain, WooCommerce, or Smart)
* Customize titles, heading & content for activation & verification emails
* REST API: Add endpoint allowing to verify users via REST API
* Premium support


### 🏆 Compatibility Options  ###

Our plugin offers several compatibility options with third party plugins, like:

* [WooCommerce Social Login](https://woocommerce.com/products/woocommerce-social-login/ "WooCommerce Social Login") by SkyVerge
* [WooCommerce Social Login](https://codecanyon.net/item/woocommerce-social-login-wordpress-plugin/8495883 "WooCommerce Social Login") by wpweb
* [Super Socializer](https://wordpress.org/plugins/super-socializer/ "Super Socializer") by Team Heateor
* [MyListing](https://themeforest.net/item/mylisting-directory-listing-wordpress-theme/20593226 "My Listing") theme by 27collective
* [Nextend Social Login](https://wordpress.org/plugins/nextend-facebook-connect/ "Nextend Social Login") by Nextendweb
* [WooMail](https://codecanyon.net/item/email-customizer-for-woocommerce-with-drag-drop-builder-woo-email-editor/22400984 "WooMail") by CidCode (to append verification email with their email)
* [Polylang](https://wordpress.org/plugins/polylang/ "Polylang") (multi-language) compatibility
*  [Essential Addons for Elementor](https://essential-addons.com/elementor/ "Essential Addons for Elementor") by WPDeveloper
* [Email Customizer for WooCommerce](https://themehigh.com/product/woocommerce-email-customizer "Email Customizer for WooCommerce") by Themehigh
* [Email Customizer for WooCommerce](https://villatheme.com/extensions/woocommerce-email-template-customizer/ "Email Customizer for WooCommerce") by VillaTheme
* [Paid Memberships Pro](https://wordpress.org/plugins/paid-memberships-pro/ "Paid Memberships Pro")
* [YayMail - WooCommerce Email Customizer](https://wordpress.org/plugins/yaymail/ "YayMail - WooCommerce Email Customizer") by YayCommerce
* [WoodMart](https://themeforest.net/item/woodmart-woocommerce-wordpress-theme/20264492 "WoodMart") theme by xtemos

And much more to come soon.

___
## 💯 Why WPFactory?##

* **Experience You Can Trust:** Over a decade in the business
* **Wide Plugin Selection:** Offering 65+ unique and powerful plugins
* **Highly-Rated Support:** Backed by hundreds of 5-star reviews
* **Expert Team:** Dedicated developers and technical support at your service

___

## What's Next? Discover More Plugins by WPFactory ##

WPFactory has a diverse range of plugins tailored to enhance your experience, some of our top-selling plugins are:

* [**Min Max Step Quantity**](https://wpfactory.com/item/product-quantity-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Min Max Step Quantity**"): Set minimum, maximum, step, and default product quantities, including dropdowns and decimal options on WooCommerce (**[Free version](https://wordpress.org/plugins/product-quantity-for-woocommerce/ "Free version")**)

* [**Cost of Goods for WooCommerce**](https://wpfactory.com/item/cost-of-goods-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Cost of Goods WooCommerce**"): Enhance profit maximization and financial management by accurately calculating your WooCommerce store's COGS (**[Free version](https://wordpress.org/plugins/cost-of-goods-for-woocommerce/ "Free version")**)

* [**Maximum Products per User**](https://wpfactory.com/item/maximum-products-per-user-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Maximum Products per User**"): Impose personalized purchase limits based on user roles and date ranges to manage customer buying behavior (**[Free version](https://wordpress.org/plugins/maximum-products-per-user-for-woocommerce/ "Free version")**)

* [**Order Minimum/Maximum Amount**](https://wpfactory.com/item/order-minimum-maximum-amount-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Order Minimum/Maximum Amount**"): Customize order limits by amount, quantity, weight, or volume, including user role, category, and more (**[Free version](https://wordpress.org/plugins/order-minimum-amount-for-woocommerce/ "Free version")**)

* [**EU/UK VAT Manager for WooCommerce**](https://wpfactory.com/item/eu-vat-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**EU/UK VAT Manager for WooCommerce**"): Automate VAT compliance for your WooCommerce store, including settings and VIES validation for a seamless experience (**[Free version](https://wordpress.org/plugins/eu-vat-for-woocommerce/ "Free version")**)

* [**Email Verification for WooCommerce**](https://wpfactory.com/item/email-verification-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Email Verification for WooCommerce**"): Boost security and credibility by verifying customer emails, reducing spam, and improving email marketing (**[Free version](https://wordpress.org/plugins/maximum-products-per-user-for-woocommerce/ "Free version")**)

* [**Free Shipping Over Amount for WooCommerce**](https://wpfactory.com/item/amount-left-free-shipping-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Free Shipping Over Amount for WooCommerce**"): Encourage higher spending by offering free shipping based on amount, with a progress bar for customers (**[Free version](https://wordpress.org/plugins/amount-left-free-shipping-woocommerce/ "Free version")**)

* [**Dynamic Pricing & Bulk Quantity Discounts**](https://wpfactory.com/item/product-price-by-quantity-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme "**Dynamic Pricing & Bulk Quantity Discounts**"): Advanced dynamic pricing and discount rules for WooCommerce, encouraging bulk purchases and driving more sales (**[Free version](https://wordpress.org/plugins/wholesale-pricing-woocommerce/ "Free version")**)
___
## ❤️ User Testimonials: See What Others Are Saying!##

> “The best verification plugin at the moment with amazing support - they helped me with compatibility with Yaymail.” – ⭐⭐⭐⭐⭐ [Mr Bird](https://wpfactory.com/item/email-verification-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme)

> “Friendly Author fast response to fixed the problems and high efficiency to dev "Smart" template.” – ⭐⭐⭐⭐⭐ [pvpasia](https://wpfactory.com/item/email-verification-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme)

> “Very good plugin, which is perfectly suited to WooCommerce. The support is really responsive and very competent! Do not hesitate to invest in this plugin if you want to set up an activation system.” – ⭐⭐⭐⭐⭐ [Michel Pompas](https://wpfactory.com/item/email-verification-for-woocommerce/?utm_source=wporg&utm_medium=organic&utm_campaign=readme)

> “Excellent Plugin: Great plugin, it works perfectly, it’s light and has great management options. Fantastic support as well. It’s worth it!” – ⭐⭐⭐⭐⭐ [Therus](https://wordpress.org/support/topic/excelent-plugin-445/)

== Frequently Asked Questions ==
= User registration clears shopping cart? =
If your cart is getting empty after a new account is created, there are some things you could try:
 - Enable the option **Advanced > Custom logout function**.
 - Set the **Advanced > Prevent login after register > Login prevention method** option as **Use login filter from WooCommerce**.

= When a user registers, it gives an error. How can I fix it? =
Set the **Advanced > Prevent login after register > Login prevention method** option as **Use login filter from WooCommerce**.

= How to eliminate spam registrations? =
If you use some options combined, you'll be able to remove the unverified users automatically, eliminating spam registrations.
This is what you can do:

- Disable **General > Enable email verification for already registered users** (This is optional, however it's more safe)
- Enable **Advanced > Delete users automatically**
- Set **General > Expire time** (This is optional but it's more safe, because you'll be removing only unverified users whose activation have expired. This is a [Pro](https://wpfactory.com/item/email-verification-for-woocommerce/) feature though)

= What can I do if I get a 403 error or have issues when trying to save settings? =
Some servers have security solutions that do not allow saving settings with HTML tags.
You can try to contact them asking to disable it, or you can try our option:

- **Advanced > Replace HTML tags**

It will try to convert the angle brackets from HTML tags by other characters.
After that, you'll just need to save the settings page once more. On the frontend the characters will be converted to HTML tags again.

= Why the activation message ("Thank you for your registration...") is not getting displayed after registration? =
Please try to make sure that at least one of the above options are enabled.
If just some of them are already enabled and even so it doesn't work, try to enable all of the them:

-  **Advanced > Prevent login after register**
-  **Advanced > Prevent login after checkout**
-  **Logout unverified users on "My Account" page**
-  **Logout unverified users on every page**

= How to prevent duplicated success message after account verification? =
Please try to use **General > Redirect on success** option as **Do not redirect**

= If a unverified user tries to login how to priorize verification error message over incorrect password ? =
Try to set the **Advanced > Authenticate filter** option as **authenticate filter**

= What can I do if the error messages are not showing? =
If an unverified user is trying to login and the error message (Your account has to be activated before you can login...) is not getting displayed you can try two different approaches:

1. Use the **Redirect on failure** option.
Even if the **Custom redirect URL** option is empty, there will be no problem.
A `?alg_wc_ev_email_verified_error` argument will be added to the URL that could help you displaying the message.

2. Change the **Advanced > Authenticate filter** option.

= How to use the alg_wc_ev_verification_status shortcode ? =
You can use the `[alg_wc_ev_verification_status]` shortcode to display the verification status, showing if current user is verified or not.
Params for the `[alg_wc_ev_verification_status]` shortcode:

- **wrapper_template**: `<div class="alg-wc-ev-verification-status">{content_template}</div>`
- **content_template**: `Verification status: {verification_status}`
- **verified_status**: `Verified`
- **unverified_status**: `Unverified`
- **hide_if_verified**: `false`
- **hide_for_guests**: `false`

**wrapper_template** params:

- **{content_template}**

**content_template** params:

- **{verification_status}**
- **{user_display_name}**
- **{user_nicename}**

= How to use the alg_wc_ev_resend_verification_url shortcode ? =
You can use the `[alg_wc_ev_resend_verification_url]` shortcode to display a message with a link to the verification url.
Params for the `[alg_wc_ev_resend_verification_url]` shortcode:

- **wrapper_template**: `<div class="alg-wc-ev-resend-verification-url">{content_template}</div>`
- **content_template**: `You can resend the email with verification link by clicking <a href="{resend_verification_url}">here</a>.`
- **hide_if_verified**: `true`
- **hide_for_guests**: `false`

**content_template** params:

- **{resend_verification_url}**

= How to use the alg_wc_ev_email_content_placeholder shortcode ? =
You can use the `[alg_wc_ev_email_content_placeholder]` shortcode to append the verification email to some custom email template.
In order to use it, it's necessary to:

- Enable the option **Email > Activation email > Fine tune activation email placement**
- Disable the option **Email > Activation email > Send as a separate email**
- Most probably the option **Emails > Activation email > Email template** should be set as **Plain**

Params for the `[alg_wc_ev_email_content_placeholder]` shortcode:

- **user_email**

== Installation ==

**Follow these simplified steps to get your plugin up and running:**

**From the WordPress Admin Panel:**
1. Navigate to “Plugins” > “Add New”.
2. Use the search bar and find the plugin using the exact name.
3. Click “Install Now” for the desired plugin.
4. Once the installation is finished, and click “Activate”.

**Manual Installation Using FTP:**
1. Download the desired plugin from WordPress.org.
2. Using your preferred FTP client, upload the entire plugin folder to the /wp-content/plugins/ directory of your WordPress installation.
3. Go to “Plugins” > “Installed Plugins” in your dashboard and click “Activate”.

**Manual download & upload from the WordPress Admin Panel:**
1. Download the desired plugin in a ZIP format.
2. On your site, navigate to “Plugins” > “Add New” and click the “Upload Plugin” button.
3. Choose the downloaded plugin file and click “Install Now.”
4. After the installation is complete, click “Activate”.

**Post-Activation:**
Once activated, access the plugin's settings by navigating to “WooCommerce > Settings” and look for the relevant tab.

== Changelog ==

= 3.0.4 - 07/05/2025 =
* Fix - Guest users - Improved unverified user message.
* Fix - Guest users - Fixed invalid nonce message.
* Dev - Guest users - Added option to set up the unverified user message.
* Dev - Guest users/Block checkout - Improved unverified user detection on checkout by trying to handle smart buttons like Paypal or Google Pay.

= 3.0.3 - 30/04/2025 =
* Fix - Fixed a security vulnerability issue.
* WC tested up to: 9.8.
* Tested up to: 6.8.

= 3.0.2 - 09/04/2025 =
* Dev - Email - Added new option to set the From email address.

= 3.0.1 - 07/04/2025 =
* Fix - Blocking - Block checkout - Verified guest users were asked to log in.

= 3.0.0 - 18/03/2025 =
* Dev - Advanced - Prevent login after checkout - Improved notice display.

= 2.9.9 - 04/03/2025 =
* Fix - Translation loading was triggered too early.

= 2.9.8 - 28/02/2025 =
* Fix - User was getting verified from Guest even if guest option was disabled.
* WC tested up to: 9.7.

= 2.9.7 - 15/02/2025 =
* Fix - Fixed a security vulnerability issue.
* Fix - Guest users - Already existing emails was not getting tested.
* Fix - Guest users - The newly registered user was not being verified if the guest email had already been verified.
* Dev - Guest users - Code refactoring.

= 2.9.6 - 10/02/2025 =
* Fix - Fixed a security vulnerability issue.

= 2.9.5 - 29/01/2025 =
* Fix - Fixed a security vulnerability issue.

= 2.9.4 - 28/01/2025 =
* Dev - Improved Composer loading by delaying its initialization.
* WC tested up to: 9.6.

= 2.9.3 - 17/01/2025 =
* Dev - Messages - Guest checkout email verification -  Added options for customizing text and messages related to guest checkout email verification.
* Add - General Options - Token Verification option.
* Dev - Added nonce verification for send/resend verify email in checkout.
* Dev - Code refactoring.
* WC tested up to: 9.5.

[View older changelog entries](https://plugins.svn.wordpress.org/emails-verification-for-woocommerce/trunk/changelog-older.txt)

== Upgrade Notice ==

= 1.0.0 =
This is the first release of the plugin.