Skip to main content
Consent in Senderz is not a checkbox. It is an evidence record. Every change writes a row that keeps the channel, the new state, where it came from, the IP address, the browser user agent and the moment it happened. That record is what proves a person agreed to hear from you. This page covers consent, the suppression list, and the marketing pause. The recipient-facing page behind your unsubscribe link is documented separately in Preference center.

Four channels, tracked separately

A contact carries a separate consent state for each channel. Someone can be subscribed to SMS and unsubscribed from email at the same time.

Email

Marketing email. Also the channel most one-click unsubscribes act on.

SMS

Marketing SMS and voice. Withdrawn by an inbound STOP.

Push

Browser push. Tracked per browser as well as per contact.

WhatsApp

Marketing WhatsApp. Only offered once WhatsApp is activated for the workspace.
Every channel stores its own state, its own source and its own timestamp. You can see all four on a contact under Channel consent on the contact profile.

The four states

Opted in. Marketing is allowed on this channel.
Opted out. Marketing is blocked. Transactional messages pass the consent check, though they are still stopped if the same address is on the suppression list, which an unsubscribe usually puts it on.
No opt-in has ever been recorded. This is the default when a contact arrives without a consent signal, and it is treated exactly like unsubscribed at send time.
Marked as no longer usable. Nothing in Senderz sets this automatically today. It is set by you, by an import file, or through the API, and it is the state an automation reads when its exit rule is “left because of a spam complaint”.
Only Subscribed lets a marketing message through. Never subscribed is not a softer version of subscribed. A contact imported without a consent column will not receive marketing until someone opts them in.
Every consent row records one of a fixed list of sources. The list is closed on purpose, so a label can never drift and your evidence stays comparable across years. You see these labels in plain words on the contact’s activity feed, next to the consent change they explain. Each subscribe and each unsubscribe appends a row holding:

Channel and state

Which channel changed and what it changed to.

Source

One of the labels above.

IP and user agent

Captured for opt-ins collected in a browser.

Timestamp

When the change happened, not when Senderz noticed it.
Consent changes appear inline on the contact’s Activity feed, in order, alongside sends, opens, orders and everything else. Open a contact from Contacts to read it.
Nothing in the app edits or deletes a consent row. There is no button for it and no API for it. The one thing that removes consent history is a privacy erasure: a data-deletion request from a connected store, or hard-deleting the contact, removes that person’s record including their consent rows. That is deletion of a person’s data, not correction of the evidence.

Producing proof of opt-in

Export the contacts you need from Contacts, and include the consent evidence columns in the export dialog. Per channel you can export:
  • the consent source, for email, SMS, push and WhatsApp
  • the consent timestamp, for the same four channels
Those eight columns plus the address are what a complaint or an audit normally asks for. A store tells Senderz whether a customer accepted marketing. Two rules protect the record.
If the store reports when the customer accepted marketing, that date is what Senderz records, not the moment the sync ran. A customer who opted in two years ago is stored as having opted in two years ago. A timestamp that cannot be read, or that sits in the future, is ignored and the sync time is used instead.
A live store update can move a contact from Never subscribed to Subscribed, and it can move Subscribed to Unsubscribed when the store explicitly says the customer withdrew. It can never move Unsubscribed back to Subscribed. Someone who opted out through you stays opted out.
An import file follows the same principle.
  • A truthy consent value subscribes. An explicit falsy value unsubscribes.
  • An import can never turn an opt-out back into an opt-in. That holds even when you tick the force-subscribe boxes on the last step of the import wizard. A genuine re-subscribe has to come from the person.
  • A state that already matches is skipped rather than rewritten, so re-uploading the same list does not restamp every opt-in date to today and bury the original evidence.
  • If the file carries a consent date column and you map it, that date is recorded instead of the import time.
See Import contacts for the wizard and the consent step.

Suppression is a different thing

Consent says what a person chose. Suppression is a hard block on an address or a number, whatever the consent state says. An address on the suppression list is skipped before anything else is checked. Find it at Contacts on the Suppression list tab.

Why an address gets suppressed

All nine appear in the Reason filter on the tab, alongside a channel filter and a search box.

What you can do on the tab

1

Search and filter

Search by email or phone. Filter by channel and by reason.
2

Add an address

