Skip to content

Double opt-in confirmation for EU/GDPR list growth

One of 565 written HubSpot workflow specs, by a collective of independent HubSpot consultants.

Professional

Seat pricing: Professional edition. To build it, a GTM Seat or an Ops Seat (an Ops Seat cannot create marketing emails or sequences). Per-hub plans: Marketing Hub Professional.

Contact10 stepsUpdated for HubSpot seat pricing
OutcomeAn EU-region contact who fills in a signup form only counts as fully opted in after they click a confirmation link in a follow-up email, giving a documented double opt-in instead of a single unverified form submission.
Workflow mapmarketing-ops-008
EU contact created, no double opt-in status leads to Set status: Pending, set sent date. Set status: Pending, set sent date leads to Send Confirm your subscription email. Send Confirm your subscription email leads to Add to EU pending list. Add to EU pending list leads to Delay 7 days; Clicked confirmation link?. Delay 7 days leads to Status still Pending after 7 days?. Clicked confirmation link? leads to Yes, any time: Set status: Confirmed. Set status: Confirmed leads to Remove from EU pending list. Status still Pending after 7 days? leads to Yes: Set status: Expired; No, already Confirmed: No action. Set status: Expired leads to Remove from EU pending list. Remove from EU pending list leads to Set non-marketing or hold from nurture. Yes, any time Yes No, already Confirmed EU contact created, no double opt-in status Set status: Pending, set sent date Send Confirm your subscription email Add to EU pending list Delay 7 days Clicked confirmation link? Status still Pending after 7 days? Set status: Confirmed Set status: Expired No action Remove from EU pending list Remove from EU pending list Set non-marketing or hold from nurture
EU contact created, no double opt-in status leads to Set status: Pending, set sent date. Set status: Pending, set sent date leads to Send Confirm your subscription email. Send Confirm your subscription email leads to Add to EU pending list. Add to EU pending list leads to Delay 7 days; Clicked confirmation link?. Delay 7 days leads to Status still Pending after 7 days?. Clicked confirmation link? leads to Yes, any time: Set status: Confirmed. Set status: Confirmed leads to Remove from EU pending list. Status still Pending after 7 days? leads to Yes: Set status: Expired; No, already Confirmed: No action. Set status: Expired leads to Remove from EU pending list. Remove from EU pending list leads to Set non-marketing or hold from nurture. Yes, any time Yes No, already Confirmed EU contact created, no double opt-in status Set status: Pending, set sent date Send Confirm your subscription email Add to EU pending list Delay 7 days Status still Pending after 7 days? Set status: Expired No action Remove from EU pending list Set non-marketing or hold from nurture Clicked confirmation link? Set status: Confirmed Remove from EU pending list

When to use it, when not to

Use it

  • Use when your compliance policy, or a specific market you sell into, expects double opt-in evidence for marketing consent, not just a single form checkbox.
  • Use for net-new EU/EEA/UK signups specifically. It adds friction and a real drop-off step, so reserve it for the audience where the documentation actually matters.
Read more on when to use itShow less

Skip it

  • Do not use it for existing customers or contacts who already have a documented legal basis through another channel (see marketing-ops-007). Re-confirming consent you already hold creates confusion, not compliance.
  • Do not use it as your only legal-basis control. Pair it with marketing-ops-005 for the underlying EU legal-basis gate; this fiche only adds the confirmation-click evidence on top.
Read more on when to skip itShow less

The rest of this spec

Prerequisites · 5 items

Every property with its label, internal name, type and options, plus the assets the workflow needs.

Enrollment · 4 parts

The trigger, the criteria as ticked in the UI, the re-enrollment rule and the suppression list.

Steps · 10 numbered actions

Each action in order with its parameters, branches and delays.

Known pitfalls · 4

Traps seen in production, each with what breaks and what to do instead.

Test plan and UAT script · 2 cases, 3 variants

How to prove it works in a test portal, one case per branch, and a sign-off sheet.

Files · PDF, Markdown, JSON, CSV

The properties JSON creates the fields in one call. The workflow JSON documents the build.

Install · 1 click, switched off

The installer creates the properties and the workflow, switched off, then opens a task for what it cannot create. Nothing is deleted, enabled or enrolled.

Unlock all 565 specs, 149 EUR

One-time, excl. VAT. 30-day refund. Installs in 3 portals. Founding price until 30 November.

Read the free Marketing ops spec

Read 12 complete specs before you pay.

One per category, same format as the paid ones. Email only, no card.

We email the link, then a short note when specs change. Nothing else.

149 EUR199

Full library, 565 specs
Get the full library