martech cookbookSearch recipes & patternsSign up
Recipe·Updated 19 May 2026

Consent state propagation across channels

A single consent record per user, mechanically propagated to every downstream system that activates against it

01Problem

Most marketing stacks have consent. They just don't have it consistently. The consent management platform holds one version. The CDP holds another, refreshed nightly. The ESP holds a third, refreshed by the latest list upload. The ad platforms hold whatever was true at the last audience push. Each of these systems makes activation decisions against its own local copy. When the copies diverge, the activations diverge with them.

The visible failure is a customer who withdrew consent on Tuesday continuing to receive marketing emails on Friday, or being included in a Custom Audience pushed to Meta the following Monday. The invisible failure is more dangerous: the team can't answer, when asked by a regulator or an auditor, where the canonical consent record lives. Each system shows its own version. Each version is partially correct. None is authoritative.

The recipe addresses this by establishing a single source of truth for consent and a mechanical propagation path from that source to every system that activates against it. The system of record holds the consent state. The downstream systems either receive push updates or perform checks against the source at activation time. The audit trail records every decision and the consent state under which it was made. This is the architecture that makes compliance defensible rather than aspirational.

02Outcome

A canonical consent record per user, owned by a single system, with a deterministic propagation path to every downstream system that activates against it. Send-time and activation-time consent checks at every channel, with per-decision audit evidence retained for the regulator-required period. Cross-jurisdictional routing where the consent regime applied is the one current at the moment of activation, not the one current at the moment of collection. Latency between consent change and downstream propagation low enough that the failure window doesn't span a typical campaign cycle. Most stacks running this recipe target propagation under one hour for standard channels and under fifteen minutes for high-frequency channels like behavioral email and real-time bidding.

03Ingredients
  • Consent state flag
  • Consent jurisdictional context
  • Consent timestamp
  • Consent purpose categorization
  • User identifier
  • Channel eligibility status
04Equipment

A consent management platform for collection: OneTrust, Cookiebot, Didomi, Sourcepoint, or a self-built equivalent for organizations large enough to justify the engineering investment. A system of record for the consent state, which may be the CMP itself or, more commonly for sophisticated stacks, a dedicated consent table in the CDP or warehouse that the CMP writes into. An event bus, webhook system, or replication layer that propagates consent changes to downstream systems. Each downstream channel needs a way to receive and apply the updates: ESP APIs for email eligibility, ad-platform APIs for audience and bid eligibility, decisioning-engine inputs for activation logic. An audit log infrastructure with enough retention to cover the longest applicable regulatory window, typically two to seven years depending on jurisdiction and processing type.

05Staff
  • Privacy ops
    CriticalOwns the source-of-truth decision, jurisdictional interpretation, audit response
  • Legal
    CriticalRegulatory framework interpretation per jurisdiction, BAA and DPA review for vendor selection
  • Data engineering
    CriticalPropagation infrastructure, event bus or webhook layer, latency monitoring
  • Identity or CDP ownership
    CriticalConsent record binding to user identity, conflict resolution across identifier graph
  • Marketing ops
    SupportingChannel configuration to receive consent updates, message-level eligibility logic
  • Ad ops
    SupportingAd-platform audience configuration that respects consent for behavioral advertising specifically

Six roles. Privacy operations owns the source-of-truth decision and the response to regulator inquiries. Legal interprets the jurisdictional frameworks and reviews vendor agreements (BAA in healthcare contexts, DPA in EU contexts, joint controller agreements where they apply). Data engineering builds the propagation infrastructure: the event bus, the webhook handlers, the latency monitoring. Identity or CDP ownership manages the binding of consent records to user identities, including handling cases where the identity graph updates change which consent record applies to which user. Marketing operations configures the downstream channels to consume the consent updates and applies the eligibility logic at the message level. Ad operations handles the ad-platform side specifically, because behavioral advertising consent often has a separate posture from general marketing consent and the ad platforms have their own audience-eligibility constraints.

06Technique
INPUTSPROCESSACTIVATIONCollection pointsCanonicalconsent SORNormalize &canonicalizeConsent attributesPush / PullpropagationConsent audit logDownstream cachesEmailPaid adsReal-time bidding

The architectural decision that drives everything else is which system holds the source of truth. There are three viable answers: the consent management platform itself, a CDP or warehouse table populated by the CMP, or a purpose-built consent service. CMP-as-source-of-truth works for smaller organizations with simpler stacks; the CMP API is the authoritative read, and downstream systems either poll or subscribe to webhook updates. CDP-or-warehouse-as-source-of-truth works for larger organizations with established CDP investments; the CMP writes to the CDP, and downstream systems read from the CDP. Purpose-built consent service is for organizations large enough to justify the engineering investment and complex enough to need consent governance independent of any vendor relationship.

Whichever choice gets made, the rule is one source. Multiple sources is the failure mode that creates the divergence problem in the first place. If consent can be set in multiple places (e.g., customers can update their preferences in the CMP cookie banner, in the email preference center, and in their account profile), the multiple collection points must write back to a single canonical record. Local copies in downstream systems are caches, not authorities, and they refresh from the canonical record on a defined cadence.

