Best selling GF double opt-in addon worldwide

Double Opt In for Gravity Forms

Verify the users of your forms. After that, perform different actions.


Double Opt-In

E-Mail address confirmation by clicking a link. Success message via URL or WP page.

Spam protection

Only confirmed form entries will be forwarded to the recipient. Ciao ciao, Spam!

GDPR compliant

Timestamp of the confirmation can be used for documentation of the double-opt-in.

Optional Autopurge

Entries can be deleted after a specific period if not confirmed or needed anymore.

Logic conditions

"Only forward that GF entry to Mailchimp, trello or my CRM if user opted in."

Variable link expiration

Confirmation link can expire after specific time. User gets a URL or WP page as target.

Compatible to Add-Ons

Can be used with all current GF add-ons (slack, trello, webhooks, newsletter, CRMs, ...)

Multiple confirmation

Each time or once for all - you decide how often a confirmation is needed.

Post status change

Change a post status from draft to pending or public after verification

Description & Screenshots

Versatile verification options

The verification of an e-mail address can be activated separately for each form.

The most important settings are, for example, the choice of the target page after confirmation and whether verification should take place again each time or whether it is sufficient if the user of a particular e-mail address performs this once for this form and does not have to provide any further confirmations in the future.

Should a different destination be displayed in the email when the confirmation link is clicked again?

Link validity is useful, for example, for sweepstakes where the user must confirm their entry within a period of, say, 3 hours using a real email address.

Should (un)confirmed entries be automatically deleted after a certain time because they are no longer needed? This is mandatory according to GDPR and can be conveniently automated here.

The change of a post status, which was created via the integrated functions of Gravity Form, can also be set here.

View of (verified) entries and export

A green checkmark indicates verification. However, form entries are also saved before verification (this cannot be bypassed due to Gravity Forms). These can be deleted automatically if no verification takes place within a certain time. 

The new columns “Verified date” and “Verified IP” document the exact time of verification or confirmation via link click as well as the IP address that was used.

Of course, the verification details are also displayed when the entries are exported and can then be processed further.

Entries now show status, date and IP of verification

Notification configuration with new events and variables

After installing the add-on, three new events and new variables are available for notifications and confirmation link generation:

1. “Send verification email to user“: This message must contain the confirmation link {confirmation_link} or URL (with {confirmation_url}, for buttons or graphics).

2. “Repeated, delayed confirmation request to users who have not yet confirmed“: This message can be resent with an arbitrary interval on an hourly basis up to five times to remind the user to confirm (optional).

3. “Send after verification“: This message is sent once the sender has confirmed their email address by clicking on the link.

Other possible placeholders for notifications are {confirm_hash}, {verification_date} and {verification_ip}

Compatibility with other add-ons

Other addons, such as Zapier, Webhooks, Slack, Trello, Mailchimp or Salesforce can be addressed via conditions within their settings, once the confirmation per click has been made.

Thus, it is possible to link conditional actions to other services as well.

Important: Other plugins must have conditions implemented after Gravity Forms for this to work. This is the case for most add-ons.

Usage of conditions in 3rd party add-ons


Enter an email address of your choice to be verified. You will then receive an email with a confirmation link. Once you click on this link, a second email with the verification timestamp and your IP address will be sent to the same email address. Just try it out now!

Easy Demo Form englisch

"*" indicates required fields

Mail address that should be used for double-opt-in test. Your entry will be deleted in 72 hours automatically.
This field is for validation purposes and should be left unchanged.

Select the right license

License for 1 domain

CHF 68.36

exkl. MwSt./Jahr
Excluding 19% tax

100 Domains

CHF 137.71

exkl. MwSt./Jahr
Excluding 19% tax

Lifetime 100 Domains

CHF 393.32

exkl. MwSt., einmalig
Excluding 19% tax

Our customers love our service!

Max Gerring
Max Gerring
Read More
Friendly, capable and very helpful. A short call was enough to have the update ready in just 1 day. Mega support!
Marcial Bollinger
Marcial Bollinger
Read More
Fast and helpful service and support with the Double Opt-In Plugin for Gravity forms!
Astrid Göschel
Astrid Göschel
Read More
The Double Opt-In addon works just a charm. Very good support with a small problem I created. I submitted a ticket in the morning and the problem was solved five hours later. You don't see such fast support very often.
Toby Zag
Toby Zag
Read More
Great Add-on! Why Gravity forms hasn't included this already? We connect Slack and Trello with it now and are spam-free.
Timo Kannegiesser
Timo Kannegiesser
Read More
Albert does a great job with this add-on. I would recommend his service to everyone who is dealing with forms on the website and want to be sure only real requests are coming through.
Chris Perian
Chris Perian
Read More
From add-on came other work and now me and Albert are working on several projects together. 100% reliable, fast. He has a big knowledge about WordPress and the web.
Enzo Paolo
Enzo Paolo
Read More
Finally we can have users to verify their mail addresses when they use Gravity forms on our website. Greatly needed and much appreciated.

