Twilio needs a live, public website that clearly matches your registered business, plus a privacy policy URL and a terms and conditions URL on that site. For new API campaigns submitted after June 30, 2026, both URLs are required. Your Message Flow should also link directly to the page where people opt in.
If you send business texts to US numbers through Twilio, you register a brand and a campaign. Reviewers look at your website to confirm your business is real and that people agree to get your texts. Twilio has added many specific error codes for website problems, so a weak site is easy to spot.
10DLC Site is not affiliated with or endorsed by Twilio. Provider names are used only to describe where information goes. This page describes the flow as documented at the time of writing (Updated September 2026). Screens change, so follow what you see in your account.
| URL | Where it goes in Twilio |
|---|---|
| Business website (homepage) | Brand registration. Twilio lists website among the Standard brand details, next to legal name and tax ID. |
| Privacy policy | Campaign registration. Console has a Privacy Policy URL field (added Feb 18, 2026). The API field is PrivacyPolicyUrl. |
| Terms and conditions (with SMS terms) | Campaign registration. Console has a Terms & Conditions URL field. The API field is TermsAndConditionsUrl. |
| Opt-in page or opt-in evidence | Campaign Message Flow. Twilio asks for a direct link to the opt-in page. If the page is gated, give a public URL to screenshots. |
Here is the flow in plain steps, based on Twilio's docs:
Twilio's business info guide says The Campaign Registry runs automated checks that capture a screenshot of your site. Twilio lists these checks:
These error codes come from Twilio's error docs. Each links to a page that explains the fix.
| Code | What it means (paraphrased) | Fix page |
|---|---|---|
| 30907 | Website does not match the brand, campaign, consent flow, or samples, or it does not work | Website does not match brand |
| 30908 | Privacy policy is missing, unavailable, conflicting, or allows sharing for marketing | Privacy policy missing SMS language |
| 30909 | Message Flow is incomplete or opt-in cannot be verified | Opt-in not verifiable |
| 30891 | Invalid website URL, site not working, or opt-in flow not found | Website not accessible |
| 30919 | Site lacks business or messaging info (empty, under development, private) | Under construction or parked |
| 30920 | Site is only a form | Content pages |
| 30921 | Site requires a login | Website not accessible |
| 30922 | Site does not load, does not match the brand, or Message Flow lacks a direct opt-in link | Website not accessible |
| 30923, 30924, 30925 | Consent is required to use the service, consent language is missing, or the box is pre-checked | Opt-in form |
| 30933, 30934 | PrivacyPolicyUrl or TermsAndConditionsUrl is missing | Missing SMS terms |
| 30892 | Public link shorteners or non-https links in sample messages | Sample messages mismatch |
| 30893 | Sample messages missing, unclear, or not matching the use case | Sample messages mismatch |
For privacy (30908), Twilio's fix is one clear policy. It should state that mobile numbers and messaging consent data are not shared with or sold to third parties or affiliates for marketing or promotional purposes.
Twilio error 30922 says the vetting fee is assessed only once per campaign. Editing and resubmitting the same campaign does not add a new fee. Twilio advises editing the rejected campaign rather than deleting it. Check Twilio's current pricing page for amounts.
On timing, Twilio's quickstart says brands are typically approved within a few minutes. Campaigns typically take several days, and currently 10 to 15 days due to volume. Error 30922 says standard campaigns can take up to several weeks, while Sole Proprietor campaigns are typically decided within hours to days.
Use this checklist before you submit:
10DLC Site builds these pages for you and gives you the exact URLs to paste into Twilio: homepage, privacy policy, terms, and opt-in page. You still submit the registration yourself, and carriers make the final decision. For other providers, see the any-provider guide.
Not sure if your current site is ready? Run it through the free site checker, or see pricing for a site built for 10DLC review.
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
Yes, for new campaigns submitted through the API after June 30, 2026, Twilio requires PrivacyPolicyUrl and TermsAndConditionsUrl. Twilio says campaigns missing them are rejected during review. Existing campaigns are not affected by that change.
No, Twilio error 30920 says a website that is only a form does not give enough business context. Twilio asks you to submit your main business website, not a standalone landing page or lead form.
Not according to Twilio error 30922, which says the vetting fee is assessed only once per campaign. Twilio advises editing the rejected campaign instead of deleting it and making a new one. Check Twilio's current pricing before you act.
Twilio's quickstart says campaigns typically take several days, and currently 10 to 15 days due to volume. Error 30922 adds that standard campaigns can take up to several weeks, while Sole Proprietor campaigns are typically decided within hours to days.
No, Twilio's business info guide says the terms page should be on the same domain as your business website, public, and should not redirect to an external domain.
The 8 website requirements reviewers check for A2P 10DLC: privacy policy, SMS terms, opt-in form, brand match, contact info, HTTPS...
The four website URLs every 10DLC registration uses: homepage, privacy policy, terms, and opt-in page. The TCR field model plus a...
What your privacy policy must say for A2P 10DLC approval: the no-sharing SMS clause, frequency and rates, one policy only, plus sa...
How to build an SMS opt-in form reviewers accept: unchecked checkbox, optional consent, disclosure next to the box, privacy and te...
Your 10DLC website must show the same business you registered. Learn why the 'website does not match brand' rejection happens and...
If reviewers cannot see how people agree to your texts, your 10DLC campaign gets rejected. Learn what proof they need and how to f...