Meta requires an opt-in before a business starts a conversation, and India's DPDP Act asks you to prove consent. i-Connect keeps every change as an event with its evidence, and checks it again on every message, whatever sends it.
Marketing, utility and email consent
Each contact has three separate consents, each Opted in, Opted out or Unknown:
- Marketing: offers, announcements, re-engagement.
- Utility: updates about something the customer started, such as an order, booking or appointment.
- Email: marketing email. Agreeing to WhatsApp messages is not agreeing to email, or the other way round. See Email your customers.
Someone who asked for appointment reminders has not agreed to promotions. Keep the two apart in your forms and your wording.
Who can receive what
| Template category | Sent when | Skipped when |
|---|---|---|
| Marketing | Marketing consent is Opted in. | Opted out (counted as "Opted out") or Unknown (counted as "No consent for this message type"). |
| Utility | Utility consent isn't Opted out. | Opted out. If you turn on Utility messages need explicit opt-in (Settings → General), Unknown is skipped too. |
| Authentication | Utility consent isn't Opted out. | Opted out. |
These checks run at the moment of sending for broadcasts, sequences, form follow-ups, the inbox and the API. Free-form replies in the inbox (inside the 24-hour window, because the customer wrote first) are allowed unless the person sent a stop-everything keyword such as STOP ALL.
How consent is recorded
Every opt-in or opt-out is stored with where it came from. Changes without their evidence are refused.
| Source | Evidence kept |
|---|---|
| Hosted form | The form, the exact consent text shown and its version, the purpose, IP address, browser and time. |
| WhatsApp Flow | The Flow's consent question and the token of that Flow message. |
| Keyword | The WhatsApp message that carried it (for example START or STOP). |
| Import | The import and the attestation text you confirmed (below). |
| API | The exact wording the person agreed to (opt-ins). Opt-outs need nothing extra. |
| Manual change by a teammate | A written evidence note and who made the change. |
| Meta | The person turned off marketing messages in WhatsApp (also when Meta reports error 131050). This can only opt out. |
| Email unsubscribe or spam complaint | The email it came from. This can only opt out, and only of email. |
You can see a contact's full consent history on their profile.
STOP and other keywords
| Setting (Settings → General) | Defaults | Effect |
|---|---|---|
| Opt-out keywords | STOP, UNSUBSCRIBE, STOP ALL, OPT OUT, OPTOUT | Opts out of marketing. |
| Stop-everything keywords | STOP ALL | Opts out of marketing and utility. |
| Opt-in keywords | START, SUBSCRIBE | Opts in to marketing, and undoes a stop-everything opt-out. |
- The whole message must match, ignoring capitals and punctuation: "stop" and "Stop!" opt out; "stop sending me the price list" doesn't, because it's a conversation for your team.
- The Stop promotions button you can add to marketing templates opts out of marketing in one tap.
- STOP and START never get an auto-reply.
Opt-outs always win
- An opt-out from any source applies at once to broadcasts, sequences, forms and the API, cancels messages already queued for that person, and ends their sequences.
- Only the person can reverse their own opt-out: by sending an opt-in keyword, answering a Flow's consent question, or confirming a web form from their own WhatsApp number.
- Imports, the API, bulk edits and manual edits can't turn an opt-out back into an opt-in.
- If someone who opted out fills in one of your web forms, their submission waits. The thank-you page offers Confirm on WhatsApp with a code; consent is applied only when that code arrives from their own number.
Imports need attested consent
When you import contacts (Contacts → Imports), you choose the purpose and can tick a statement like this one:
These contacts gave consent to receive WhatsApp messages from your organisation for marketing.
- Ticked: new contacts in the file are recorded as Opted in for that purpose, with the import and that exact text as evidence.
- Not ticked: new contacts get Unknown consent, so they won't receive marketing.
- Contacts you already have keep their consent. The exception: if you tick the statement, an existing contact whose consent for that purpose is Unknown becomes Opted in, with the same evidence. An import never changes Opted out to Opted in.
Only tick it if it's true: a list you bought, scraped or collected for another purpose isn't consent, and messaging it puts your number at risk (Acceptable Use & Messaging Policy).
Erasure
When you erase a contact, their personal data and message content are removed. A one-way hash of the number and the consent history (keyed to that hash) are kept, so that person is never messaged again by mistake, for example after an old list is imported.
Still stuck? Write to support@i-connect.world with your organisation's name and what you see on screen.