Text messaging

Why 10DLC Campaigns Get Rejected: The Published Reasons and How to Fix Them

Most published 10DLC rejection reasons concern opt-in proof and policy wording, and each one has a specific fix you can make before you resubmit.

By the Consentra editorial team · 8 min read · Published

For agency owners and software resellers who register text-message senders for client businesses.

An engraved still life of a returned envelope lying beside a magnifying glass and a clipboard holding a blank checklist.

A rejected 10DLC campaign usually comes back with a short code and little explanation. The business cannot send until it is approved, so the temptation is to change a few words and submit again.

The published rejection reasons are more specific than they first look. Most of them point at the opt-in flow, the privacy policy or the campaign description, and each can be checked before you submit.

What happens when a campaign is not approved?

The messages do not go out, and on at least one large platform you are still charged for them.

Twilio's support documentation says unregistered 10DLC messages to US numbers were fully blocked from 1 September 2023. A blocked message returns error 30034 and is still billed. This is a carrier gate, so there is no grace period to negotiate.

For an agency, this means a new client cannot start texting until the brand and the campaign are both approved. Every rejection pushes the client's launch date back, and the agency usually absorbs the time.

Which rejection reasons are documented, and what fixes each one?

Eight reasons recur in the published lists, and six of them are about the opt-in flow or the policy pages.

The reasons below are drawn from the rejection lists and error pages that messaging providers publish. We read them through search summaries of those pages, so check the current wording on the provider's own page before you rely on a code.

Two of the reasons carry Twilio error numbers in the sources we reviewed: 30925 for a pre-checked opt-in box and 30931 for an opt-in that does not let the person decline. The fixes in the right-hand column are the plain reading of each reason. They are our reading, and a reviewer may ask for more.

Documented reasonWhat the reviewer sawFix before you resubmit
Privacy policy missing or conflictingNo policy at the address given, or statements that contradict each otherPublish one policy at a working public address and remove the conflicting statements
Policy says mobile data is shared with third partiesWording that allows phone numbers or opt-in data to be passed onChange the policy so it states that mobile information is not shared with third parties for their marketing, if that is true of the business
Privacy policy and terms do not cover SMSPolicy pages written for a website onlyAdd a text-messaging section to both documents
Opt-in flow does not show where the privacy policy isA form with no visible link to the policyPut the policy link next to the consent wording on the form itself
Opt-in does not let the person decline (Twilio 30931)Consent to texts tied to submitting the formMake the texting consent a separate, optional choice
Pre-checked opt-in box (Twilio 30925)A consent box that is ticked by defaultLeave the box unticked so the person takes the action
Vague campaign descriptionA description that does not say who is messaged or whyState who receives messages, how they opted in and what the messages contain
Use case does not match the contentSample messages that belong to a different use caseRegister the use case the business really sends, with matching samples

What does a reviewer want to see as opt-in proof?

A reviewer wants to open the page where people sign up and see consent to texts that is optional, unticked and next to a policy link.

Read together, the rejection reasons describe the page a reviewer expects to find. It is public and loads without a login. The texting consent sits apart from other agreements. The person has to act to give it, and can submit the form without it.

The policy pages have to agree with the form. If the form promises that numbers are kept private and the privacy policy allows sharing with partners, the conflict itself is a documented reason for rejection.

The sources we reviewed do not publish a single official checklist. The list below is the set of conditions implied by the rejection reasons above.

  • A live sign-up page at the address given in the registration
  • Consent wording for texts that names the business and the kind of messages
  • An unticked box or an equivalent action the person must take
  • A way to complete the form without agreeing to texts
  • A visible link to the privacy policy beside the consent wording
  • A privacy policy and terms that both address text messaging
  • A campaign description and sample messages that match what is sent

What changed in 2026?

Rejection codes became more specific, and toll-free verification now asks for much of what 10DLC asks for.

From 15 September 2026, Twilio uses new shared error codes with more specific rejection reasons for both A2P 10DLC and toll-free verification, according to its support documentation. That should reduce the guesswork after a rejection on that platform.

