A2P 10DLC campaign rejected in GoHighLevel: what to fix

Short answer
Most A2P 10DLC rejections in GoHighLevel come down to a few things: the opt-in wording is missing or bundled with other consent, the privacy policy doesn't say mobile information isn't shared, the sample messages lack the business name or STOP, or the website is broken, behind a login or missing business details. Open "View required fixes" for each reason, fix all of them, and resubmit.
The common rejection reasons, and the fix
- Privacy policy (code 30908). Add: "No mobile information will be shared with third parties or affiliates for marketing or promotional purposes."
- Opt-in (30896). List every way people opt in. Use a separate checkbox, unchecked by default and optional. The consent text states the message type and how often, "message and data rates may apply", and how to opt out.
- Marketing consent. Get separate consent for promotional texts.
- Opt-out (30887). Include opt-out keywords and a confirmation that no more messages will be sent.
- HELP reply (30890). The HELP reply includes your business name and a phone number or email.
- Sample messages (30892, 30893). Include the business name and opt-out wording, make each sample different, put merge fields in brackets like [First Name], and use full HTTPS links, never public shorteners.
- Website (30891, 30907, 30919). Public, with no login wall, showing the company name, what you do, contact details, privacy policy, terms and a mention of the text program.
- Call-to-action check (30909). The opt-in form has to load at the exact website address you gave, with no login or cookie wall in the way.
- Brand details (30881). The legal name matches your registration documents, and the contact email is on your business domain, not Gmail or Yahoo.
How to resubmit
- Open the campaign. Settings > Phone System > Trust Center > Brands & Campaigns > Campaigns tab.
- Read every reason. Click "View required fixes" for each reason listed. A campaign often has more than one.
- Make it consistent. The description, samples, website, opt-in, privacy policy and terms should all describe the same program.
- Resubmit. Some fields can't be edited after submission; in that case, create a new campaign.
How to find the cause
Start with the campaign's status in Settings > Phone System > Trust Center > Brands & Campaigns > Campaigns. The status tells you whether there's anything to fix yet, and where to look.
| What you see | What it means | What to do |
|---|---|---|
| Pending | Carriers are still reviewing it | Wait. HighLevel says not to resubmit or create a duplicate campaign while it's pending |
| Rejected, with reasons listed | Reviewers want specific changes | Open View required fixes for every reason. Twilio notes a failed campaign always lists at least one error and often several, so fix them all in one pass |
| Ineligible | The content itself is on the forbidden list | Resubmitting won't change it; see the next section |
| Rejected, but the reasons point at your business details | HighLevel says brand problems, like a wrong EIN, a DBA that doesn't match, or more than one company on one EIN, can stop a campaign being approved | Check the brand's legal name, EIN and address against your registration documents |
| Approved, but texts fail with error 30034 | The sending number isn't linked to the campaign yet, or carriers haven't finished registering it | Check the number for the A2P Verified label; HighLevel's error dictionary says to allow up to 24 hours after approval |
Then check each reason against the live pages, not your notes. Open your website and opt-in form in a private browser window, logged out, the way a reviewer sees them. A form behind a login or cookie wall, or a privacy policy only reachable after sign-in, will fail the same check again.
Read your sample messages as a stranger would. Each one should name your business, read like a real text from the use case you picked, and include opt-out wording. Twilio's code 30893 is for samples that don't match the campaign's use case, like a promotion on a campaign registered for appointment reminders.
How to confirm it's fixed
- Let it sit in Pending. Expect Pending while it's reviewed, and don't edit or resubmit again in the meantime. Twilio's guidance quotes up to five business days for a standard campaign; HighLevel doesn't publish a fixed time.
- Check the number, not just the campaign. Once the campaign shows Approved, go to Settings > Phone System > Phone Numbers and confirm each number you text from has the green A2P Verified label. If it's missing, link the number to the approved campaign. HighLevel says texting won't work until it is.
- Text your own phone. From Conversations, send a message from the registered number to your own mobile. A pass is the text arriving with no red marker on it.
- If it fails with 30034. Wait up to 24 hours after approval and try again, as HighLevel's error dictionary suggests. If it still fails, contact support.
- Test the opt-out you described. Reply STOP from your phone and check that SMS DND turns on for your test contact, then reply START to opt back in. It's the flow you promised in the campaign, so make sure it works.
- Check the first day of real traffic. In Settings > Phone System > Messaging tab > Messaging Analytics, the Failed card lists any text that didn't go through, with its error code.
Content that can't be resubmitted
Some campaigns are rejected for the content itself, not the paperwork: sex, hate, alcohol, firearms and tobacco, cannabis, some lending, gambling, crypto, spam and phishing. HighLevel lists these as reasons that can't be fixed by resubmitting.
Common questions
- Does resubmitting cost more?
- HighLevel's fees page says there's no additional fee to resubmit a rejected campaign. The vetting fee applies once.
- Should I delete the campaign and start over?
- HighLevel's newer guidance is to fix and resubmit where the fields can be edited, and to create a new campaign only when they can't.
- Can Midwater write the consent wording for me?
- We can help you draft it on the call, but the registration is your business's and goes in under your name. Use HighLevel's required wording above as the checklist.
Rather we set it up?
We set this up for you as part of a done-for-you package, quoted on a free call.
Most complete
Complete GoHighLevel setup
Your whole GoHighLevel account built and run for you: phone, texting, email, calendars, pipeline, forms, every lead source, the automations and the reports.
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.
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.
GoHighLevel SMS opt-out keywords: STOP, START and HELP
STOP, STOPALL, CANCEL, UNSUBSCRIBE, END or QUIT opt a contact out. START, YES or UNSTOP opt them back in; toll-free only takes START or UNSTOP.
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.