Fix a rejected texting registration
What the common A2P and toll-free rejection codes mean in plain words, and what to change before you resubmit.
A rejection is frustrating, but most are fixable. The carrier sends a code that points at the part they didn't accept. Find your code below, fix that part, and resubmit.
Before you start
- Find the code: go to Phone System > Setup > Verification. The failure reason shows on the brand, campaign or toll-free step.
- Have your website open. Most fixes are on your site, not in Flourivate.
Steps
- Look up your code in the tables below.
- Make the fix, usually on your website, privacy policy, terms or opt-in form.
- Run through the checklist at the end of this page.
- Edit the registration on Verification and resubmit.
Campaign rejections (local numbers)
| Code | What it means | What to fix |
|---|---|---|
| 30880 | Rejected, no specific reason | Review everything in the checklist below |
| 30881 | Support email doesn't look valid | Use a real email on your business domain |
| 30882 | Terms and conditions problem | Make your terms public and add texting language |
| 30884 | Looks like spam or phishing | Name your business in every sample and only text people who opted in |
| 30886 | Campaign description too vague | Say who sends, who receives, why, and what kind of messages |
| 30887 | Opt-out unclear | Add "Reply STOP to opt out" to samples and opt-in text |
| 30890 | HELP response missing | Add a HELP reply that names your business and how to reach you |
| 30891 | Website invalid or doesn't match | Use a live https site that shows your business name |
| 30892, 30961 | Public link shortener used | Use full links, no bit.ly or similar |
| 30893, 30911 | Sample messages missing or don't match | Write real samples that start with your business name |
| 30894 | Brand details don't match | Match legal name, EIN, address and website to official records |
| 30896, 30924 | Opt-in or consent language missing | Describe every opt-in path and include frequency, rates, STOP, HELP, and privacy and terms links |
| 30925 | Consent box pre-ticked | Make the texting checkbox unchecked by default and separate from other agreements |
| 30931 | Texting was required | Make texting consent optional |
| 30927 | Opt-in proof is for another company | Send a screenshot or link from your own site |
| 30962 | Link isn't https | Make every link https |
| 30963, 30964 | Website, link or domain issue | Check every link is live, public, secure and yours |
Brand rejections
| Code | What it means | What to fix |
|---|---|---|
| 21736 | Domain ownership couldn't be verified | Use a website and email domain that clearly belong to your business |
| 21737, 21739, 21741 | Verification code expired or failed | Restart verification and finish it quickly when the email arrives |
| 21738, 21740 | Verification email undeliverable or wrong domain | Use a working business email address |
| 21727, 21728 | Required field missing or wrong length | Fill every field and stay within the length limits |
| 21729, 21731 | Campaign or brand suspended | Contact us. A suspension has to be resolved before anything else. |
Toll-free rejections
| Code | What it means | What to fix |
|---|---|---|
| 30486 | HELP message incomplete | Name your business and how to get help |
| 30488 | Business name or DBA doesn't match | Match your official name and your website |
| 30489 | Website incomplete | Publish a full site that describes your services |
| 30493, 30522 | Terms missing texting details | Add message frequency, rates and how to opt out |
| 30496, 30499, 30507 | Use case, samples or opt-in don't match | Make the use case, samples and consent wording describe the same texts |
| 30498, 30509, 30510 | Opt-in proof doesn't match or can't be opened | Provide a public, complete screenshot of your opt-in with your branding |
| 30503 | Opt-in confirmation incomplete | Include your business name, frequency, rates, STOP and HELP |
| 30505 | Opt-in not optional | Make texting consent optional |
| 30520 | Privacy policy allows sharing numbers | State you never share or sell mobile numbers or consent |
| 30525 | Link shortener in a sample | Use full links |
Some codes mean the business type itself isn't allowed to text, for example loans, debt relief, credit repair, sweepstakes, third-party lead generation, gambling, tobacco or vape. Resubmitting won't change those.
Checklist before you resubmit
- [ ] Your business name, website, description, samples, privacy policy and terms all name the same business.
- [ ] Your website is live, public and starts with https.
- [ ] Your privacy policy says you don't share or sell mobile numbers or texting consent for marketing.
- [ ] Your terms describe your texts, frequency, rates, STOP and HELP.
- [ ] Your opt-in checkbox is optional, unchecked by default, and separate from other agreements.
- [ ] The opt-in text includes frequency, "Msg & data rates may apply", STOP, HELP and links to privacy and terms.
- [ ] Every sample message starts with your business name and uses full links.
Check it worked
- After resubmitting, the step shows a pending status, then Approved.
If something's off
- The same code keeps coming back: send us the code and a screenshot. We can review your submission with you, but nobody can override a carrier decision.
- A delivery error code (300xx) after approval: that's a sending problem, not a registration problem. See Find out why a text didn't send.