Per-channel consent states, every way consent is recorded, the consent log as evidence, the suppression list, the marketing pause, and what you can and cannot change yourself.
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.
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.
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.
Source
Written when
Manual entry
You create or edit a contact in the app and change a consent switch
Import
A contact file sets or forces consent
API
A public API call creates or updates the profile
Embedded form
Someone submits a form you embedded on your own site
On-site popup
Someone submits a Senderz popup on your storefront
Preference center
The recipient changes their own choices on your unsubscribe page
One-click unsubscribe
The recipient uses the unsubscribe button in their mail app
SMS STOP reply
The recipient replies STOP to one of your messages
Store sync
A connected store reports the opt-in and has no label of its own
Shopify, WooCommerce, Konimbo, Magento
The named store reports the opt-in
Stripe, Tranzila, iCount
The named payment or invoicing provider reports the opt-in
WordPress form, WordPress account
The Senderz WordPress plugin reports the opt-in
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.
A store tells Senderz whether a customer accepted marketing. Two rules protect the record.
The opt-in keeps the store's own date
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 sync cannot re-open an opt-out
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.
Backfilling order history only ever adds consent
When you connect a store, Senderz reads your past orders. A box left unticked
at a checkout years ago says nothing about what the shopper wants now, so the
backfill keeps positive signals only. It can subscribe someone. It can never
unsubscribe anyone.
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.
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.
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.
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.
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.
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.
These are two different actions and it matters which one ran.
Per channel
Contact-wide
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.
The unsubscribe button at the bottom of your unsubscribe page, whose wording
you choose, withdraws every channel at once: email, SMS, push and
WhatsApp. It also revokes the person’s live browser push subscriptions and
adds their number to the WhatsApp opt-out list.
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.
Open a contact, choose Edit, and switch email, SMS, push or WhatsApp on
or off. The change is logged with the source manual entry against your
account.
You can subscribe or unsubscribe in bulk
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.
You can add and remove suppression entries
By hand, on the Suppression list tab, for an email address or a phone number.
You cannot edit or delete the consent log
There is no way to correct a past consent row. It is the evidence.
You cannot lift a marketing pause or a frequency choice
Both are the recipient’s instruction. They expire, or the recipient changes
them.
You cannot re-open an opt-out with a file
An import will not move an unsubscribed contact back to subscribed, even with
the force-subscribe boxes ticked.
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.