10DLC campaign rejected? What the reason means, whatever your provider calls it
Updated 2026-10-12 · by Hieu Tran, written with AI agents and checked against the sources below
Every 10DLC campaign is reviewed by vetting partners (DCAs) for the carriers. Your provider passes their reason on in its own words: Twilio as a 30xxx error code, Bandwidth and Telnyx as DCA reason codes or text, HighLevel as a message in the dashboard. Most rejections come down to a handful of causes, and most of those are on your website.
Paste the rejection as you got it. The decoder maps 181 Twilio codes and three DCA reason lists to the cause and the fix, then checks your privacy policy, terms and opt-in form.
The causes behind most rejections
Privacy policy: missing, not linked, or without a sentence that mobile numbers and SMS opt-in data aren't shared with third parties for marketing (Twilio 30908, 30932; DCA2 805; Bandwidth 7103).
Opt-in can't be verified: the message flow is vague, the form is behind a login, or there's no public screenshot (Twilio 30896, 30909; DCA2 804, 806).
Opt-in disclosures: the consent text doesn't name the brand, frequency, "Msg & data rates may apply", HELP and STOP, or links to terms and privacy (Bandwidth 2113–2118; Proxy 3002A–3008B).
Forced consent: a pre-ticked or required checkbox, or one checkbox for several purposes (Twilio 30925, 30931; Proxy 3012A; DCA2 803).
Description and samples: description doesn't match the use case; samples without the brand name or opt-out, or with public URL shorteners (Twilio 30886, 30893, 30892).
Website too thin: under construction, only a form, or not saying what the business does and how it texts people (Twilio 30919, 30920).
Disallowed content: cannabis, high-risk lending, debt collection, lead generation, gambling and similar can't be fixed by rewording (Twilio 30883, 30940–30962; DCA2 701–709).
Before you resubmit
Collect every reason on the campaign: Twilio often returns a general code (30909) next to a specific one.
Fix the website first (privacy sentence, SMS terms, consent text next to the phone field), then the description, flow and samples.
Describe every opt-in path in the message flow, with a public link or screenshot for each.
Resubmit once everything is fixed: each vetting attempt costs a fee, and a DCA may stop accepting a campaign declined 5+ times.
Paste the rejection as you got it. The decoder maps 181 Twilio codes and three DCA reason lists to the cause and the fix, then checks your privacy policy, terms and opt-in form.
What did your last rejection say, and how many rounds did it take to get approved?
We're researching this problem and read every answer. Tell us what happened (4 short questions, no sign-up; AI tools help us read the answers).