Home/Help Center/Opt-in and consent

Sales

Opt-in, STOP/START and Marketing Preferences

See the exact WhatsApp opt-out and opt-in keywords VGraple CRM recognises, what happens the moment someone opts out, and how Meta's own marketing-stopped signal is honoured.

By Chirag Darji · Updated 27 Aug 2026 · 8 min read

On this page
  1. Before you start
  2. Steps
  3. What you will see
  4. Settings and options
  5. Troubleshooting
  6. Why does opting out cancel a running sequence immediately rather than letting it finish?
  7. Why are WhatsApp's keywords broader than Instagram and Messenger's?
Broadcast delivery settings in VGraple CRM: quiet hours and marketing frequency cap

Opt-in and consent in VGraple CRM is enforced automatically, not something you manage by hand for every contact: a recognised keyword updates status instantly, sends a confirmation, and cancels any running automation for that person immediately. This walkthrough covers the exact keywords, what each transition does behind the scenes, and how Meta's own marketing-stopped signal is honoured on top of it.

Opt-in and consent: first 5 of 7 steps

  1. 1Understand what happens when a contact sends
  2. 2Know that running automation stops instantly, too
  3. 3See the automatic confirmation
  4. 4Check a contact's status from its detail
  5. 5Understand how a contact opts back in
The steps on this page, in order.

Before you start

  • No setup is required to activate opt-in and consent handling; it runs on every message received on your WhatsApp number automatically, on every plan.
  • Understand the difference between opting out of business-initiated messaging and blocking a business entirely: opting out stops broadcasts, sequences and automated templates, but a human agent can still answer a question the contact asks directly, within Meta's 24-hour service window.
  • If you plan to import a contact list and mark it opted in, read the consent attestation requirement in importing contacts from CSV first, since marking a list opted in without genuine consent risks a policy violation on your WhatsApp number.
  • Know that WhatsApp's keyword list is separate from Instagram and Messenger's; if your business also uses Instagram DMs or Messenger, the recognised words differ slightly there.

Steps

  1. Understand what happens when a contact sends an opt-out keyword. No setup step is needed here; the moment an inbound WhatsApp message's full text matches stop, stopall, unsubscribe, cancel, end, quit, optout, opt out or opt-out (case-insensitively), the contact is marked opted out immediately.

WhatsApp broadcast campaign report in VGraple CRM with delivered, read and replied stats per contact

  1. Know that running automation stops instantly, too. Any flow execution currently running or waiting for that contact's input is cancelled the same moment, so a sequence sitting in a wait step never wakes up and keeps sending after the opt-out.

  2. See the automatic confirmation. The contact receives "You have been unsubscribed and will no longer receive messages from us. Reply START to opt back in at any time," sent once, automatically, with no configuration needed.

  3. Check a contact's status from its detail view. Open any contact in Contacts to see its current opted-in status, and whether Meta's own marketing_stopped signal has additionally been set, both shown independently since they come from different sources.

  4. Understand how a contact opts back in. Sending start, unstop, subscribe, optin, opt in or the reverse of opt-out reactivates them, but only if they are currently opted out; these words do nothing to a normal, already opted-in contact.

  5. See the resubscribe confirmation. "You are subscribed again and will receive messages from us. Reply STOP at any time to unsubscribe," sent automatically on the actual transition back to opted in.

  6. Check how a broadcast handles opted-out contacts. Build an audience that includes an opted-out contact if you like, since a segment does not automatically exclude them from being matched; the exclusion happens at send time, where they are suppressed and never billed rather than blocking the whole campaign.

What you will see

An opted-out contact shows a clear status indicator on its detail view, along with the date the opt-out happened. Any broadcast, sequence enrolment or automation attempt targeting that contact shows it as suppressed rather than sent, with the reason visible in the campaign's recipient breakdown. If Meta's own marketing_stopped signal fired independently of a typed keyword, that shows as its own separate flag, since the two are tracked and honoured independently.

Settings and options

Setting or fieldWhat it doesDefault
WhatsApp opt-out keywordsstop, stopall, unsubscribe, cancel, end, quit, optout, opt out, opt-outAlways active, not configurable
WhatsApp opt-in keywordsstart, unstop, subscribe, optin, opt in, opt-out's reverse formAlways active, not configurable
Instagram and Messenger keywordsSTOP, UNSUBSCRIBE, CANCELAR (opt-out); their reverse (opt-in)A separate, narrower set, always active
marketing_stopped_atMeta's own in-app "stop marketing messages" signalHonoured automatically on marketing sends
Opted-in status on importWhether imported contacts are marked eligible for marketing sendsOff, gated behind a consent attestation checkbox

Troubleshooting

