When GoHighLevel texts stop sending, leads stop getting replies and reminders stop going out, usually without anyone noticing for days. This guide shows how to find out why a text failed, what the common error codes mean, and how to fix each cause, from an empty wallet to A2P 10DLC and carrier filtering.
1. The 60-second check
- Open the contact's conversation. A failed text is marked as failed; hover over or click it to see the error.
- Check the phone wallet (LC Phone) has a balance and auto-recharge is on.
- Check the sub-account has a phone number and it's set as the default for texting.
- US numbers: check A2P 10DLC status is approved, not pending or rejected.
- Check the contact: a valid mobile number, no Do Not Disturb for SMS, and they haven't replied STOP.
- Check status.gohighlevel.com for a phone or messaging incident.
If the text was supposed to come from a workflow, also check the workflow ran at all (see GoHighLevel workflow not working).
2. What the error codes mean
LC Phone, GoHighLevel's phone system, runs on Twilio, so failed texts usually show Twilio error codes. The most common:
| Code | Meaning | Fix |
|---|---|---|
| 30034 | Sent from a US number not registered for A2P 10DLC | Complete or fix your A2P registration |
| 30007 | Filtered by the carrier as spam or a rule violation | Check content, links, consent and A2P status |
| 21610 | The recipient replied STOP | Don't text them; they must reply START to opt back in |
| 30006 | Landline or a number that can't receive texts | Ask for a mobile number |
| 30003 / 30005 | Phone unreachable, off, or number doesn't exist | Check the number; retry later |
| 21211 | Invalid phone number format | Use international format, e.g. +15555550123 |
| 21408 | Texting to that country isn't enabled | Enable the destination country, or use a local number there |
| 30032 | Toll-free number not verified | Complete toll-free verification |
| 30008 | Unknown error from the carrier | Retry; if it repeats, contact support with the message ID |
If you use your own Twilio account instead of LC Phone, the same codes appear in the Twilio console's messaging logs, with more detail.
3. Account and billing problems
- Empty wallet: LC Phone charges per message. If the balance runs out, texts stop. Turn on auto-recharge with a sensible top-up amount.
- Agency rebilling: if your agency rebills texting, the sub-account's balance can run out even when the agency's doesn't. Check both.
- Failed card: an expired card on the agency account can pause phone services.
4. Phone number problems
- No number, or the wrong default: a sub-account needs a number assigned and set as the default for SMS. Workflows can also pick a specific "from" number.
- Released or ported number: if a number was released or is mid-port, texts from it fail.
- After a sub-account transfer: numbers and A2P registrations don't always move with it. See sub-account transfer.
5. A2P 10DLC and toll-free verification (US)
Since February 2025, US carriers block texts from unregistered local (10DLC) numbers. If your US texts fail with 30034 or 30007, check that both the brand and the campaign are approved, and that the number is attached to the approved campaign.
- Not registered yet: A2P 10DLC registration in GoHighLevel.
- Rejected: why A2P campaigns get rejected and how to fix them.
- Toll-free numbers need their own verification before they can text.
6. Contact problems
- Do Not Disturb: DND on SMS or all channels blocks texts. It's set automatically when someone replies STOP.
- Bad number format: numbers imported without a country code may be read as the wrong country. Fix them and set the default country before importing (see importing contacts).
- Landlines: a form that accepts any phone number will collect landlines. Ask for a mobile number.
- Other countries: texting abroad from a US number may be disabled or blocked. Use a local number in each country.
7. Message content that carriers filter
- Public link shorteners such as bit.ly are often filtered. Use your own domain.
- Restricted topics: cannabis, alcohol, firearms, tobacco, adult content and some lending are filtered or need special approval.
- Spammy wording: all caps, lots of punctuation, "FREE!!!" and urgency phrases.
- No business name: say who you are in the first message, and include opt-out wording in marketing texts.
- Content that doesn't match your A2P campaign: sending promotions on a campaign registered only for appointment reminders can get you filtered.
8. Sent or delivered, but not received
If GoHighLevel shows a text as sent or delivered but the person says they never got it:
- Their phone's spam or unknown-sender filter may have hidden it. Ask them to check filtered messages.
- The carrier may filter silently, especially for unregistered or low-trust senders.
- They may have blocked your number.
- Test by texting your own phones on different carriers (for example Verizon, AT&T and T-Mobile in the US).
9. Incoming texts not showing up
- Check the number is still assigned to the sub-account and hasn't been released.
- If you use your own Twilio account, check the number's messaging settings still point to GoHighLevel.
- Check the contact wasn't merged or deleted, and search Conversations by number.
10. Outside the US
A2P 10DLC is US-only, but other countries have their own rules. UK and Australian businesses often use an alphanumeric sender ID (your business name), which can't receive replies, and Australia has a Sender ID Register. See the Spam Act and Sender ID Register and GDPR and PECR.
If calls are the problem rather than texts, see GoHighLevel calls not working.
How to stop it happening again
- Turn on wallet auto-recharge and a low-balance alert.
- Build a daily test: a workflow that texts your own phone, so you notice failures the same day.
- Review failed messages and workflow errors weekly.
- Keep your A2P campaign description in line with what you actually send.
Texts still failing?
I'm Arslan Mumtaz, a software engineer who fixes GoHighLevel messaging, A2P registrations and workflows for businesses and agencies. Many texting problems take an hour or two to fix, at $20/hr. See pricing or book a free call.
Frequently asked questions
How long can a GoHighLevel text message be?
One SMS segment holds 160 standard characters, or 70 if the message contains emojis or some special characters. Longer messages are split into several segments, and each segment is charged.
Can I send bulk SMS from GoHighLevel?
Yes, with bulk actions, campaigns or workflows. Only text contacts who agreed to it, keep within your A2P campaign's purpose and limits, and use the drip option to send in batches.
Why are my GoHighLevel texts sending twice?
Usually two workflows react to the same trigger, or re-entry lets a contact enter the same workflow twice. Check which workflows use that trigger and turn off re-entry where it isn't needed.