Communication Consent and Opt-Outs

When somebody asks not to be contacted, that decision has to survive every campaign, every agent and every channel — not just the one they said it on. This article covers what KarmaFlow stores on a contact, the three ways an opt-out gets recorded, where it is enforced, and how skipped contacts are reported.

The default matters: a contact with no consent record is reachable on every channel. Consent here is a record of someone having said no. Its absence is not permission withheld — it is nothing having happened yet. Existing contacts are unaffected until somebody sets consent on them.

What you'll need

The two levels

Each contact carries an optional consent record with two levels, and the difference between them decides what an agent does next.

Field Meaning
Do not contact The master switch. Suppresses every channel.
Opted out of email / SMS / voice A per-channel opt-out. Suppresses only the channel it names.
Updated / by / reason Provenance of the last change — when, who or what, and why.

The master switch is deliberately conservative: it suppresses a channel even where that channel has no per-channel box of its own. A per-channel opt-out only ever suppresses the one channel it names.

Chat has no box of its own. A chat conversation is evaluated against the email opt-out, because an email address is what a chat conversation ultimately writes to.

Nothing is ever cleared automatically. Every route below only ever sets a flag. Opting somebody back in is a deliberate human action on the contact record — a later friendly message from the same person is never treated as consent restored.

The three ways an opt-out gets recorded

1. The contact told the channel

These arrive from the channel itself and are recorded without anyone reviewing them.

What happened Opts out of
The contact texted a stop word SMS
A mail unsubscribe, or a spam complaint Email
An agent heard "don't call me again" on a call Voice

The texted stop words are the standard carrier vocabulary — STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT. START, YES and UNSTOP are the opt-in words. HELP and INFO ask for help and are neither.

Email has no carrier vocabulary, so an opt-out typed into a reply is read from the sender's own words — and read conservatively, because an unsubscribe cannot be undone by automation. Only the opening of a message counts, it is judged sentence by sentence, and a sentence is skipped when it:

Phrases that can only mean one thing — "stop emailing me" — count wherever they appear. Phrases that name a list to come off count only in a reply to one of our own automated sends, because ordinary correspondence uses them too ("remove me from the Friday series"). Naming a thread, meeting or series instead of a list is read as a correction, not an opt-out.

2. An agent recorded it

Every customer-facing chat, voice and SMS agent can record an opt-out, and this is always on — it is not a checkbox in the agent's tool picker and it cannot be switched off. A customer who asks not to be contacted must be recordable whatever else that agent was configured to do.

The agent records the channel the customer named, or all when they want no contact at all, and the customer's own words are kept as the reason. Recording it this way also raises the same compliance event as a texted STOP, so a spoken "take me off your list" pauses sequences and fires the same triggers.

3. Somebody set it by hand

Open the contact from CRM → Records → Contacts and find the Communication consent card on the record. It carries:

With Do not contact ticked, the per-channel boxes dim and the card shows Do-not-contact is on — no proactive messages are sent on any channel. Changes save as you tick them; a checkmark appears in the card header when the save lands.

The per-channel boxes stay visible while the master switch is on so you can see the underlying state, but the master switch is what is being enforced.

Where it is enforced — twice, on purpose

Consent is checked at reachability time, when a campaign decides who to enrol, and checked again at send time, immediately before the message goes out.

The second check is not belt-and-braces. A send can wait in an approval queue, and a campaign can run for days — the contact may opt out in between. Without the second check the platform would deliver a message to somebody who had already said stop, and it would be a message a human had approved.

A suppressed send is never a silent drop. It writes a visible row on the same log as a real send, with status Suppressed and the reason on it, stamped with the strategy or orchestration that tried. It also costs nothing — no model call and no message fee.

What your team sees

When a campaign skips somebody, it distinguishes opted out from no reachable channel, and the distinction is the point:

Reporting the first as the second hides a customer's choice from you, and makes a campaign look broken when it is working exactly as intended. On a campaign's recipient list, a contact who has opted out of the channel in play carries an explicit opted out flag on their row rather than quietly disappearing from it.

Reachability is more than consent

A contact can be fully opted in and still not be reachable on a channel. Each channel asks a different question:

Channel Needs
Email An address on file that has not been marked bad.
Voice Any phone number — calling a company's main line is ordinary.
SMS A number the contact confirmed is theirs: one they stated, or one they texted you from.

The SMS bar is higher deliberately. Texting is not the same act as calling: the message is about one person and arrives wherever that line is answered, so a switchboard number is not good enough. A cold prospect from a bought list has no confirmed mobile, and a campaign will not text them.

Nobody is dropped from a campaign for failing one of these. A contact with an email address and a switchboard number is simply reachable on email and voice, and enrols normally. Getting somebody's mobile becomes a goal for the conversation rather than a reason to exclude them.

Troubleshooting

A contact opted out but still received a message. Check whether the send predates the opt-out — the log row carries both timestamps. If the send is genuinely later, check whether the opt-out was recorded on a different channel from the one that sent; a per-channel opt-out leaves the others open by design.

A campaign reports far fewer recipients than the list holds. Look at the skip reasons on the recipient list before assuming consent. No reachable channel on an SMS campaign usually means the contacts have no confirmed mobile, which is a data question, not a consent one.

Somebody wants to opt back in. This is deliberately manual. Untick the boxes on the Communication consent card and record why in the reason — no inbound message and no agent will do it for you.

You need to stop every channel at once. Use Do not contact rather than ticking all three per-channel boxes. It also covers channels that have no box of their own, chat among them.

Related

Sign in to KarmaFlow