Toll-free verification has moved closer to 10DLC. Telnyx reports that a Business Registration Number became mandatory on 17 February 2026 and that submissions without one are rejected immediately.

Sinch reports that toll-free rejection codes grew from 38 to 83 in May 2025 and to 118 from 15 September 2026. The second figure comes from a Sinch community post and was not confirmed by a carrier source, so treat it as reported.

What do fixers charge, and what do they promise?

Listings we found sit at roughly 50 to 200 dollars per rejection, and some promise an approval that is not theirs to give.

Fiverr carries many listings to fix a rejected A2P 10DLC campaign, mostly aimed at GoHighLevel and Twilio accounts. Visible prices run from about 50 dollars up to 100 to 200 dollars per job. These figures come from search summaries of the listings, and we could not match each price to a single listing.

Some listings advertise guaranteed approval. Compare that with MyTCRPlus, a seller of registration templates and courses, whose own page states that it does not guarantee approval and that the registry and the carriers make the final decision. The same page offers a starter bundle for 69 dollars.

Paying someone to rewrite a description can work when the description was the problem. It does not help when the rejection was about the client's website, because the reviewer looks at the live page.

Fix the cause before you resubmit

A resubmission that leaves the cited problem on the live site goes back into the same queue and is likely to return with the same reason.

Each submission is reviewed again from the start. If the privacy policy still allows third-party sharing, a better campaign description will not change the outcome.

The delay adds up. MyTCRPlus claims on its page that secondary vetting adds 14 to 30 business days when a first submission lacks required documentation. That is an unsourced vendor claim, and it is the only timing figure we can cite. Even at the low end it is close to three weeks per round.

A workable order is short. Read the code. Find the page or field it refers to. Change the live page. Check that the form, the policy and the description now say the same thing. Then resubmit once.

  • Match the rejection code to one page or one field
  • Change the public page, then confirm the change is live
  • Re-read the form, the policy and the terms side by side for conflicts
  • Keep a dated copy of the opt-in page as submitted

How often are campaigns rejected?

No official rejection rate exists.

We found no published count of registered brands or campaigns and no rejection rate from the registry. One vendor guide, published by Ecosire, estimates that about a third of self-submitted registrations are rejected on the first try. The guide gives no source for the figure, so it should be read as a vendor estimate.

Approval is also not the end of the matter. Registration does not ensure delivery. Consent, content and sending behavior still affect whether messages arrive.

Common questions

Does passing a pre-check guarantee approval?

No. A pre-check compares your registration with the reasons providers publish. The registry and the carriers make the final decision, and a reviewer can raise a point that no published list covers.

What is the most common reason a 10DLC campaign is rejected?

Nobody publishes a ranking. In the lists we reviewed, most documented reasons concern the opt-in flow and the privacy policy. Start by reading the form and the policy pages together.

Is a pre-checked consent box really enough to be rejected?

Yes, according to Twilio's error documentation, which gives a pre-checked opt-in box its own code, 30925. The fix is to leave the box unticked so that the person takes the action.

How long does a resubmission take?

We found no official figure. One vendor, MyTCRPlus, claims secondary vetting adds 14 to 30 business days when documentation is missing, and gives no source. Plan the client's launch date with that kind of delay in mind.

Does this apply to toll-free numbers as well?

Much of it does. Telnyx reports that toll-free verification now mirrors 10DLC and that a Business Registration Number has been mandatory since 17 February 2026. Twilio's shared codes from 15 September 2026 cover both routes.

Once a campaign is approved, will the messages be delivered?

Approval lets the traffic through the registration gate. It does not ensure delivery. Consent, message content, sending behavior and list quality still matter after approval.

Reviewed November 12, 2026

Consentra is software. Nothing on this site is legal advice, and using Consentra does not by itself make a business compliant with any law or carrier rule. Whether a rule applies to your business is a question for your counsel.

More like this

See the consent record for yourself

Book a call and we show you the record on your own flow: what each person saw, what they agreed to, and what you can hand over when someone asks.