- Runs on thousands of websites -

The #1 Double Opt plugin for Gravity Forms worldwide!


Video is in preparation…

Preparatory steps

  1. Upload the addon to your WordPress backend and activate it
  2. Create a new form or use an existing one and switch to form settings

Step-by-step instructions:

1. Activate the function in the form settings:

After that, specify whether the confirmation page for the sender should point to an internal WordPress page or to a URL (this is the page that the sender will see when he confirms his mail address). If you haven’t created a page for this yet, you can do that before.

Also set the setting for the rest of the options you see:

2. Adjust the text for the confirmation after sending so that the sender knows what to do

3. Prepare the notifications

First, a mail must be sent to the sender, then after its confirmation the recipient will receive the mail. A third notification can be created in case of a reminder. In the end, your list should look like this:

Go to Notifications and create a new notification for the confirmation mail. Select “Send verification email to user” as the event. Make sure that the {confirmation_url} or {confirmation_link} placeholder appears somewhere in your text, as it will be converted to a link afterwards (it is also accessible from the dropdown menu to the right of the text field) – something like this (text or HTML view, respectively):

Now test your settings and check if all mails are sent as scheduled.

Download the update directly from your account.

Version 2.5.9 – 2023/02/08

  • Fixed: Email case insensitive verification

Version 2.5.8 – 2023/01/18

  • Fixed: Multisite license activation

Version 2.5.7 – 2022/10/11

  • Fixed: Double check widget global enable setting and individual GDPR entries deletion settings before deleting entries

Version 2.5.6 – 2022/09/16

  • Fixed: License verification algorithm changed on WordPress multisite installation

Version 2.5.5 – 2022/08/17

  • Fixed: Replacement of {verification_ip} merge tag in notifications

Version 2.5.4 – 2022/04/06

  • Fixed: Extra compatibility fixes with certain hosting environments

Version 2.5.3 – 2022/04/05

  • Fixed: Re-sending confirmation compatibility with certain hosting environments

Version 2.5.2 – 2022/03/09

  • Added: Improvements in sending delayed notification
  • Added: Translation updates

Version 2.5.1 – 2022/03/07

  • Fixed: Add admin notification for legacy events

Version 2.5.0 – 2022/03/07

  • Added: New event für repeating confirmation requests
  • Added: Entry managements improvements
  • Added: Filters options for verified and un-verified entries
  • Fix: Layout adjustments for compatibility with GF 2.5
  • Fix: Translation updates

Version 2.0.7 – 2021/09/06

  • Fix: Admin entry resend notifications incompatibility.

Version 2.0.6 – 2021/08/30

  • Fix: Remove validation on email fields if add-on is disabled
  • Optimize: Replace confirmation hash with sha256 encryption

Version 2.0.5 – 2021/06/11

  • Fix: Admin dismiss plugin notifications

Version 2.0.4 – 2021/06/08

  • Fix: Admin JavaScript hooks called based on new Gravity Form 2.5 documentation

Version 2.0.3 – 2021/05/18

  • Fix: Syntax error on older PHP versions

Version 2.0.2 – 2021/05/17

  • Optimize: Javascript files enqueued only if needed

Version 2.0.1 – 2021/05/15

  • Fix: Warning showed in admin after Gravity Form 2.5 upgrade.

Version 2.0 – 2021/04/09

  • New: Add a resend notification link.
  • Fix: Sanitize input values.

Version 1.9.6 – 2021/03/19

  • New: Option to prevent form submission if email address is already verified.
  • New: Option to use conditional logic conditions in confirmations.

Version 1.9.5 – 2021/02/25

  • CHANGED: Possibility to add E-Mail parameter for user that are already verified and used the verification link a second time

Version – 2021/01/27

  • Syncronize version with version control

Version – 2021/01/25

  • Fixed certain warnings on some environments

Version – 2020/11/16

  • Added new variable {verification_date} and {verification_ip} that can be added to notification emails

Version – 2020/11/04

  • Fixed certain notices on some enviroments

Version – 2020/10/08

  • Fixed logic condition drop-down selection
  • Fixed double submissions in some cases

Version – 2020/10/02

  • Fixed compatibility with Registration Addon

Version – 2020/08/18

  • CHANGE: Small interface changes and compatibility updates for GravityForms 2.5

