A2P Campaign Keeps Getting Rejected? Plain-English Fixes for Every Common Error Code
Rejected for 30909, 30908, 30919, or 30896? Here's what each A2P 10DLC rejection actually means, the exact fix, and how to stop the reject-resubmit loop.
You waited days for your A2P 10DLC campaign review. It came back rejected, with a five-digit code and one sentence of explanation. You fixed what you thought was wrong, resubmitted, waited again, and got rejected for something else.
That loop is the most common A2P experience we hear about, and it's why some businesses spend a month trying to get texting turned on. The good news is that rejections cluster around a handful of problems, and each one has a specific fix.
Below are the codes you're most likely to see, what they mean in plain English, and what to change. At the end there's a way to break the loop: fix everything in one pass instead of one rejection at a time.
First: Why You Keep Getting Rejected for Different Things
Reviewers often report the first problem they hit and stop there. If your submission has three issues, you may get three separate rejections, each costing you another review cycle.
So when you get a rejection, don't just fix the one thing it names. Use it as a prompt to check everything on this page before you resubmit. One careful resubmission beats three rushed ones.
30909 — Incomplete Message Flow or Call to Action
What it means: The reviewer couldn't tell how people agree to receive your texts.
This is the most common rejection, and it's about the "message flow" or "how do end users opt in" field in your registration. Answers like "customers give us their number" or "they text us first" don't explain consent well enough.
The fix:
- Describe the opt-in from start to finish, as if the reviewer has never seen your business. Where does the customer enter their number? What does the consent text say? What happens after?
- List every way people opt in. If you collect numbers on a website form and a paper intake sheet, say both.
- If people opt in on your website, the form has to be public, not behind a login. It needs a consent checkbox that isn't pre-checked, with your business name, message frequency, "Msg & data rates may apply," and STOP/HELP instructions next to it. The page also needs links to your privacy policy and terms.
- If the opt-in happens offline (a paper form, a sign with a QR code, a verbal script), give the reviewer a public link to a photo or copy of it.
30896 — Opt-In Error
What it means: Close cousin of 30909. The opt-in exists, but the reviewer can't verify the consent is real and specific to your texts.
The fix: Same as 30909, plus two things:
- Consent can't be borrowed or buried. If the only consent is a line in general terms of service ("by using our site you agree to receive texts"), or consent collected by someone else, it won't pass. Customers need to opt in to texts from your business specifically.
- If people opt in by texting a keyword (like "Text JOIN to…"), your registration needs the keyword and the exact reply they get back. That reply must name your business and include message frequency, rates, and how to opt out.
30908 — Privacy Policy Problem
What it means: Your privacy policy is missing, unreachable, or says something reviewers can't accept.
The fix:
- Make sure you have a privacy policy at a public URL, and that the URL is in your registration's privacy policy field, not only mentioned in the description.
- Add a clear sentence saying mobile numbers and texting consent are not shared with or sold to third parties or affiliates for marketing. This is the line reviewers look for, and generic policies almost never have it.
- If your policy says you "may share information with partners," that sentence alone can sink you. Either narrow it or carve out phone numbers and consent explicitly.
- One policy, not several conflicting ones.
30882 — Terms and Conditions Problem
What it means: Your terms are missing, or your program looks like third-party lead generation or affiliate marketing.
The fix:
- Put your terms at a public URL and enter it in the terms and conditions field.
- Include a text messaging section: what you send, how often, "Msg & data rates may apply," and STOP and HELP instructions.
- Make sure nothing in your terms or opt-in suggests numbers are collected for, or shared with, other companies. Lead-gen and affiliate texting is prohibited on this kind of registration. If that's genuinely your business model, this isn't a paperwork fix.
30919 — Website Doesn't Support the Registration
What it means: The reviewer visited your website and couldn't confirm who you are or what you'll be texting about.
The fix:
- The site has to be public and finished. No "coming soon", no password, no broken pages.
- Show your business name, contact information, and what you do.
- Make the website, the registration, and the sample messages describe the same business and the same kind of texts.
We wrote a full walkthrough of A2P website requirements, with a real approved example. If your rejection is 30908, 30909, or 30919, start there.
30886 — Campaign Description Is Unclear
What it means: Your description doesn't clearly explain who is sending texts, to whom, and why.
The fix: Write it in one or two concrete sentences that name your business, the recipients, and the purpose. For example: "Smith Plumbing LLC texts customers who request service through our website about appointment confirmations, arrival times, quotes, and invoices." Then make sure the use case you selected and your sample messages match that description.
30894 — Brand Information Doesn't Match
What it means: The campaign seems to belong to a different business than the brand it's registered under.
This usually happens when the description, website, or samples mention a different business name than the registered brand. A common case is a software platform's name instead of yours, or a DBA that appears nowhere in your registration.
The fix: Use the same business name everywhere: brand, description, sample messages, and website. If you operate under a DBA, make sure the connection between the DBA and your legal name is clear.
30911 — Duplicate or Template Text
What it means: You pasted the same text into several fields: description, message flow, and samples.
The fix: Each field answers a different question. The description covers what the program is. The message flow covers how people opt in. The sample messages are realistic examples of actual texts, two to five of them, with your business name and opt-out language. Write each one separately.
30971 — Business Email Can't Be Verified
What it means: The contact email on your registration doesn't look connected to your business. This usually means a Gmail, Yahoo, or similar address on a registration for an established company.
The fix: Use an email on your business's own domain if you have one. If you don't, publish the address you're using on your website or business social profiles, so reviewers can see it belongs to you.
30750 — Verification Phone Already Used Too Many Times
What it means: This one is for sole proprietors. The mobile number that receives the verification text has already been used for three registrations, across every provider, which is the registry's limit.
The fix: Use a different US or Canadian mobile number that can receive the verification text and hasn't been used for registrations before.
When It's the Business Profile, Not the Campaign
Sometimes the rejection comes earlier, at the business profile or brand stage, before a campaign is ever reviewed. The cause is almost always a mismatch with official records:
- Legal name. It must match your EIN paperwork exactly, including "LLC" or "Inc." "Smith Plumbing" fails if the IRS has "Smith Plumbing Services LLC."
- EIN. Double-check the digits, and make sure the EIN belongs to the business name you entered.
- Address. Use the address the IRS has on file for the EIN.
- Business type. An LLC registered as a corporation, or a partnership registered as an LLC, will get flagged.
How to Break the Loop
The businesses that wait a month aren't unlucky. They're fixing one rejection at a time. To get through in one pass:
- Fix your website first: privacy policy, SMS terms, and an opt-in form.
- Write the description, message flow, and samples separately, so they agree with each other and with the website.
- Copy the legal name, EIN, and address exactly from your IRS paperwork.
- Then submit, once.
When we do it this way, our recent business campaigns have been approved in a few hours, not weeks.
Or Let Us Handle It
If you'd rather not become an expert in carrier compliance codes, you don't have to. When you get a business phone number with Reach, we file the whole A2P registration for you. If your website isn't set up for it, we build you a compliant one with a privacy policy, SMS terms, and an opt-in form. The registration fees are covered by your plan, and if anything comes back rejected, we fix it and resubmit.
Get your nights and weekends back.
A dedicated business number with business hours, auto-reply, and voicemail. One phone, two numbers.
Get startedKeep reading
How Long Does A2P 10DLC Approval Take? Real Timelines From Our Last 10 Registrations
Twilio's docs say campaign reviews can take 10–15 days. Our last seven business campaigns were approved in under four hours. Here's the real A2P 10DLC timeline, step by step, and what makes it fast or slow.
A2P 10DLC Website Requirements: What Reviewers Check (With a Real Approved Example)
Most A2P 10DLC rejections trace back to the website. Here's exactly what carrier reviewers look for — privacy policy, SMS terms, opt-in form — with a live site that got approved the next day.
Can You Text Customers Without A2P 10DLC Registration? (Error 30034 Explained)
Got error 30034, or wondering if you can skip A2P registration? Here's what's blocked, what still works, and the fastest honest way to start texting customers from a business number.