1 — Audit and create one canonical consent property
- Export the consent-related fields from every system that holds contacts (CRM exports from HubSpot or Salesforce, audience export from Mailchimp, any spreadsheets). Note where values mean the same thing but use different labels (eg. "Marketing OK", "Email Permission", "Subscribed").
- Pick one canonical property name (eg. consent_status: opt_in / opt_out / unknown) and map each source field to it. Record the simple mapping in a single sheet column so anyone can see the rules.
- Backfill in small batches: use spreadsheet rules (IF/OR formulas), or a low-code connector (Zapier/Make) to update records where mapping is straightforward. For edge cases mark consent_status = unknown so they go into a human review queue.
2 — Add a pre‑automation gate and quarantine patterns
Make every automation check the canonical consent_status before it sends. Two practical low‑code patterns work well for small teams:
- List/segment gate: build a dynamic list or segment that only contains contacts with consent_status = opt_in and use that list as the sole trigger for sends. In HubSpot this is a contact list; in Salesforce it can be a report-based campaign segment; in Mailchimp use an audience segment or suppression list.
- Quarantine / dead‑letter approach: if consent_status is unknown or opt_out, tag the contact (eg. do_not_email or consent_quarantine) and route them to a short human review queue (a sheet, task list or CRM queue) rather than the sending flow. Where your platform allows, add a webhook or Zapier filter step so third‑party tools check consent_status just before scheduling an email and move failing items to the quarantine.
3 — Update capture, test with dry runs and assign owners
Update every capture point (forms, API endpoints, manual imports) to set consent_status at source and store the exact capture text and timestamp (who captured, when, what wording). Keep the capture text simple and legal: what they’ll receive, frequency, and a clear opt‑out path.
Run dry runs before switching any automation live: create a test segment of 20 real contacts with known consent states, simulate sends and log which records would have been emailed. Add a simple daily check (a saved list/report or small sheet job) that flags any send attempts to non‑opted contacts and routes them to the owner. Assign one owner for consent across systems and one owner for the quarantine queue — this keeps fixes fast and local (useful for teams on the South Coast or in Fareham, Hampshire).
If you want a practical hand to set this up or a short workshop to get it working across your tools, Optira can help implement the gate and train owners. For local marketing automation support see marketing automation support.