The propagation mechanism is the second decision. Push-based propagation has the source-of-truth system actively notify downstream channels when consent changes, via webhooks or event bus messages. This has lower latency but more failure modes (failed webhooks, retry logic, dead-letter queues, channel-specific rate limits). Pull-based propagation has downstream channels check the source at activation time. This has higher latency tolerance but adds load to the consent service and creates a hard dependency on its availability. Most production setups use a hybrid: push for state changes that affect immediate eligibility (consent withdrawal, jurisdictional change), pull for periodic refresh of slower-moving state.

The audit trail records every consent check at every channel. The schema includes the user identifier, the channel performing the check, the timestamp, the consent state read, the activation decision made, and the source of the consent state read (which system, which version of the record). Audit retention follows the longest applicable regulatory window. The audit trail is the primary evidence in any regulatory inquiry or breach response.

Jurisdictional routing is the layer most teams underestimate. A user consents to behavioral advertising while in the EU under GDPR. They travel to the US and interact with the brand from a California IP. The question is what regime applies to the next activation. There's no universal answer, but there are three defensible postures: user-level (the regime at consent collection sticks for that user forever), session-level (the regime current at activation applies, even if it differs from collection), and most-protective (whichever regime is most restrictive at any point applies always). The first is simplest. The third is safest. The second is cheapest in compliance overhead but most expensive in legal interpretation. Pick one explicitly and document the choice.

07Gotcha
Failure 01

The "trusted source" problem is the most common silent failure. The architecture diagram shows the CMP as the source of truth. The CDP also has a consent column, populated nightly from the CMP. The ESP also has a subscription status, populated weekly from the CDP. The ad platform has an audience definition that excludes unsubscribed users, populated by the last upload. Each system thinks it has accurate consent. None of them agree exactly. The divergence isn't visible until someone runs a reconciliation report or a regulator asks for the canonical state for a specific user at a specific time. The fix is to designate one source and treat the others as caches that must refresh on a known cadence and that must lose to the source on any conflict.

Failure 02

The latency budget is the second trap. Teams set up propagation, watch it work in the happy path, and don't measure what happens when a propagation fails. A webhook drops. A retry queue backs up. The ad platform's API is rate-limiting the audience update. Consent changes made today don't reach the ad platform until next Tuesday's scheduled push. By then, two campaign cycles have run against the wrong state. Latency monitoring with alerting on propagation lag is what turns this from a known failure mode into a managed one.

Failure 03

The jurisdictional crossover problem catches most teams off guard. A user gives consent under one regime, then interacts under another. The team's consent logic was built assuming each user has a single jurisdiction. Multi-jurisdictional users are common: travelers, dual residents, business travelers who use the brand from multiple regions. The choice of routing posture (user-level, session-level, most-protective) needs to be made explicitly and applied consistently. Teams that haven't made the choice typically have implicit, inconsistent behavior across channels.

Failure 04

The right-to-be-forgotten propagation is the consent variant that most stacks handle worst. When a user invokes RTBF, the deletion or anonymization needs to propagate to every system that holds their data, not just the systems that have their consent record. The CDP, the ESP, the ad platforms, the analytics warehouse, the data lake, the backups, the offline batch outputs. Each of these is a separate propagation problem. Teams often realize, the first time they receive an RTBF request, that they don't actually know all the places the user's data exists. The recipe for consent propagation is the foundation for RTBF propagation, but it isn't sufficient on its own.

Failure 05

The ad-platform consent posture is structurally different from email consent. Email consent is straightforward: the user opted in or didn't, and the ESP respects it at send time. Ad-platform consent is more layered: the user may have consented to marketing email but not to having their data shared with third parties for behavioral advertising. The ad platforms have their own consent frameworks (Meta's Limited Data Use, Google's Consent Mode v2) that interact with the brand's consent record in ways that aren't always obvious. The recipe's eligibility check for ad-platform pushes needs to include both the brand-level consent and the platform-specific consent flags expected by the destination.

WorkshopFor your stack·The questions this recipe raises

Eight questions this recipe raises for your stack.

The Workshop works out with your team which of these matter for your stack right now, and what to do first: a 90-minute session with the people who own the decision.

  1. 01Consent record schema with jurisdiction and purpose categorizationThe fields that carry purpose-specific consent past a binary yes-or-no.
  2. 02Source-of-truth decision tree by stack profileCMP, CDP table, or purpose-built service, and which one your stack can actually hold.
  3. 03Propagation patterns: push, pull, and hybridWhich consent changes need a webhook now, and which can wait for the next poll.
  4. 04Jurisdictional routing logicUser-level, session-level, or most-protective, and the legal cost of each choice.
  5. 05Channel eligibility checks for ESP, ad platform, decisioningWhere the brand consent flag meets Consent Mode and Limited Data Use.
  6. 06Audit log schema and retention by jurisdictionThe per-decision evidence a regulator asks for, kept for the window that applies.
  7. 07RTBF propagation as a consent variantReaching the backups, offline outputs, and systems that hold data but no consent record.
  8. 08Latency monitoring, SLAs, and failure recoveryCatching the dropped webhook before two campaign cycles run on stale consent.

Consent propagation is the recipe most teams discover they need after a regulator letter or an internal audit, when retrofitting it is expensive.

Building it before the inquiry is dramatically cheaper. The Martech Workshop is where we map your current consent flow, identify where the divergences live, and define the source-of-truth posture your stack needs to operate under. For EU-operating brands, this is usually the highest-leverage compliance work available.

take this to the martech workshop→

Did this recipe match your situation?Anonymous response. Sign up to leave a longer note tied to your account.

Related recipes