GoHighLevel SMS opt-out keywords: STOP, START and HELP

Short answer
In GoHighLevel, a contact who texts STOP, STOPALL, CANCEL, UNSUBSCRIBE, END or QUIT is opted out: permanent SMS DND turns on and queued texts fail. Twilio also treats REVOKE and OPTOUT as opt-outs. To opt back in, the contact texts START, YES or UNSTOP; on toll-free numbers only START or UNSTOP. Matching is case-insensitive. You can't remove the opt-out yourself.
How it works
- Set your opt-out wording. Settings > Phone System > Messaging > SMS Compliance: the opt-out line added to your texts, like Reply STOP to unsubscribe.
- The words that opt out. STOP, STOPALL, CANCEL, UNSUBSCRIBE, END and QUIT in HighLevel's list; Twilio adds REVOKE and OPTOUT.
- What happens next. A permanent SMS DND turns on. The business can't remove it; only the contact can, by replying START, YES or UNSTOP.
- Toll-free numbers. YES doesn't opt back in on toll-free. Use START or UNSTOP.
- Error 21610. Don't resend. The contact has to opt back in first.
- Your own Twilio account. Non-ISV Twilio accounts can set custom opt-out, opt-in and help keywords and replies with Twilio's Advanced Opt-Out.
- Periodic opt-out reminder. HighLevel can add the opt-out reminder periodically, per sub-account.
How to find the cause
When an opt-out doesn't behave the way you expect, the contact's record and the failed texts show what happened.
| What you see | What it means | What to do |
|---|---|---|
| They replied STOP, and later texts fail with 21610 | It's working: permanent SMS DND is on | Don't resend. Only the contact can lift it |
| They wrote "please stop texting me" and still get texts | A full sentence isn't one of the listed keywords, so it may not trigger the automatic opt-out | Turn on SMS DND for them yourself. CTIA's messaging principles say opt-outs in normal language should be read and acted on |
| They wrote "OPT OUT" with a space | Twilio recognizes OPTOUT but not OPT OUT | Treat it as an opt-out and turn on SMS DND by hand |
| They replied YES on a toll-free number and are still blocked | YES doesn't undo an opt-out on toll-free | Ask them to reply START or UNSTOP |
| They replied START, but texts still fail | The opt-in didn't clear the DND | Check the DND section; if it's still on, contact HighLevel support with the number and the time of their reply |
| DND is on and nobody knows why | The conversation shows DND Enabled by, and what set it: a workflow, a user or the contact | If it was a workflow, open that workflow to find the step that changed it |
| A text failed with 30003 to 30006 and DND turned on | That's a carrier error, not an opt-out | Confirm the number is a working mobile, then switch SMS DND off |
How to confirm it's fixed
- Make a test contact with your own phone. One you don't mind opting out and back in.
- Check the first message. Send it a first text. It should end with your opt-out line and sender information.
- Reply STOP. A pass: SMS DND turns on for the test contact, the conversation shows DND Enabled by the contact, and a test text from your account fails with 21610.
- Reply START. Or UNSTOP if you're testing a toll-free number. A pass: SMS DND turns off and your next test text arrives.
- Try it in lowercase. Reply stop, then start again. Matching ignores case, so it should behave the same.
- Check periodic reminders. If you turned on Enable periodic opt-out & sender info, check that a contact you text regularly sees the opt-out line again after the number of days you set.
CTIA's guidance is one final confirmation text after an opt-out, and nothing after it. If your number sends a confirmation, it should be the only text that follows a STOP.
Where this shows up in GoHighLevel
- The contact's DND section, at the bottom of the left column: SMS grayed out means texts to them are blocked.
- The conversation: DND changes appear as DND Enabled by or DND Disabled by, naming a workflow, a user or the contact.
- Failed texts in Conversations carry a red marker; hover over it to see 21610.
- Settings > Phone System > Messaging tab > Messaging Analytics: the Opt-Out Rate card shows the share of contacts who replied with an opt-out keyword, over a date range of up to 90 days.
- Workflows: the Messaging Error – SMS trigger can catch 21610, for example to tag the contact or tell your team.
- Your first text to each contact: HighLevel adds your sender information and opt-out line to it automatically, even with periodic reminders off.
Common questions
- Is HELP a keyword?
- Twilio reserves HELP. HighLevel doesn't document its own HELP auto-reply, so include a business name and contact in your HELP wording for A2P.
- Can I add my own opt-out words on LC Phone?
- We didn't find that documented for LC Phone; custom keywords are documented for your own Twilio account.
- Can I turn off the opt-out line on my texts?
- Trial accounts, sub-accounts less than 15 days old and restricted users can't. HighLevel also skips adding the line when a text already has a full phrase like Reply STOP to unsubscribe, but not when STOP is just a word in a sentence like stop by tomorrow.
- If they reply STOP to one of my numbers, can my other numbers still text them?
- No. In HighLevel the opt-out is an SMS DND on the contact, so it blocks texts to them whichever of your numbers sends.
- What if a customer asks to stop by phone or email?
- Turn on SMS DND for them yourself. CTIA's messaging principles say businesses should accept opt-outs by phone call, email or text, not just keywords.
More texting fixes
GoHighLevel SMS error 30007: why carriers filter your texts
The carrier blocked the text as likely spam. Usually a public link shortener, missing opt-out wording or weak consent.
GoHighLevel error 30034: texts fail from an unregistered number
Your US number isn't linked to an approved A2P 10DLC campaign yet. Register in Trust Center, then wait up to 24 hours.
GoHighLevel SMS error 30003: the phone couldn't be reached
The carrier couldn't reach the phone: off, no signal, or not able to take texts. It also turns on SMS DND for that contact.
A2P 10DLC campaign rejected in GoHighLevel: what to fix
The usual reasons: opt-in wording, a privacy policy that doesn't cover mobile data, sample messages, or the website.
GoHighLevel: a contact isn't getting your texts
Usually DND is on for that contact, or they replied STOP. You can't override a STOP; they have to text START.
GoHighLevel texts sending from the wrong number
HighLevel picks the number in a set order: the one chosen for that message, the user's number, the conversation's number, then the default.
GoHighLevel texts with links getting blocked
Public link shorteners get texts filtered. Use the full link or a short link on your own domain, with no more than one redirect.
GoHighLevel MMS or images not sending
Usually the image is too big for the carrier, the file type isn't supported, or the recipient is outside the US and Canada.
Want GoHighLevel set up and running for you?
Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.