Most email platforms model consent as a state: a contact is subscribed, or unsubscribed, or pending. It is a compact representation and it works right up until someone asks a question that state cannot answer.
The questions arrive in a predictable order. A recipient complains they never signed up. A client offboarding asks you to prove the list you are handing over is clean. An auditor asks on what lawful basis you are processing an address. Each of these needs a history, and a boolean does not have one.
What a consent event contains
In SendNectar, every consent interaction is written at the time it happens as an event. Not a state change — an event, retained. Each one carries:
- Event type —
requested,granted,confirmed,withdrawn, ormigrated. - Lawful basis —
consent,contract,legal_obligation, orlegitimate_interest. This is the question a regulator asks first, and it is answered per event rather than assumed for the account. - Subject — the brand, the contact, the specific email address, and the subscription topic. Consent to one topic in one brand is not consent to another.
- Source — where the interaction came from: a named form, a preference centre, an import, an API call.
- Occurred at — when it actually happened, stored separately from when it was recorded.
- Evidence — structured proof of the interaction, with an optional reference to the consent document that was shown.
Current subscription state is derived from that history. The history is the record; the state is a convenience.
Why “occurred” and “recorded” are separate fields
This looks like pedantry until you migrate. When you import an audience from a previous platform, the consent did not happen at the moment of the import — it happened months or years earlier, on someone else’s form. Collapsing those two timestamps into one produces a record that claims every contact opted in on the day you switched vendors, which is both false and obviously false to anyone reviewing it.
Keeping them apart lets you carry the original timing across and tell the truth about when you learned it.
The four things you can do at import
Import is where most consent records get quietly laundered. The standard flow asks you to tick a box confirming everyone opted in, then marks the whole file as subscribed. Whatever evidence existed is gone, replaced by an assertion.
We make the choice explicit, and we record which one you made:
preserve_evidence— you are carrying real consent records across, and they come with you.pending_confirmation— contacts must confirm before they receive marketing. Safest, and the default.admin_attested— you are personally attesting to the consent, and that attestation is stored with your name on it.none— imported without a consent claim. They exist; you may not market to them yet.
None of these is wrong. Choosing without recording which one you chose is.
Suppression is evidence too
The mirror image of consent is suppression, and the common failure there is deletion. A platform that “removes” an unsubscribed address loses the proof it was ever suppressed, and — worse — loses the block itself if the address is re-imported later.
Suppressions in SendNectar are records: a hashed address, a scope (tenant, brand, or topic), a reason, a source, and an active flag. The hash means the block survives without keeping the address in the clear. The scope means unsubscribing from one brand does not silently destroy deliverability in another. And because a suppression is revocable with an audit trail, a mistaken block can be lifted without anyone rewriting history.
The switch that does not exist
One design decision underpins all of this: bounce, complaint, and unsubscribe processing cannot be turned off. Not on the free tier, not by an administrator, not temporarily for a big send. There is no setting, because a setting is something that eventually gets switched.
That constraint costs us the occasional customer who wants to mail a purchased list. We think it is the correct trade. Every operator who takes permission seriously is competing for inbox placement against operators who do not, and a platform that makes the shortcut available is choosing a side.
Practically, what should you do
If you are evaluating any platform, including this one, ask it to produce the full consent history for a single contact — every event, with basis, source, and timing. If it can only show you a current state, you do not have a record. You have a claim.