Rejected by carriers? The website is one of the most common reasons. Fix it today →

Why was my 10DLC campaign rejected because the opt-in could not be verified?

Quick answer

Reviewers must be able to see exactly how people agree to get your texts. Campaigns get rejected when the message flow is vague, the opt-in page is hidden, or the checkbox is pre-checked, required, or bundled with other consent. Add a public form with a separate, unchecked SMS checkbox and full disclosure, then describe it clearly.

Carriers want proof that every person you text asked for it. Reviewers rely on two things: your Message Flow description and the opt-in page they can open. Twilio calls opt-in a major cause of rejections.

What does this rejection mean?

It means the reviewer could not confirm how consent is collected, or found a broken rule. Twilio error 30909 says the message flow or call to action is incomplete or could not be verified. Error 30896 says the flow is unclear. CTIA asks that the call to action show the program, sender, fees, opt-out steps, and privacy policy, not buried in fine print.

See the full requirement at opt-in form.

Why does it happen?

  1. Not every opt-in path is listed. Twilio 30909 says to list every path, such as web, paper, and in person, in one message flow.
  2. The form cannot be found. No direct link to the signup page (Twilio 30922).
  3. The checkbox is pre-checked or tied to accepting your terms (Twilio 30925).
  4. Consent is required to buy or sign up (Twilio 30923), or people cannot decline and still finish (30931).
  5. The disclosure is incomplete. It lacks message type, frequency, "Message and data rates may apply", or opt-out steps, or it sits only in a linked document (Twilio 30924).
  6. Marketing and informational consent are merged (Twilio 30913).
  7. Consent covers more than texts. Telnyx declines forms that mix text and email consent, pop-up legal links, and mandatory phone fields.
  8. Proof is not public. Screenshots are gated or were never hosted. Twilio also has error 30917, titled "All opt-in methods must include complete workflow descriptions."

How do I fix it?

  1. Put your form on a public page with no login.
  2. Make the phone field optional.
  3. Add a separate SMS checkbox, unchecked by default, that is not required to submit.
  4. If you send marketing texts, give marketing its own unchecked checkbox.
  5. Put the full disclosure right next to the checkbox.
  6. Link your privacy policy and terms as normal links, not pop-ups.
  7. Host screenshots of any gated, in-store, or paper opt-in at a public URL.
  8. Rewrite your Message Flow to name each opt-in path and paste the direct form URL.

Here is a sample checkbox disclosure. It is sample language, not legal advice; adapt it to your business.

[ ] Yes, I agree to receive appointment reminders and account updates by text from [Business Name] at the number I provided. Message frequency varies. Message and data rates may apply. Consent is not required to buy anything. Reply STOP to cancel or HELP for help. See our Privacy Policy and SMS Terms.

Checkbox rule Source
Unchecked by default Twilio 30925
Not required to submit Twilio 30923, 30931
Separate from terms acceptance Twilio 30925
Texts only, not email or calls Telnyx
Phone field optional Telnyx, Bandwidth

How do I resubmit?

Twilio advises editing the rejected campaign, not deleting it, and charges its vetting fee once per campaign. Vonage lists $15 per vetting event, Telnyx describes $15 per submission or resubmission, and Bandwidth says a $15 fee applies to rejected campaigns that need resubmission. Twilio says standard campaigns can take up to several weeks.

What error code will I see?

Twilio code What it points to
30909 Message flow incomplete or unverified
30896 Opt-in error, unclear flow
30917 Opt-in method missing a complete workflow description
30923 Consent required for service
30924 Consent language missing or buried
30925 Checkbox pre-checked or bundled
30931 Cannot decline and still continue
30913 Marketing and informational consent merged

See the 10DLC website requirements hub.

Sources

Curious whether a reviewer can find and verify your opt-in? Run a free site check. Our sites include a compliant opt-in form; details are on pricing.

Built to these requirements

Get a carrier-ready website in about 15 minutes

A new .com with hosting, SSL, a privacy policy that covers SMS, SMS terms and a compliant opt-in form, built to the requirements on this page. You submit your own 10DLC registration, and no one can guarantee approval, but a reviewer will have nothing on your site to flag.

Get my website: $149 →

One-time price · 14-day money-back guarantee · Daily Compliance Watch

Frequently asked questions

Can my SMS consent checkbox be checked by default?

No. Twilio error 30925 says the opt-in must be unchecked by default and separate from accepting your terms or privacy policy.

Can I require the SMS checkbox to submit my form?

No. Twilio errors 30923 and 30931 say texting consent cannot be a condition of service and people must be able to decline and still finish the main action.

Does the phone number field have to be optional?

Telnyx says the phone field on web forms should be optional, and Bandwidth says it cannot be mandatory unless texting is the form's only purpose.

How do I show an opt-in that is behind a login or on paper?

Give reviewers a public link to screenshots or photos. Twilio asks for hosted screenshots for gated flows, and Vonage says evidence must be at a public link that stays live for weeks because it does not offer uploads.

Do I need separate checkboxes for marketing and account texts?

Twilio error 30913 says marketing and informational consent must be separate, with its own unchecked checkbox for marketing.

What does a compliant 10DLC opt-in form look like?

How to build an SMS opt-in form reviewers accept: unchecked checkbox, optional consent, disclosure next to the box, privacy and te...

Why was my 10DLC campaign rejected for missing SMS terms and conditions?

10DLC campaigns need public SMS terms on your own domain. Learn why missing terms cause rejection, what to include, and a sample t...

Why was my 10DLC campaign rejected for a privacy policy that is missing SMS language?

A 10DLC privacy policy needs a clear SMS no-sharing clause. See why campaigns get rejected for it, a sample clause, and how to res...

What counts as SMS opt-in consent?

SMS opt-in consent is a person's clear permission to get your texts. Learn CTIA's three consent levels and what a compliant web op...

What website do I need for 10DLC approval?

The 8 website requirements reviewers check for A2P 10DLC: privacy policy, SMS terms, opt-in form, brand match, contact info, HTTPS...

Carrier-ready website: $149Get started