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.
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.
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 |
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.
| 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.
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.
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.
One-time price · 14-day money-back guarantee · Daily Compliance Watch
No. Twilio error 30925 says the opt-in must be unchecked by default and separate from accepting your terms or privacy policy.
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.
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.
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.
Twilio error 30913 says marketing and informational consent must be separate, with its own unchecked checkbox for marketing.
How to build an SMS opt-in form reviewers accept: unchecked checkbox, optional consent, disclosure next to the box, privacy and te...
10DLC campaigns need public SMS terms on your own domain. Learn why missing terms cause rejection, what to include, and a sample t...
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...
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...
The 8 website requirements reviewers check for A2P 10DLC: privacy policy, SMS terms, opt-in form, brand match, contact info, HTTPS...