Leaky Paywall - Double Opt In
The Leaky Paywall - Double Opt In add-on makes a new subscriber prove they own their email address before they can read content behind the paywall. It is the best way to limit spam and fake signups on free registrations.
There are two ways to verify:
- Activation link: for signups through your registration form. The account is created right away but stays pending until the reader clicks the link in their activation email.
- One-time code: for signups through List Builder. The reader enters a 6-digit code from their email, and their account is not created until they do.
You can use either one or both.
Activation link setup
- Create a page and add the shortcode
[leaky_paywall_double_opt_in_activation]to it. - Go to Leaky Paywall > Settings > Subscriptions and scroll down to the Double Opt In settings.
- Set Page for Double Opt In Activation to the page you just created. This is the page the reader lands on from their activation email.

You can also choose to send the welcome email only after the reader has activated their account, and to require activation for new corporate members after they use the activation form.
Next, edit each Leaky Paywall level that should require activation and enable Double Opt In for that level.

What the reader sees
After someone registers for a level that requires Double Opt In, they receive an activation email. They must click the link in it before they can access content.

Until then, they see an overlay on the site letting them know their account is pending. They can resend the activation email from the link in that message. Once their account is activated, the overlay goes away.

Accounts that are never activated are not deleted. They stay pending, with content locked, until the reader clicks the link.
One-time code with List Builder
Requires Leaky Paywall 5.1.7 or later and Double Opt In 1.4.1 or later.
- Go to Leaky Paywall > Settings > General and scroll to the List Builder section.
- Under Signup Verification, check Require email verification with one-time code.
- Click Save Settings.
New List Builder signups then go through these steps:
- The reader enters their email address.
- They receive an email with a 6-digit code and enter it in the List Builder form. A Send it again link sends a new code if theirs doesn't arrive.
- They create a password, their account is created, and the article unlocks.
Existing subscribers who enter their email go straight to the password step to log in, without a code.
Because the account is only created after the code is entered, unverified signups never become accounts on your site.
To protect against abuse:
- Codes expire after 10 minutes.
- After 5 wrong codes, the reader has to wait 15 minutes before trying again.
- Each email address can request up to 5 codes per hour, and each visitor's network up to 20 per hour.