What this is
A confirmation campaign sends an email with a pre-filled link that lets a subscriber confirm, in a single click, that their address is still active. The link opens a public form that is already filled in and submits it automatically, so the subscriber has nothing to complete.
Why this matters
Confirmation campaigns are one of the best ways to keep a healthy, engaged list. By asking inactive or unconfirmed contacts to re-confirm, you clean out addresses that no longer respond, protect your sender reputation, and keep your engagement metrics honest, all without adding friction for the subscriber.
How it works
Two custom fields track the confirmation on each contact in your list:
| Field | Type | Role |
|---|---|---|
confirmation | Number | A 0/1 flag showing whether the person confirmed. Set to 1 directly through the email link. |
confirmation_date | Date | The exact date of the confirmation. Pre-filled automatically by the email link and submitted with the current date. |
The link in the email carries merge tags that fill confirmation_date with today's date and set confirmation to 1 the moment the link is clicked. Everything happens in the URL, no separate automation is required.
Before you start
Keep these two field names exactly as written, lowercase, with the underscore, everywhere you reuse them (confirmation and confirmation_date). The names in the URL must match the names on your list and your form, or the values won't be recorded.
Step-by-step instructions
Create the two custom fields
In the contact list you'll use for the campaign:
-
Open the contact list you want to use.
-
Click the gear icon (⚙) next to the + button, at the top right of the table.
-
Go to the Attributes section.
-
Add an attribute named
confirmation. Type: Number. Set it to not displayed. Save. -
Add an attribute named
confirmation_date. Type: Date. Set it to not displayed. Save.
Create the confirmation form
-
In the Forms section, create a new form.
-
Name it clearly so you can find it later, such as Subscription confirmation.
-
Assign it to the correct list if you have more than one.
-
The Email field and the Submit button are generated by default. Click Edit form on the right.
-
Add the
confirmationfield (type Number) with the small +. -
Add the
confirmation_datefield (type Date) with the small +. You can rename each field's label to something friendlier, such as Confirmation and Confirmation date. -
Give the form a clear title. You can also turn on Smart form mode to apply your branding, you'll need to add your logo separately, it isn't included by default.
-
Scroll the right-hand menu down to Manage a field to reorder the fields as you want them. You can also replace the Submit button with Auto-submit, since that's what this flow relies on.
-
Save.
Turn off the form's confirmation email
In the right-hand menu, disable the confirmation email for this form. If it stays on, the automated flow can't work.
Once the form is ready, Publish it, then copy the self-hosted link from the left-hand menu and keep it somewhere handy, you'll need it in the next step.
Most subscribers never see the form
Because the submission is automated, most recipients won't see this form at all. Still, give it a clean design and allow a few seconds for display, in case a slow connection means a subscriber does see it briefly.
Build the campaign email
The full link you put on the button is assembled like this:
| Segment | Role |
|---|---|
<public-link> | The self-hosted link from your form. The token is unique to this form. |
? | Starts the parameters. |
email=[email] | Merge tag replaced with the recipient's real address at send time. |
confirmation=1 | Sets the list's confirmation field to 1 when the email is confirmed, so you can search the list easily. |
confirmation_date=[DATE|0|Y-m-d] | Pre-fills the date field with today's date (offset 0, year-month-day format). |
auto_submit=true | Submits the form automatically on open, with no extra click. |
Final assembled link:
Code
Then build the email itself:
-
Write a warm email asking your subscribers to re-confirm their subscription.
-
In the email designer, select the call-to-action button.
-
In its link, replace
<public-link>with the real URL you copied from your form. -
Recommended: add the same link in plain text below the button, for people who can't click it (notably on Outlook).
-
Assign your campaign to the correct list.
Choose your recipients
Decide which part of the list should receive the request:
- Target everyone who hasn't opened or clicked an email in a while, for example, over the past year, using segmenting by engagement.
- Target a part of your list that has never been confirmed and that you only have a business relationship with.
- We recommend sending a second confirmation email about a week later, re-selecting only the people who didn't respond to the first one.
Test with a real send
Don't use “Test send” for this
A test send doesn't process merge tags like [email] or [DATE|0|Y-m-d] the same way a real send does, so the link won't fill in correctly. You have to send the real campaign to a real recipient to validate the whole flow.
-
In your chosen list, create a segment containing a single address (yours and/or a colleague's).
-
In the campaign, select that segment as the recipient and send the real campaign (not test mode).
-
Open the email you receive and click the button (or the fallback link).
-
Check that the form page submitted automatically and that you see the form's submission confirmation page.
-
Go back to the contact list and check the tested contact's record:
confirmation_dateshould show today's date, andconfirmationshould be1.
If either field didn't update, re-check: the exact field names in the URL, that confirmation and confirmation_date were added to the form, and that the full link (including confirmation=1) was actually pasted into the email.
Troubleshooting
The fields don't update after a click
- Confirm the field names in the URL match your list and form exactly:
confirmationandconfirmation_date(lowercase, with the underscore). - Make sure both fields were added to the form, not just to the list.
- Verify the full link, including
confirmation=1andauto_submit=true, was pasted into the button.
The subscriber sees the form instead of an instant confirmation
- This is expected on slow connections. As long as
auto_submit=trueis in the link, the form submits on its own after loading.
The confirmation email keeps going out from the form
- Disable the form's confirmation email in the form's right-hand settings menu.
The link doesn't fill in when I test it
- You're likely using a test send. Merge tags only resolve on a real send, send the campaign to a one-address segment instead.
Related articles
- Adding attributes to your list - Create the custom fields
- Creating a form - Build and publish the confirmation form
- Segmenting by engagement - Target inactive contacts
- Creating dynamic segments - Build the one-address test segment
- Adding merge tags to a campaign - How merge tags resolve