Two opt-ins, one import
The buyer ticks the terms box, then chooses the newsletter and the customer base. Both answers arrive with the message; the CRM team imports only those who said yes.
Brand & control
Every recording requires an active acceptance of your terms. Optional marketing choices stay separate, so a sender can agree to the message without being signed up for anything else.


Where it acts
Consent is rarely read where it is written. Someone has just recorded a message, one tap from sending — that is where the question belongs, not a footer link nobody opens.
The consent block closes the form: the mandatory box, then one box per opt-in.
Each label is a translatable string, scoped per language and country variant.
The list of opt-ins and the switch that displays it are platform settings.
Every answer is a field of the message, read back with it.
How it works
You list your opt-ins on the platform and switch the consent block on.

One required box for your terms, then one box per opt-in, before sending.
GET /api/v3/messages/xK3vQ9{ "objectId": "xK3vQ9", "language": "fr", "data": { "consents_nl": true, "consents_crm": false }}
Each answer is a field of the message, read with it through the API.
Good to know
What the platform renders, what it blocks, and what it leaves to you.
Declaring the opt-ins is only half of it: a separate platform switch decides whether the block appears at all.
The terms and data box is the only one that can stop a submission; additional opt-ins cannot be made mandatory.
We provide the slot, the blocking behaviour and the translation scoping; the legal sentence and its links are yours.
Consent is captured at submission. There is no screen for withdrawing an opt-in later — that path is designed with you.
Designed with youThe buyer ticks the terms box, then chooses the newsletter and the customer base. Both answers arrive with the message; the CRM team imports only those who said yes.
One platform, one flow, three jurisdictions — the mandatory box points to the terms of each, in the participant’s language. A fourth country is a translation, not a rebuild.
Example brand and messages, for illustration.























FAQ
On the message itself, as a boolean next to the sender’s details — no separate consent feed. You read it back with the message, through the API or in your exports.
Yes — you declare the list on your platform and one box is rendered per value. Nothing appears until the display service is switched on, and the list is per platform, not per campaign.
Yes. Each label is a translatable string scoped to your platform, its language and its variant — your legal links included.
Yes: the sender’s IP and the first viewer’s are stored with the message, and the country is derived from it through an external lookup service. Both are removed when your retention window closes.