GoHighLevel A2P Campaign Rejected? 9 Reasons & Exact Fixes (2026)
Your GoHighLevel A2P campaign rejected, and now your texts are not going out. This is common, and in most cases it is fixable.
Quick Answer
A GoHighLevel A2P campaign is rejected when carriers find a problem with your use case, sample messages, opt-in page, website, privacy policy, or message content. To see the reason, go to Settings, then Phone System, then Trust Center, open the Campaigns tab, and click View required fixes. Fix every reason shown, not just the first one, then resubmit.
Resubmitting costs $0 for most rejections. You can’t fix rejections for banned content, like cannabis, gambling, or loan offers. If your brand fails instead, check your business name and address. That fix is below.
This guide shows the 9 reasons it happens and the exact change that fixes each one, so you do not have to guess and resubmit again and again.
What Does “A2P Campaign Rejected” Mean?
A campaign tells carriers what you plan to text, who will get the messages, and how they agreed to receive them. When it was rejected, the review found something unclear, missing, or not allowed in that plan. Your business identity is a separate step called brand registration, and if that is the step that failed, you will see “A2P brand registration failed” instead.
Both can block your texts, but the fixes are different, so check which one is red in your Trust Center first.
Brand Rejected or Campaign Rejected? Check This First
These are two different registrations, and people mix them up all the time.
| Brand | Campaign | |
| What it is | Who your business is | What you send and how people agree to get it |
| What reviewers check | Legal name, EIN, business details | Website, opt-in, policies, sample messages |
| How you fix it | Correct your business details, sometimes re-register | Edit the campaign and resubmit |
Some codes show up on the campaign screen but are really brand problems. Rewriting your campaign text will not fix these:
- 30915: You registered as a sole proprietor but used a company name like LLC or Inc. Re-register as a standard brand with your EIN.
- 30903: Your brand does not meet the sole proprietor rules. Register as a standard brand and pick a standard campaign use case.
- 30894: The campaign is not linked to the right brand. Check that your brand details are valid and attached to the campaign.
- 30898: The same EIN is used for more than one brand. Fix your brand setup first, and only resubmit after that.
How to Find Your Exact Rejection Code?
Open the rejected campaign and click “View required fixes.” A box opens with four fields:
- Error code: the number the reviewer returned
- Rejection category: a short label for the problem
- What it means: a plain explanation of why it failed
- Correction needed: the exact change you need to make
Read all four before you touch anything. Reviewers do not stop at the first problem they find, which is why one campaign can show several reasons at once.
Review and vetting can carry fees, and they vary by registration type and rejection type. Check HighLevel’s A2P 10DLC messaging fees page for current pricing. If you resubmit after only a half fix, you may end up paying for another review, so fix everything on the list first.
Your campaign will also show one of three statuses:
- Pending: still in review. Nothing to fix yet, so wait.
- Rejected: read every code, fix them all, then resubmit.
- Approved but not sending: the registration passed, so the campaign is usually not the problem. Check that your number is attached to the campaign, that your wallet has balance, and that your message is not breaking any rules.
Do This Before You Change Anything: The Reviewer’s Walkthrough Test
Open a private browser window and go through your own setup the way a reviewer would. No login, no shortcuts.
- Load your website. Can you see your company name, what you do, and how to contact you?
- Find the page where people enter their phone number. Can you reach it from your site?
- Find the form. Is there a clear line saying people agree to get texts, with a note about message rates and how to stop?
- Find your privacy policy and terms. Do the links open, and do they mention text messages?
If you get stuck at any step, so does the reviewer.
This matters because codes 30909 and 30919 come from what reviewers could not find, not from what you wrote:
- 30909 means they could not verify how people agree to get your messages. If your form sits behind a login, upload hosted screenshots of it.
- 30919 means your website did not show enough about your business or your texting program. Add your company name, what you offer, your contact details, a privacy policy, and a line about your SMS messaging.
When we look at a rejected campaign, this walkthrough is the first thing we do, before touching a single field. It takes about five minutes, and the problem often shows up right there.
Two notes: the six codes above (30894, 30898, 30903, 30909, 30915, 30919) match GoHighLevel’s current help docs, but rejection rules change, so recheck before you publish. And swap the “when we look at a rejected campaign” line for a real example from your own client work, since that is the part Google rewards most for experience.
The 9 Reasons A2P Campaigns Get Rejected
Every reason below follows the same pattern: what the reviewer saw, the codes, why it fails, and the fix. Many rejected campaigns hit two or three of these at once, so read all nine before you resubmit.
1. Your website has too little business information, or it is only a form
Codes: 30919, 30920, 30921, 30922, 30891, 30907
What the reviewer saw: They opened your site and could not tell who you are. It might have been one form on a blank page, a page behind a login, a “coming soon” screen, or a site showing a different company name than the one you registered.
Why it fails: The reviewer is checking that a real business sits behind the number. If they cannot see that quickly, they reject.
- 30919: Not enough business information, or no mention of your text messages
- 30920: The site is just a form with no context around it
- 30921: The site needs a login to view
- 30922: The site is under construction or uses an odd URL
- 30891: The URL does not load
- 30907: The site does not match your brand or campaign details
Exact fix:
- Put your company name, what you do, and your contact details on a public page
- Add a privacy policy link and one line about your SMS program
- Remove placeholder text like “coming soon” pages
- If you trade under a DBA, show that name on the site and match it to your registration
2. Your opt-in page cannot be verified
Codes: 30909, 30896, 30917
What the reviewer saw: The link did not load, the form lived on a different page than the one you described, or you ticked several ways people sign up but only explained one.
Why it fails: The reviewer has to see exactly how a person agrees to get texts. Anything they cannot see counts as no consent.
Exact fix:
- Use the exact URL of the page with the form, and test it in a private window
- Describe every opt-in method you selected, not just the main one
- If the form sits behind a login, give hosted screenshots instead
What to attach for each opt-in method:
- Paper form: a photo of the blank form showing the consent line, uploaded to a public link
- Phone: the exact script your team reads and how you record the yes
- QR code: the QR image and the page it opens
- Keyword text-in: where the keyword is advertised, the full disclosure shown there, and the auto-reply people get
3. The consent checkbox and disclosures are wrong
Codes: 30923, 30924, 30925, 30931, 30913
What the reviewer saw: A pre-ticked box, texting folded into “I agree to the terms,” no mention of how often you text or what it costs, or marketing and service messages mixed into one yes.
- 30925: The checkbox is missing or already ticked
- 30923: Texting consent is bundled into terms people must accept
- 30931: One button grants everything, with no way to say no to texts
- 30924: The disclosures are missing
- 30913: Marketing consent is not separate from service consent
Exact fix:
- Use a separate checkbox, unticked by default, just for texts
- Put four things next to it: the type of messages, how often, “message and data rates may apply,” and how to stop with STOP.
- If you send both marketing and service texts, give each its own box
- If you only send service texts, say that in your campaign description
Bad version:
[Pre-ticked box] By submitting this form, you agree to our Terms, Privacy Policy, and to receive emails and text messages.
Good version (box unticked):
I agree to receive text messages from [Business Name] about my appointment, quotes, and offers. Message frequency varies. Message and data rates may apply. Reply STOP to opt out or HELP for help. Consent is not a condition of purchase.
Put links to your Privacy Policy and Terms right under it.
4. Privacy policy and terms problems
Codes: 30908, 30932, 30882
What the reviewer saw: No privacy policy they could find, a policy saying phone data may be shared for marketing, or terms that did not meet carrier rules.
Why it fails: Carriers will not approve a program that shares people’s phone numbers with other marketing companies.
Exact fix:
- Link your privacy policy in the message flow, in your footer, and next to the form
- Use a normal page link. A link that only opens in a pop-up is easy for a reviewer to miss
- Add the sentence below to your privacy policy
- Make your terms page cover the basics: what messages you send, how often, that message and data rates may apply, how to reply STOP and HELP, and how to contact you.
We do not share mobile phone numbers or text messaging consent with third parties or affiliates for marketing or promotional purposes.
5. Your sample messages fail
Codes: 30893, 30892, 30911, 30889, 30910
What the reviewer saw: Samples that did not match your use case, the same text pasted into several fields, shortened links, or no business name.
- 30893: Samples are unclear or do not match the use case
- 30911: The same text is copied across fields, or every sample is identical
- 30892: A public link shortener or a non-secure link appears in a sample
- 30889: You picked “embedded phone number” but no sample shows one
- 30910: The fields are not in English
Exact fix:
- Put a promotional message in sample 1 and a service message in sample 2. If you send both types, include one of each
- Write every sample differently
- Put brackets around fields like [First Name]
- Include your business name in at least one sample and opt-out wording in at least one.
- Use full HTTPS links. A short link on your own domain is generally accepted, but bit.ly is not
- If you text in another language, add English translations next to the originals.
Generic samples are an easy way to get rejected. A good sample reads like a real text sent to a real customer.
6. Your description and use case do not match
Codes: 30886, 30916, 30912, 30926, 30928, 30929
What the reviewer saw: A description too thin to explain the program, or a use case that did not match what the description and samples showed.
Lead generation vs lead nurture (30916):
- Lead generation is first contact with new people to win them as leads
- Lead nurture is ongoing contact with people who already opted in
Pick the one that matches what you actually send.
The other codes:
- 30912: It looks like personal texting. Name the software that sends the messages
- 30926: The campaign mentions more than one company. Register one campaign per brand
- 30928: Influencer or public figure messaging is not a valid use case
- 30929: Emergency alerts are not allowed on A2P 10DLC
How to write a description that passes: cover who sends, who receives, what the messages say, why you send them, and how people agreed to get them.
The four-way match test: Your use case, description, sample messages, and opt-in page must all tell the same story. If your description says appointment reminders and your samples are promotions, it fails.
One thing to know before you resubmit: the use case and opt-in message may not be editable on a rejected campaign. If one of them is the problem, you may need to create a new campaign.
7. Business identity problems
Codes: 30971, 30972, 30881, 30918, 30915, 30903, 30914, 30927
What the reviewer saw: A Gmail address for a company, a contact person who is not authorized, a DBA that does not match the legal name, or an LLC registered as a sole proprietor.
Fix by editing details:
- 30971 and 30881: Use an email on your own business domain, not Gmail or Yahoo
- 30972: List an authorized representative of the business as the contact
- 30914: Make your description, samples, and website match the sole proprietor name you registered
- 30927: Make sure your opt-in screenshots show the exact company name you registered
Fixes that need a new or updated brand registration, not a campaign edit:
- 30915 and 30903: Re-register as a standard brand with your EIN, then register a standard campaign
- 30918: Update your brand to include your DBA before resubmitting
8. Your opt-out and HELP replies are incomplete
Codes: 30887, 30890
What the reviewer saw: A STOP reply that did not clearly confirm, or a HELP reply with no way to reach you.
Exact fix:
- Your STOP reply must acknowledge the request, confirm no more messages will come, and include your brand name
- Your HELP reply must include your brand name plus a phone number or email address
- Describe your opt-out process in the message flow and list your opt-out keywords
9. Content that cannot be fixed
Codes: 30940 to 30964
These are not like the other eight. The codes below cannot be corrected and resubmitted. Do not send the same campaign again.
| Code | What it means in plain words |
| 30940 | Cannabis, CBD, marijuana, or other illegal substances |
| 30941 | Prescription or controlled drugs |
| 30942 | Loan marketing like payday, car title, or personal loans |
| 30943 | Collecting debts for someone else |
| 30944 | Gambling or betting |
| 30945 | Sweepstakes or contests |
| 30946 | Stock alerts or investment tips |
| 30947 | Crypto trading or token promotion |
| 30948 | Risky investments like forex or binary options |
| 30949 | Debt relief or debt consolidation |
| 30950 | Credit repair |
| 30951 | Selling leads to third parties, or multi-level marketing |
| 30952 | A use case that breaks federal rules |
| 30953 | Adult content |
| 30954 | Hate speech, violence, or heavy profanity |
| 30955 | Alcohol promotion |
| 30956 | Alcohol content without a strong 21+ age gate |
| 30957 | Firearms, fireworks, or explosives |
| 30958 | Tobacco and vape products |
| 30959 | Fraudulent or misleading content |
| 30960 | A known phishing campaign |
| 30961 | A website with a bad domain reputation |
| 30962 | Fake urgency, bait-and-switch, or fake endorsements |
| 30963 | Public link shorteners like bit.ly used in the campaign |
| 30964 | Links that use HTTP instead of HTTPS |
Two near-matches are fixable. Code 30888 means your age gate is missing, and 30892 means a sample message has a shorter or non-secure link. Those two can be corrected and resubmitted.
What to do instead:
- Appeal it: If you think the rejection was a mistake, contact HighLevel support with the subject “10DLC Campaign Appeal for [your business name or number]” and include full details
- Narrow the use case: If only one part of your offer set it off, remove it from your website, description, and samples, then register a new campaign. If your whole business sits in a banned category, narrowing will not help.
- Check toll-free: It may fit some businesses, but toll-free verification has its own content rules, so read them first and do not treat it as a way around A2P.
How Long Does A2P Approval Take?
A brand can clear in minutes, but a campaign usually takes days. These are ranges, and carrier queues change, so treat them as a guide.
| Registration | Brand step | Campaign step | Plan for |
| Sole proprietor | A few minutes to a few business days, plus a phone code check | Up to 5 business days, up to 10 when busy | 1 to 2 weeks |
| Low volume standard | Minutes if your details match, 7 or more business days if it goes to manual review | Same as above | 1 to 2 weeks |
| High volume standard | Same as above, plus secondary vetting that can take up to 7 business days when details don’t match | Same as above | 2 to 3 weeks |
| Resubmission after rejection | Brand is already approved | A fresh review in the same range | Add 1 to 2 weeks |
What restarts the clock
- A second campaign while one is pending. HighLevel says not to resubmit or create another campaign during review. The new one waits in its own line and may carry its own fee.
- Editing your site mid-review. If the reviewer sees a different page than the one you described, that is an easy way to get rejected, so hold your edits until you get a result.
- Submitting a campaign before the brand is approved. Wait for the brand to show as approved first.
- A failed brand. You fix it and resubmit, and the campaign waits behind it.
What “Pending” means, and what to do while you wait
Pending means the review is still running, and there is nothing for you to fix yet. Use the time well:
- Keep your website, opt-in page, privacy policy, and terms live and unchanged
- Save screenshots and a copy of everything you submitted
- Build your workflows, but don’t send to real contacts, since carriers block texts without an approved brand and campaign
- Set a reminder to check on day 5 and day 10
Rejected Again After Fixing? What to Check
- Carriers can raise new issues on a second review. A new code does not mean your first fix failed. It means the reviewer looked closer.
- Check the whole campaign, not just the flagged field. Your description, use case, samples, website, opt-in page, privacy policy, and terms must all tell the same story.
- Check whether the field can be edited. The use case and opt-in message may be locked on a rejected campaign. If one of them is the problem, you may need a new campaign.
Conclusion
Your campaign was rejected for a reason, and that reason can be fixed. Read the code in your Trust Center, make the change, and check the rest of your campaign before you resubmit.
Go through the 9 reasons above, match them to your campaign, and send it in again. If you get stuck, we are happy to help.
FAQs
Why did my A2P brand registration fail even though my EIN is correct?
The legal name or address often differs slightly from your IRS letter, like a missing “LLC” or comma. A very new EIN can also fail until it appears in databases.
Is it free to resubmit a rejected campaign?
Yes, HighLevel charges $0 to resubmit. A brand-new campaign instead of a correction can add a new fee.
What is the difference between Brand rejected and Campaign rejected?
Brand rejected means your business details did not match official records. Campaign rejected means your messaging plan failed review.
My Campaign was approved, but SMS is not working. What now?
Your sending number probably is not linked to the approved campaign. Go to Settings, Phone System, Phone Numbers,s and check for the green A2P Verified label, then link the number if it is missing.