
Your A2P Application Keeps Getting Rejected. Here's the Fix.
Heads up: This is informational, not legal advice. SMS regulations vary by state and by carrier, and they change. Talk to your own counsel before you make a compliance decision for your business.
You submitted your A2P campaign three weeks ago. It came back rejected. You reworded the consent line, resubmitted, waited another nine days, and got rejected again — this time with an error code that reads like it was written by a router.
Meanwhile your text messages aren’t going out. Your follow-up sequence is dead in the water. Every lead that came in during those three weeks got an email instead of a text, which means most of them got nothing.
The rejection isn’t random. It’s your wording.


Here’s what actually happens on the carrier side. They compare three things: the consent language you typed into the application, the opt-in method you claimed, and what’s actually live on your website. If those three don’t match — exactly — you get flagged.
Most business owners fail this test not because they’re doing anything wrong, but because they’re translating a legal requirement into their own words at eleven at night. You write “we’ll send you occasional updates.” The carrier wants a message frequency disclosure, a “Msg & data rates may apply” notice, and STOP/HELP instructions, in a specific relationship to each other. Close enough isn’t a category carriers recognize.
Then there’s the second failure mode: category conflict. You select Marketing/Promotional because you’re sending promotions. You also check the box saying your business touches financing — because you offer payment plans. That combination is one carriers reject on sight, and nobody tells you that until the rejection arrives.
Carriers aren’t rejecting your business. They’re rejecting the four sentences you wrote at eleven at night.
Widget-first: the fields you can’t get wrong are the fields you can’t edit
The pre-built campaign flow in your Lead Savage account flips the whole thing. Instead of asking you to write compliance language, it writes the language and hands you a chat widget that already contains it.
You answer a short questionnaire about what you’re sending and to whom. Lead Savage generates a branded opt-in widget with your business name, the frequency disclosure, the rates notice, and STOP/HELP instructions baked in. You get a snippet of code to drop into your site.
What you can change: colors and header text. What you cannot change: the disclosure language, the required fields, the consent checkbox. That restriction is the entire point. When a carrier reviews your application, they can verify that the live widget on your site is identical to the one you registered — because there is no way for it to be otherwise.
Average approval time on this path is under 48 hours. Compare that to the two-and-a-half weeks you just spent finding out your word choice was the problem.
Three guardrails that catch you before the carrier does
The conflict blocker. Select Marketing/Promotional, then indicate your campaign involves financial or loan-related content, and the flow stops you cold. It prompts you to switch to Informational instead. That’s the single most common high-risk misclassification, caught before submission instead of after a two-week wait.
Automatic age-gating. If your questionnaire answers indicate age-restricted or financial content, a mandatory Date of Birth field locks into the widget. Contacts can’t submit without confirming they meet the minimum age. You don’t have to know the CTIA rule — the widget enforces it.
The locked review screen. Before you submit, you get a read-only summary: consent fields, sample messages, opt-in method, website checklist. Nothing on that screen is editable, which means nothing can be quietly changed after approval. Carriers know that. It’s why they move faster on these.
What setup actually looks like
Go to Settings → Phone Numbers → A2P Messaging Registration and click Create Campaign. Choose Pre-built campaign (Chat Widget) — it’s the option marked Recommended.
Pick Marketing/Promotional or Informational/Non-Marketing. The use case dropdown filters to only the options carriers accept for that category, so you can’t select something that reads fine to you and wrong to them.
Answer the questionnaire. Preview the widget, adjust the colors to match your site, and copy the embed code. Then — and this is the step people skip — actually install it before or immediately after you submit. Carriers require the opt-in method to be live and publicly viewable at the URL you listed. A campaign submitted against a widget that isn’t up yet is a campaign that gets denied.
Track your status under Campaigns → Status.
Two limits worth knowing up front. This flow handles marketing-only or informational-only campaigns; if you’re running both promotional offers and account notifications, you register them separately or use the fully editable path. And widget-first campaigns can’t be cloned, on purpose — every one gets built fresh so the locked disclosures never get accidentally inherited and edited.
The takeaway
If your A2P campaign is stuck in a rejection loop, stop rewriting your consent language and switch paths. Open your Lead Savage account, start a new campaign, pick the pre-built widget flow, answer the questions honestly — especially the financial and age-gated ones — and install the widget code on the page you named before you hit submit.
You’ll have an answer in about two days instead of another two weeks. And your follow-up will be texting leads again, which is the only reason any of this mattered in the first place.
