

One unsubscribe click. Two brands go silent.
A customer opts out of one brand's emails. Days later, alerts from a completely different brand stop showing up too — one he never touched.
Nobody removed him on purpose. The system just couldn't tell the two brands apart.
This is what a flat checkbox field does at multi-brand scale, and it's exactly the failure mode Salesforce Consent Management is built to prevent.
This guide walks through one customer's unsubscribe, from opt-in to opt-out, using Salesforce's standard Consent Data Model — and why that model beats a custom-built alternative.
Salesforce Consent Management is the standard data model that records a customer's opt-in and opt-out choices, instead of storing one flag per customer. It works by splitting every consent decision into four levels:
That separation is what stops one opt-out from reaching a choice it shouldn't touch.
A field like HasOptedOutOfEmail on Contact or Lead works fine for a single-brand, single-channel business. It falls apart the moment a holding company runs more than one brand through the same org — an omnichannel grocery and electronics chain (call it Meridian Retail) alongside an independently branded e-commerce arm (Wavecart), for example.
A customer opting out of Meridian's grocery promos shouldn't lose Meridian's electronics alerts or Wavecart's shipping notices, but a flat checkbox model can't guarantee that.
The tempting shortcut is a custom object: one row per customer per brand, with a picklist for status. It's fast to build and easy to query.
It also means re-implementing everything Salesforce already ships for free:
A custom object also has no natural way to express that consent lives at four different levels — an identity, a brand, a topic, and a channel-specific decision. Modeling all four onto one flat table means every new brand or channel forces a schema change.
The standard Salesforce Consent Data Model absorbs new brands and subscriptions as new rows, not new columns. That's the difference between a model that scales and one that gets re-architected in eighteen months.
The model separates concerns into distinct entities instead of collapsing them into a single flag:
Each layer stays independent. A change at the subscription-consent level never has to touch the brand or identity records above it — exactly the isolation a multi-brand org needs.
Take a customer, Priya, who engages with two of Meridian's brands. She's opted into three separate communication streams:
Each subscription is tied to a channel through the CommunicationSubscriptionChannelType junction object: the two email-based subscriptions map to Email, and the tech alerts subscription maps to SMS.
Because Priya opted into all three, her CommunicationSubscriptionConsent records all carry a status of OptIn — each against its own contact point and channel type.
Priya decides she's getting too many grocery emails and clicks "Unsubscribe" from the Grocery Weekly Deals newsletter. She wants to keep her tech alerts and her Wavecart fashion deals untouched. Here's what actually mutates when that opt-out is processed.
Priya's identity record and both brand records are structural entities, untouched by the transaction. This is what prevents a single unsubscribe from cascading into a broad-stroke exclusion across every brand she's connected to.
This is the one record that changes. The system locates the record matching her identity, her contact point, and the Grocery Weekly Deals subscription channel, and updates it:
Nothing is deleted. The prior state stays in the record's history, which is what makes this defensible during a regulatory audit rather than just functionally correct.
Walking through the surrounding records isn't decoration, it's the actual test of whether the architecture holds up.
Electronics tech alerts (SMS): stays OptIn. Even though this subscription sits under the same Meridian Retail brand as the grocery newsletter, the unique CommunicationSubscriptionConsent record per subscription means one unsubscribe doesn't touch its sibling.
Wavecart fashion flash sales (Email): stays OptIn. Even though Priya uses the same email address for this subscription as she did for the grocery one, the record is tied to an entirely separate Business Brand, so the retail unsubscribe event has no path to reach it.
If either of those had flipped, the model would have failed at the one job it exists to do. That's the check worth running in any implementation, not just trusting that the object relationships are correct on paper.
.png)
For the full object reference, Salesforce's Privacy Consent data model documentation lays out every entity and relationship in the model referenced above.
Consent problems rarely appear at the start. They usually surface later, when a new brand is added and an old setup begins affecting the wrong audience or creating questions that are difficult to answer.
A clear consent structure from the beginning helps avoid those problems.
At MIDCAI, we help businesses simplify consent management as they scale across Salesforce Data Cloud and Marketing Cloud Next. It is usually easier to fix the setup before the next brand joins.
Talk to our Data Cloud consultant about your current setup.
Got questions? We’ve got answers. Explore common queries to understand how we work and what to expect.
Salesforce consent management is Salesforce's standard Consent Data Model for tracking opt-ins and opt-outs at multiple levels: global, brand, subscription, and channel. It applies to any person record, including leads, contacts, and person accounts, without requiring a custom build.
Yes. The Salesforce Consent Data Model is available across every Salesforce edition, not just premium tiers. You enable it under Setup, Data Protection and Privacy, so any org can start using standard consent objects without extra licensing.
No. Unlike most standard Salesforce objects, Communication Subscription Consent records don't count toward data storage. That matters because one customer can generate many consent records across brands, subscriptions, and channels without inflating your org's storage usage.
Not usually. A custom object skips the native Salesforce Consent API, the audit trail, and Data Cloud compatibility Salesforce already provides. It also forces schema changes with every new brand or channel, while standard Salesforce consent objects absorb growth as new rows.
Yes. Salesforce consent management is built for GDPR and CCPA, and it powers the Salesforce preference center, Salesforce Data Cloud consent management, and Marketing Cloud Next consent management, all reading from the same standard consent objects instead of separate systems.
Get in touch with us for any enquiries and questions
Define your goals and identify areas where technology can add value to your business
We are looking for passionate people to join us on our mission.
where your skills fuel innovation and your growth powers ours