A2P 10DLC rejection codes
Got a failed A2P campaign? Use the rejection code to diagnose the actual problem before resubmitting. This guide covers common Twilio/TCR campaign errors, what they usually mean, and the practical correction to make.
Start with the error attached to the failed campaign
A failed campaign can return one or more errors. The code matters because a consent problem, an inaccessible website, a business-name mismatch and prohibited content are not fixed the same way. Twilio expanded its A2P registration feedback in 2026, so newer submissions can return more specific codes than older troubleshooting articles show.
Common A2P 10DLC rejection codes and fixes
30909 — Message flow / CTA incomplete or unverifiable
What it means: reviewers cannot clearly verify how users consent to receive messages.
Check: every opt-in path, direct form/website links, consent wording, message frequency, data-rate disclosure, privacy policy and terms.
Fix: document the complete real opt-in journey and make the evidence publicly reviewable where required.
30913 — Marketing and informational consent combined
What it means: one consent action is being used for both promotional and informational/transactional messages.
Fix: collect marketing consent separately and explicitly. A marketing checkbox should be its own affirmative choice rather than being bundled into another agreement.
30920 — Website is only a form
What it means: the submitted page does not provide enough public business context for reviewers to validate the brand and messaging program.
Fix: use a functional business website that clearly identifies the business and links to the relevant opt-in and compliance information.
30921 — Website requires authentication
What it means: reviewers cannot access the website or consent flow without logging in.
Fix: provide a publicly accessible page or permitted public evidence/screenshots that demonstrate the actual opt-in flow.
30922 — Website cannot be verified
What it means: the website is inaccessible, inconsistent with the registered business, or does not provide enough information to verify the messaging and consent flow.
Fix: make the site public, consistent with the Brand, and explicit about the business and opt-in process.
30927 — Opt-in evidence belongs to another company
What it means: the company shown in your consent evidence does not match the registered Brand.
Fix: submit evidence for the same business and campaign. Check names across the Brand, website, form and consent wording.
30918 — DBA / business-name mismatch
What it means: the business identity used in the campaign conflicts with the legal business information associated with the Brand.
Fix: verify legal-name accuracy and make the campaign, website and supporting information consistent with the registered entity.
30934 — Terms & Conditions URL missing
What it means: the required Terms and Conditions URL was not included. Twilio documents this as a required REST API field for campaign creation from June 30, 2026.
Fix: provide a valid, publicly accessible terms URL in the required field; this is different from a terms page that exists but fails compliance review.
30900 — Campaign use case ineligible
What it means: the selected campaign use case is not eligible for that Brand or requires conditions that have not been satisfied.
Fix: verify the use cases available to the Brand and ensure the campaign description, samples and message flow genuinely match the selected use case.
30899 — Carrier rejection
What it means: one or more carriers rejected the registration.
Fix: inspect the campaign's associated errors for the more specific reason, then correct the affected registration fields rather than treating 30899 as the whole diagnosis.
30794 — General A2P registration error
What it means: registration failed but the workflow returned a general error. A more specific Brand or Campaign error may also be present.
Fix: determine whether the failure is at Brand or Campaign level and follow the more specific error when one is supplied.
30883 — Prohibited-content violation
What it means: the campaign has been classified under prohibited content.
Important: this is not a normal copy-edit problem. Do not keep recreating campaigns to route prohibited traffic. Review the underlying use case and provider policy.
Other consent-related rejection patterns
Consent must be a real, affirmative action. Twilio's current guidance also flags flows where messaging consent is forced as a condition of another service. For promotional messaging, the consent standard is stricter than simply collecting a phone number.
Consent is required to use the service
If a user cannot create an account, make a purchase or access the core service without accepting unrelated messaging, redesign the opt-in so messaging is optional and separate.
Checkbox is preselected
An opt-in should represent active consent. Don't use a prechecked box to manufacture agreement. The customer should deliberately choose to opt in.
Should you edit, resubmit, or create a new campaign?
For a correctable failed campaign, start by fixing the actual fields and resubmitting the rejected campaign when your provider supports editing. Twilio specifically advises editing rather than deleting and recreating in that workflow; recreating can trigger another vetting fee. Some policy/content failures cannot be solved by rewriting the same prohibited use case.
✓ Read every returned error, not just the first one.
✓ Correct the website, consent flow or campaign field that caused the failure.
✓ Make the Brand, website, campaign description and samples consistent.
✓ Resubmit only after the real customer journey matches what you claim in the registration.
✓ Escalate to provider support when the rejection is not directly remediable or the returned reason remains unclear.
Using these codes in GoHighLevel
If you're registering through GoHighLevel, the interface may surface the campaign rejection and its underlying category differently from Twilio Console. The principle is the same: identify the exact rejection reason, then compare it against the website, opt-in evidence, campaign description, samples and business information. Avoid repeatedly resubmitting unchanged information.
Frequently asked questions
Why did my A2P campaign fail even though my Brand was approved?
Brand registration and Campaign vetting are separate stages. An approved Brand can still have a Campaign rejected because of its use case, consent flow, website, samples or other campaign-specific information.
Can I guarantee approval after fixing a rejection code?
No. Correcting the documented issue improves the submission, but final registration decisions are controlled by the carrier/TCR/provider ecosystem.
Should I submit the same campaign again without changes?
No. Diagnose and correct the stated problem first. Repeatedly sending the same inconsistent or non-compliant information does not address the reason for rejection.
Can you troubleshoot my rejected campaign?
Yes. I work on A2P 10DLC registration and rejection troubleshooting across GoHighLevel, Twilio and other business messaging platforms.
Still stuck on an A2P rejection?
Send the rejection code, current campaign status, platform and a short description of how customers opt in. I can review the failure and identify what I would check before the next submission.