SymptomLikely causeFix
A contact says they never got the opt-out confirmationThe keyword sent did not exactly match the recognised list, most commonly extra words in the same messageCheck the exact message text; the match is on the whole trimmed message, not a substring inside a longer sentence
A sequence kept messaging a contact who opted outThis should not happen, since opt-out cancels every running flow execution immediately; check whether the opt-out was actually registeredConfirm the contact's status shows opted out with a timestamp; if it does and messages still went out, contact support with the conversation reference
A contact opted out but still appears eligible in a broadcast audience countSegments do not automatically exclude opted-out contacts from matching; suppression happens at send timeExpected behaviour; check the campaign's recipient breakdown after sending to confirm they were suppressed, not actually sent to
Sending "start" as a normal contact triggered nothingCorrect, expected behaviour: opt-in keywords are only honoured on a contact that is currently opted outNo fix needed; this is intentional so common words do not accidentally trigger anything for regular contacts
Marketing messages still went out after a customer tapped "stop marketing messages" in WhatsApp itselfMeta's marketing_stopped webhook can take a short time to propagate, or the send was already queued before the signal arrivedWait a short period and recheck; this signal is honoured automatically once received, with no manual step needed
A CSV import will not let me mark contacts opted inThe consent attestation checkbox was not tickedSee importing contacts from CSV for the exact consent requirement before marking a batch opted in

Why does opting out cancel a running sequence immediately rather than letting it finish?

A sequence sitting in a wait step, paused for a day or a few hours before its next message, would otherwise wake up and keep sending after a contact has already asked to stop, which is a direct violation of WhatsApp's Business Policy requirement that an opt-out be honoured immediately. VGraple CRM cancels every flow execution in a running or waiting-for-input state for that contact the same moment the opt-out registers, rather than letting an already-scheduled step complete first. This is stricter than simply excluding the contact from future broadcasts, since it also stops an automation that is already mid-flight.

Meta policy

WhatsApp's Business Messaging Policy requires that a contact's opt-out be honoured immediately and that marketing messages stop the moment Meta's own marketing_stopped signal fires, independent of any opt-in record the business keeps itself. VGraple CRM enforces both: an opt-out keyword marks the contact and cancels running automation instantly, and Meta's own signal is honoured on marketing sends specifically, while still permitting a human agent to answer a question within the 24-hour service window.

Why are WhatsApp's keywords broader than Instagram and Messenger's?

WhatsApp's consent handling has been part of VGraple CRM longer than Instagram and Messenger support, and its keyword list intentionally includes words like "cancel," "end" and "quit" that are plausible things to say about an order or an appointment, not only a subscription. Instagram and Messenger use a narrower set, STOP, UNSUBSCRIBE and the Spanish CANCELAR, matched as an exact whole-message instruction rather than including broader words, specifically so a sentence like "we can start on Monday" is never misread as a consent instruction on those channels. The two systems were deliberately kept separate rather than merged into one shared list, since widening Instagram and Messenger to match WhatsApp's broader set would be a real behaviour change, not a harmless cleanup.

Example

A customer messages "please cancel my order" on WhatsApp. Because "cancel" is in WhatsApp's opt-out list, this is treated as a consent instruction and the contact is marked opted out, receiving the standard unsubscribe confirmation, which is a known tradeoff of the broader WhatsApp keyword list worth being aware of if your business regularly receives cancellation requests as free text.

Once you understand how consent is enforced, review managing contacts, custom fields and segments to see opted-in status alongside every other contact field, or importing contacts from CSV before bringing in a list you plan to message.

Frequently asked questions

What exact words opt a contact out on WhatsApp?
Stop, stopall, unsubscribe, cancel, end, quit, optout, opt out and opt-out, matched case-insensitively against the whole trimmed message. A message containing extra words around one of these, like a full sentence, does not trigger it; the message has to be essentially just the keyword.
What exact words opt a contact back in?
Start, unstop, subscribe, optin, opt in and opt-out's reverse form, matched the same exact way. These only take effect on a contact that is currently opted out; sending "start" as a normal contact does nothing, since the keyword is gated on an actual opted_out_at timestamp being present.
What message does a contact see after opting out?
A confirmation saying they have been unsubscribed and will no longer receive messages, with instructions to reply START to opt back in at any time. It is sent automatically, once, the moment the opt-out registers.
Does sending STOP twice send two confirmation messages?
No. The confirmation is sent only on the actual transition from opted-in to opted-out; a repeat STOP from an already opted-out contact is recognised and produces no second message, no second broadcast opt-out count increment, and no duplicate webhook event.
Does opting out stop a human agent from replying too?
No. Opting out suppresses business-initiated messaging, broadcasts, sequences and proactive automated templates, and cancels any running flow for that contact immediately. It does not prevent a human agent from answering a question the contact asks directly, which is exactly what Meta's 24-hour service window exists to permit.
Are Instagram and Messenger opt-out keywords the same as WhatsApp's?
No, deliberately. WhatsApp's list is broader and includes words like "cancel" and "end" that are plausible things to say about an order. Instagram and Messenger use a narrower, separate set, STOP, UNSUBSCRIBE and the Spanish CANCELAR, matched as an exact whole-message instruction.
What is Meta's own marketing_stopped signal, separate from a STOP keyword?
A webhook Meta fires when someone taps "stop marketing messages" directly inside the WhatsApp app itself, honoured automatically on marketing sends specifically, independent of whatever opt-in record VGraple CRM keeps from a typed keyword. Utility and service messages are unaffected by it.
Can a contact who opted out still be included in a segment?
Yes, a segment can still show an opted-out contact if the condition does not filter on opt-in status; sending a broadcast to that segment simply suppresses the opted-out contact automatically at send time rather than blocking the whole send.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.