How consent works
The two consent axes in detail — the marketing preference (accepted, declined, no preference) and channel suppression (subscribed or suppressed) — where each shows on the contact profile, and the matrix that decides who receives a campaign from a contact's state and the campaign's policy.
A contact's consent on a channel isn't one thing but two: whether they accept marketing, and — separately — whether they're suppressed from the channel entirely. These are different questions — wanting or not wanting promotions is one thing; being out of the channel altogether is another — which is why it helps to look at them apart. This page covers what each value means, where you see it on the profile, and how the two combine with a campaign's policy to decide who actually receives a send.
Marketing preference
The marketing preference answers a simple question: does this contact want promotional messages on this channel? It isn't a plain yes/no — it's a three-state value:
- Accepted (opted in) — the contact explicitly agreed to marketing: they replied START, submitted a form, or were imported with consent on record. They receive marketing under every policy.
- Declined (opted out) — the contact explicitly said no: they replied STOP, used an unsubscribe link, or were imported as declined. They're excluded from campaigns under the Opt-in or Opt-out policy, but they're still subscribed — a Basic campaign still reaches them.
- No preference — nothing has been recorded yet. This is the default for a new contact, or one imported without consent data. It's neither a yes nor a no, and policies treat it as its own case (see the matrix below).
Channel suppression
Suppression is the hard block — the "don't send them anything here." A suppressed contact is removed from every send on that channel, whatever their marketing preference says and whatever policy the campaign carries. There is no exception. On the contact profile this is the Subscribed checkbox: checked, the contact is subscribed; cleared, they're suppressed.
Suppression is reserved for the strongest signals — a repeated opt-out, or a manual block by your team or via the API. It is not set by a CSV import or a connector: data ingestion can never suppress a contact. And a contact can't lift their own suppression — replying START reverses an opt-out, but not a suppression (see Opt-outs & reactivation).
Where you see both
Both axes are on the contact's profile, in the Channel preferences card — one row per channel (SMS / RCS, Email, WhatsApp), with the Subscribed and Accepts marketing columns. Both are checkboxes: Subscribed is a plain checkbox (checked means active, cleared means suppressed), and Accepts marketing is a three-state checkbox — checked (opted in), unchecked (opted out) or indeterminate, shown as No preference when no value has been recorded yet.
You can also surface the underlying subscription attributes as columns in the audience table and filter segments on them — for example, a segment of contacts who accept SMS marketing.
Who receives a campaign
Whether a contact gets a marketing campaign comes from both axes together with the campaign's consent policy. The policy is the campaign's setting; the state is the contact's. The combination:
| Contact state | Subscribed | Accepts marketing | Opt-in | Opt-out | Basic |
|---|---|---|---|---|---|
| Accepted marketing | Yes | Accepted | ✓ | ✓ | ✓ |
| No preference | Yes | No preference | ✗ | ✓ | ✓ |
| Declined marketing | Yes | Declined | ✗ | ✗ | ✓ |
| Suppressed | No | any | ✗ | ✗ | ✗ |
Reading the matrix:
- A suppressed contact receives nothing — the bottom row is all ✗, whatever the policy.
- Basic ignores the marketing preference: it reaches every subscribed contact, including those who declined. Only suppression stops a Basic campaign.
- Opt-out drops the contacts who declined but keeps everyone else, including No preference.
- Opt-in is the strictest: only contacts who accepted marketing.
Example. A contact imported last month with no consent data sits at No preference, Subscribed. An Opt-out promotion reaches them (they never declined); an Opt-in promotion does not (they never opted in). If they then reply STOP, they become Declined — and the same Opt-out promotion would no longer reach them.
Reading this matrix from your own systems? The API applies exactly the same rules when it counts an audience under a policy: see Counting who can receive in the developer docs.
Next: the subscription attributes that store these two axes per channel.