About this plugin
Double Opt-In adds a mandatory email verification step to your Contact Form 7 forms.
When a visitor submits your form, the original mail is not sent immediately. Instead, the plugin:
- Stores the submission in a secure database table.
- Sends a confirmation email with a unique, time-limited link.
- Only after the visitor clicks that link is the original form mail delivered.
This ensures:
- Only valid, verified email addresses reach your inbox.
- GDPR / DSGVO requirements are met with proper consent tracking, IP logging, and data retention.
- Your database stays clean and reliable — no fake or mistyped addresses.
- The form mail arrives after the confirmation — every action that runs after the click is recorded, and temporary failures are retried automatically.
Out-of-the-box support for Contact Form 7. Additional form systems — Avada, Elementor, Gravity Forms, WPForms — are available as separate addon plugins.
How It Works
- A visitor fills out your Contact Form 7 form and clicks submit.
- The plugin intercepts the submission, stores the form data, and generates a unique hash.
- A confirmation email is sent to the visitor’s email address containing a verification link.
- The visitor clicks the link. The plugin verifies the hash, marks the opt-in as confirmed, and sends the original form mail (as if the form was just submitted).
- The confirmed opt-in is logged in the admin dashboard with timestamps and IP addresses for full GDPR compliance.
Quick Start
After activation, a setup wizard asks for the sender, the forms that should ask for confirmation, the confirmation email and the page visitors see after the click. Everything is prefilled; it takes about three minutes and can be skipped.
Read the Quick Guide
Free Features
- Double Opt-In for Contact Form 7 — per-form activation with full CF7 integration
- Centralized Form Settings — manage all form integrations from a single admin panel
- Built-In Email Designs — write the confirmation email per form and pick one of three ready-made HTML layouts, or send it plain
- Resend Confirmation — resend the confirmation email to a single recipient from the opt-in detail view
- Custom Confirmation Pages — redirect users to a specific page after confirmation
- Dynamic Conditions — enable opt-in based on user input (e.g. only when a checkbox is checked)
- Delete Confirmation Modal — safety dialog before deleting an opt-in record to prevent accidental deletion
- GDPR Consent Export — export individual consent records as JSON or CSV directly from the opt-in detail view
- CAPTCHA Compatibility — automatically bypasses Forge12 Captcha, Google reCAPTCHA, and hCaptcha during opt-in confirmation to ensure mail delivery
- Rate Limiting — configurable IP and email rate limits to prevent abuse
- Error Redirect Page — redirect users to a custom page when an opt-in error occurs (rate limit, invalid email)
- Token Expiry — confirmation links expire after a configurable time period
- GDPR Data Storage — tracks Form ID, Email, Registration/Confirmation Date & IP, Consent Text
- GDPR Anonymization — anonymize personal data instead of deleting it
- WordPress Privacy Tools — integrates with WordPress personal data export and erasure requests
- Automatic Cleanup — configurable auto-deletion of confirmed and unconfirmed entries
- Category System — organize opt-ins into categories for better management
- Pagination & Search — search and filter opt-in records in the admin dashboard
- Admin Tooltips — contextual help tooltips throughout the admin interface
- WordPress Multisite — network-wide activation creates tables on all sites automatically
- Developer Hooks — 48 action hooks, 86 filters, and 13 typed events for full extensibility
Pro Features
Unlock the full potential of Double Opt-In with the Pro version:
Additional Form Integrations:
- Double Opt-In for Elementor Forms — seamless integration with Elementor’s form widget
- Double Opt-In for WPForms — full support for WPForms submissions
- Double Opt-In for Gravity Forms — complete Gravity Forms integration
Email Validation & Spam Protection:
- Unique Email Validation — prevent duplicate submissions per email address (block, silent, or redirect mode)
- MX Validation — verify that the email domain has a valid mail server before sending
- Domain Blocklist — block disposable and temporary email domains
Email & Communication:
- Double Opt-Out System — unique opt-out links per submission with confirmation emails
- Opt-In Reminder System — automatic reminders for unconfirmed opt-ins via cron
- Visual Email Editor — drag & drop block editor with live preview and mobile preview, template presets, unlimited saved templates and test emails
- Conditional Email Templates — dynamic content blocks based on form data
- Multi-Column Layouts — 2-column, 3-column, and sidebar layouts in the email editor
- Image & Social Blocks — add images and social media icons to your emails
Analytics & Export:
- Analytics Dashboard — charts and statistics for opt-in/opt-out rates
- CSV Export — export all opt-in records for external processing
User Management:
- Auto User Creation — automatically create WordPress users after opt-in confirmation with configurable role assignment
Support:
- Premium Support — priority email support
Privacy & Telemetry
7 the plugin no longer transmits any telemetry. The daily
job that used to send a usage snapshot has been removed, and an update also
removes it from the WP-Cron schedule of sites that already had it.
Usage counters (how many opt-ins were confirmed, for example) are still kept,
but they never leave the site. They are stored in a single WordPress option and
are used only in the admin — for instance to decide whether the plugin has been
useful long enough to ask you for a review.
We never sell or share data.
GDPR / DSGVO Compliance
- No personal data, no cookies, no user tracking.
- Nothing is sent to any external server. Counters stay in your database and are
removed when you uninstall the plugin.
- The telemetry setting under Double Opt-In > Settings is retained: should
transmission ever be reintroduced, it will be honoured before anything is sent.
Bundled assets
The admin interface uses the Inter typeface. It is self-hosted — the font
file is embedded in the plugin’s own admin bundle, so opening the plugin’s
screens does not contact Google Fonts or any other third party. Inter is
txt).