Add address blocks an email or a phone number by hand. The screen warns you plainly: sending to that address will be permanently blocked across all campaigns and flows.
3

Remove an address

Removing an entry lets sending to it resume. Only do this if the address was suppressed by mistake. A hard bounce or a spam complaint is a real signal and removing it will hurt your deliverability.
4

Export CSV

Downloads the filtered list with the address, channel, reason, source and the date it was suppressed.
Every morning Senderz posts one notification summarising the addresses suppressed in the last 24 hours, split by reason, linking straight to this tab.

Where suppression sits in the send pipeline

1

Suppression

Checked first. A suppressed address is skipped and nothing else runs.
2

Transactional carve-out

Transactional messages and one-time codes stop here and go out.
3

Consent

The channel must read Subscribed.
4

Address quality

An email address Senderz has already flagged as invalid is skipped.
5

Marketing pause

A paused contact is skipped until the pause expires.
6

Frequency cap

Including a reduced weekly cap the recipient chose themselves.
7

Quiet hours and Shabbat

STOP handling

An inbound STOP arrives from the carrier, suppresses the number for your workspace within seconds, drops that contact’s SMS consent to unsubscribed, and appends to the consent log with the source SMS STOP reply. A STOP withdraws SMS only. It does not touch email, push or WhatsApp on the same person. WhatsApp uses the same phone number but is a separate channel with a separate opt-in, so it is left alone.
Because suppression is checked before everything else, a STOP also stops transactional SMS to that number, such as an order confirmation. That is the correct reading of an opt-out reply, but it is worth knowing if you rely on SMS for order updates. The one exception is a verification code sent through the one-time-code API, which is not checked against the suppression list.

The marketing pause

This is the single most common answer to “why did my campaign skip a subscribed contact”. On your unsubscribe page a recipient can choose to pause marketing instead of leaving. When they do:
  • Senderz stores a date the pause runs until.
  • Every marketing send skips them until that date, with the reason marketing paused.
  • They still read as Subscribed everywhere in the app, because they are. They did not withdraw consent, they asked for a break.
You can see it. A paused contact shows a Marketing paused notice on their profile naming the date, and the same field is available as an export column.
There is no button to lift a pause. That is deliberate. The pause is the recipient’s own instruction, and a merchant override would be a compliance problem, not a convenience. It clears on its own when it expires, or earlier if the person opts back in themselves. A re-save that leaves them already subscribed does not clear it, because they never withdrew the instruction.

Reduced frequency

The same page offers once a week only instead of leaving. Choosing it sets a cap of one marketing email per week on that contact. They stay subscribed, and sends beyond the cap are skipped as a frequency cap rather than as an unsubscribe. Like the pause, the recipient sets it, and it shows on the recipient’s own page as already active if they return.

Unsubscribing is per channel or contact-wide

These are two different actions and it matters which one ran.
The unsubscribe button in a mail app, an inbound SMS STOP, an unsubscribe reported by the mail provider, and each toggle on the preference center all act on one channel. The channel is the one the message was sent on. Turning off email leaves SMS, push and WhatsApp exactly as they were.

Re-subscribing

A person who opts back in through the preference center is genuinely restored:
  • The channel state returns to Subscribed and a new consent row is written.
  • The matching suppression entry for that address or number is removed, so sending resumes.
  • For push, subscriptions that were revoked by an unsubscribe are restored. Ones the browser itself revoked are not.
  • Any active marketing pause is cleared, because the person just told you the opposite.
You cannot do this on their behalf from an import file. You can do it on a single contact by editing them, which is a manual assertion you are responsible for.

What you can change, and what you cannot

Select contacts on the Contacts page. The action bar offers Subscribed to email, Subscribed to SMS, Subscribed to WhatsApp and Subscribed to all, plus Suppress. The Suppress action marks the selected contacts as unsubscribed on email and SMS. Push and WhatsApp are edited per contact.
By hand, on the Suppression list tab, for an email address or a phone number.
Both are the recipient’s instruction. They expire, or the recipient changes them.
An import will not move an unsubscribed contact back to subscribed, even with the force-subscribe boxes ticked.

Israeli compliance

Explicit opt-in, STOP handling, and quiet hours plus Shabbat are enforced at the send worker, not in the builder, so no campaign setup can produce a non-compliant send. Read Israeli compliance and Quiet hours & Shabbat.