Version – 2020/06/26

  • NEW: Verified option in Conditional logic options. (ex. setup condition logic verified is 1)

Version – 2020/05/14

  • NEW: Created a new hook gfuv_before_email_verified to run something right before sending the notification

Version 1.9.0, 1,9.0.1 and – 2020/01/27

  • NEW: Add-on is now compatible with WP MultiSite (unlimited license is needed)
  • FIX: Fixed a problem where settings caused a wrong behavior on a mixed up checkbox selection
  • FIX: Grouped checkboxes so settings can’t be made wrong from now on
  • CHANGED: Clean the settings page and made wording more understandable

Version 1.8.3 – 2019/01/16

  • Added new variable {confirm_hash} for creating special confirmation URLs
  • FIX: Changed URL structure from 1.8.2 to prevent WPML conflicts

Version 1.8.2 – 2019/01/15

  • FIX: Added index.php in confirmation link for better compatibility

Version 1.8.0 – 2018/11/06

  • Added Option “Confirmation only once” with redirect for expired links

Version 1.7.5 – 2018/09/11

  • Added support for email parameter on confirmation URL/Page

Version 1.7.4 – 2018/09/11

  • Added a do_action() statement in the gform_after_verification_submission() function to be able to run external functions

Version 1.7.2 & 1.7.3 – 2018/08/18

  • Bugfixes & compatibility issues

Version 1.7.1 – 2018/07/20

  • FIX: PHP 7.1 compatibility
  • DEVELOPER: Added hook with usage add_action( ‘gfuv_after_post_status_update’ , ‘my_gfuv_after_post_status_update’, 10 , 1 );

Version 1.7 – 2018/07/13

  • NEW: Added Post Options: You can now change the condition of a post that was created using the Gravity Forms Frontend User submission after verification to pending or public
  • NEW: Added a hook for getting the Post ID that needs to be changed via code
  • TWEAK: All settings were moved from the form settings to an own settings menu in each form
  • FIX: Activation of the License was fixed

Version 1.6.1 – 2018/07/03

  • NEW: Added Gravity Forms Webhooks support
  • FIX: Activation link time has now a default value

Version 1.6 – 2018/06/25

  • NEW: Compatible with other 3rd Party addons and Conditional Logic: Only add the form entries to your CRM / Newsletter Tool / Slack / … if the user has confirmed his E-Mail address (use conditional logic settings in the 3rd party addons and set “If verified” to “yes”).

Version 1.5.2 – 2018/06/06

  • FIX: Corrected a bug where errors were shown if an (unconfirmed) entry was deleted by the cron before the confirmation link was clicked

Version 1.5.1 – 2018/06/04

  • NEW: Option to let users reconfirm their mail address every time the form is being sent. Before, once the mail address has been confirmed, it remained valid until it was deleted

Version 1.5.0 – 2018/06/01

  • NEW: Link expiration – Define a time in hours for a confirmation link to be valid

Version 1.4.3 – 2018/05/11

  • Fixed a bug where Addon could not be activated correctly

Version 1.4.2 – 2018/05/08

  • Fixed a bug in deletion of unconfirmed entries

Version 1.4.0 and 1.4.1 – 2018/04/24

  • Added for DSGVO / GDPR: Enable deletion of entries, either confirmed or unconfirmed, automatically after a given time (in form settings)
  • Minor bug fixes

Version 1.3.0

  • Added verification date that you can add to your entries list. Easy to see the exact time when user verified his email or opted in.

Version 1.2.3

  • Added custom merge tags for gravity form. Easy to select like regular tags by selecting from merge tags list.
    {confirm_url} will produce an html link tag ex: {confirm_url}
    {confirm_link} will produce a link that you can use in your own html.

Version 1.2.2

  • Implementing Licensing System – allow you to add license key.
  • Automatic Updates – allow you to perform automatic updates.

Customizations through hooks and actions

If you need to implement your own code before or after some actions, we’ve implemented the following hooks, where the text should explain itself. If you need more information, feel free to write a ticket!

If you want to customize the URL of the confirmation link, use the following filters:
for merge tag {confirmation_link} - 'gfuv_change_confirmation_link'
for merge tag {confirmation_url} - 'gfuv_change_confirmation_url'
for merge tag {confirm_url} - 'gfuv_change_confirm_url'
for merge tag {confirm_link} - 'gfuv_change_confirm_link'
Here is an example of how you can add a filter:
add_filter( 'gfuv_change_confirm_link', 'test_gfuv_confirm_url' );

function test_gfuv_confirm_url($url) {
$url .= '&test=1&filter=working';
return $url;