HLAI Experts

Guide · Texting

Why a text failed in HighLevel: read the error code

When a text fails in GoHighLevel (GHL), the conversation marks that message as unsuccessful, and hovering over or selecting its warning shows the delivery details with an error code. The code tells you whether the problem is the recipient's phone, the number on the contact, or an opt-out. Read it before you press Try again, because resending doesn't change the cause.

Rob EasonPublished

Where the code is

Open Conversations and find the message marked unsuccessful. A failed message can show a Try again option, and it's tempting to press it straight away. Hover over the warning indicator first, or select it, to see the delivery details.

Learn More in those details opens HighLevel's troubleshooting article for that specific error. Write the code down. It's the one fact the rest of the fix depends on, and you'll want it if the problem ends up with Support.

Read the code, then decide. Try again comes last.

Three common codes and what they mean

HighLevel keeps a list of common unsuccessful SMS errors. These three cover very different causes:

  • 30003: the destination handset is unreachable. The phone may be off, out of signal, or on a line that can't receive texts.
  • 21610: the contact has opted out, or SMS DND is enforced on them. This one is about consent, not delivery.
  • 21211: the destination number is invalid. Look at how it's written on the contact record.

30003, up close

Twilio's error reference describes 30003 as an unreachable destination handset. The causes it lists are a phone that's switched off, a weak signal, or a line that can't take SMS at all.

A single 30003 points at the recipient's side first. A pattern is different. When 30003 keeps coming back across long-code or toll-free sending, Twilio notes that carrier filtering can be involved as well.

It also isn't always permanent. A phone that was off gets switched back on. The code by itself can't tell you which of these causes you're looking at, so treat it as a lead to check, not a verdict on the number.

What to do for each code

Work through it in this order, and only resend once the cause is dealt with.

  1. Open the conversation and find the unsuccessful message.
  2. Read the warning details and follow Learn More for that code.
  3. For 30003, the questions are power, signal and whether the line can take SMS. If you can reach the person another way, confirm their current mobile number.
  4. For 21211, correct the number on the contact record before anything else.
  5. For 21610, don't resend. The contact has opted out or is under SMS DND.
  6. If the same failure keeps happening across contacts, save a few recent examples with their codes and take them to HighLevel Support.

Habits that make a failed text worse

Each of these starts from skipping the code:

  • Pressing Try again on every failed message before reading why it failed.
  • Deleting a contact after one 30003, when the phone may only have been switched off.
  • Resending to a contact who came back with 21610.
  • Leaving a 21211 number as it is and hoping the next send works.

Rather have it set up for you?

We check your sending numbers and registration and work through the failed texts code by code, starting with a 30-minute 1:1 with Rob.

Book a 1:1 with Rob

Questions

Failed texts in HighLevel

What does error 30003 mean in HighLevel?
The destination phone couldn't be reached. Twilio lists a powered-off phone, a weak signal and a line that can't receive SMS as causes. It doesn't, by itself, mean the number is disconnected for good.
Is a 30003 failure a problem with my account?
A single one points at the recipient's phone first. If many texts fail with 30003 across your long-code or toll-free sending, Twilio notes carrier filtering can be involved, so collect examples and contact Support.
Should I just press Try again?
Not until you know the cause. If the phone was only switched off, a later resend may go through. If the number is invalid or the contact opted out, resending changes nothing.
What's the difference between 21610 and 30003?
21610 means the contact opted out or SMS DND is enforced, so the text isn't sent to them. 30003 means the text tried to reach the phone and couldn't. The first is about consent; the second is about the handset.
Why did one text fail when the same message reached everyone else?
Codes like 30003 and 21211 describe the destination, not the message. One failure among successful sends points first at that contact's phone or the number saved for them.
Where do I find what an error code means?
Select the warning on the failed message in Conversations and choose Learn More. It opens HighLevel's troubleshooting article for that error.
Rob Eason

Who you talk to

Rob Eason

Rob runs HLAI Experts and takes the 1:1 calls himself.

He is a HighLevel Certified Admin with the second-most reviews in HighLevel's Certified Admin Directory worldwide, all of them 5 out of 5.

He won HighLevel's Top New Subaccounts via AI Employee award in its 2025 Summer of AI Awards and taught HighLevel's official masterclass on its AI Employee.

Before HighLevel, he co-owned a 60-employee financial services firm and sold his share.

On the call he looks at your account, not a script.

5/5 across 83 reviews in HighLevel's Certified Admin Directory