If the verification link is missing or the layout is broken, check how Customer Email Verification for WooCommerce builds the message at WPFactory > Email Verification (also reachable at WooCommerce > Settings > Email Verification) > Email: the template, whether it is sent separately or appended to “Customer new account”, and any customizer or SMTP service that rewrites HTML.
Symptoms #
- The email arrives as plain text or without the “click here” link or button.
- Clicking the link does nothing or shows the Failed notice.
- WooCommerce header and footer are missing or duplicated.
How the verification email is built #
| Setting (Email sub-tab) | Default | Free/Pro | Effect |
|---|---|---|---|
| Email template | Plain | Pro (Free uses Plain) | Plain, WooCommerce, or Smart (plain when appended, WooCommerce when separate). |
| Send as a separate email | Yes | Free | Off appends the link to the “Customer new account” email instead. |
| Email content | “Please click here to verify your email on %site_title%.” | Pro | Holds the link, built from %verification_url%. |
| Email wrap method | Manual | Free | How the WooCommerce header and footer are added when the template is WooCommerce or Smart. |
Fix, step by step #
- Check the raw message. In the email client, use “Show original” or “View source” and search for the verification URL. If it is there, the client or a filter is stripping the link, not the plugin.
- Add a plain-text fallback (Pro). In Email content, add a line such as:
If the link does not work, copy this address into your browser: %verification_url%. - If the link is appended to the new account email (Send as a separate email off), an email customizer may be replacing that template. Turn Send as a separate email back on, or enable the matching option in the Compatibility sub-tab (Pro) for WooMail, YayMail, Email Customizer by Themehigh or by VillaTheme.
- Layout broken with the WooCommerce template: switch Email wrap method between Manual and Native.
- Test with two providers, for example Gmail and Outlook. If one strips the link, the SMTP or mail service may be rewriting HTML. Send a test through a different route to confirm.
If the link opens but verification fails #
- The link was already used. General > One-time activation link is on by default, so a second click shows the Failed message.
- An older email was used. Every resend creates a new code, so ask the customer to use the newest email.
- The link expired. With Expire time set (Pro, default 0 = never), old links show the Expire notice with a resend link.
FAQ #
Can I edit the verification email in the free version? #
The free version sends the default Plain email. Editing the subject, heading and content, and choosing the WooCommerce or Smart template, needs Pro.
Which placeholder is the verification link? #
%verification_url%. It is available in the activation email content. See Email and Message Placeholders Reference.
Why do my settings with HTML fail to save? #
Some security filters block HTML in form posts. Enable Advanced > Replace HTML tags, then re-open the settings page.
Related: Verification Email Not Delivered or Delayed and Customizing the Verification Emails.
Need a hand? Our team answers every ticket on the Email Verification support forum.
