⚡
Updated August 2026 — Covers the NEW 1console.twilio.com
Twilio launched a completely redesigned console in May 2026 at
1console.twilio.com. Every other guide online
still shows the old interface. These guides are verified against
the new console as of August 2026.
Help Center / The Key To Submitting A2P and Getting Accepted
The Key To Submitting A2P and Getting Accepted
The mechanics of filling in the campaign form are covered in A2P Campaign Registration. This page is the other half: what TCR reviewers actually look for, why submissions get rejected, and the exact patterns that have gotten real campaigns approved.
⚡ Updated August 2026 — Based on real A2P campaign
submissions and rejections on the new 1console.twilio.com.
These are the patterns that actually get campaigns approved.
Why 90% of Campaigns Get Rejected
The most common rejection reason, by a wide margin, is this one:
"The campaign submission has been reviewed and rejected due to
issues verifying the Call to Action (CTA) provided for the campaign."
This single rejection code accounts for the vast majority of failures. It means TCR reviewers visited your opt-in URL and either:
- Couldn't find a clear opt-in form
- The form didn't have explicit SMS consent language
- The opt-in description didn't match what they found
- The opt-in description was too vague
ℹ️ TCR reviewers are real humans who visit your URLs and test your
opt-in flow. If they can't verify it within 60 seconds, it gets rejected.
The Sample Message Formula That Gets Approved
Based on successful approvals, every sample message needs all six of these — not most of them, all of them.
1
Brand or sender name at the start
❌ "Your appointment is tomorrow at 2pm"
✅ "Northside Medical: Your appointment is tomorrow at 2pm"
2
A real phone number used naturally in context
❌ Messages will include phone numbers (just checking the box)
✅ "Call us at +1(561) 555-0142 for more information"
3
A real URL used naturally in context
❌ Messages will include embedded links (just checking the box)
✅ "Visit NorthsideMedical.com to reschedule"
4
HELP keyword explicitly mentioned
✅ "Reply HELP for help"
5
STOP keyword explicitly mentioned
✅ "Reply STOP to cancel" or "STOP to opt out"
6
Message and data rates disclosure
✅ "Msg & data rates may apply"
The winning formula
[Brand/Sender] + [Clear purpose] + [Real URL] + [Real phone] +
HELP + STOP + Msg & data rates may apply
⚠️ Simply checking the boxes for "embedded links" and "embedded phone
numbers" is NOT enough. You must actually include a real URL and
real phone number in your sample messages.
Real Sample Messages That Got Approved
These are real submissions, not invented examples. Adapt the shape, swap in your own brand, number and domain.
Medical / Clinical Research (approved)
"Appointment reminder: This is a reminder from Northside Medical
that you have an appointment scheduled with us on [DATE] at [TIME].
Please call 561-555-0142 or visit NorthsideMedical.com if you need
to reschedule or have any questions. Reply HELP for help, STOP to
cancel."
Marketing / Clinical Study
"At Northside Medical we have a new clinical study available for
patients ages 65-85. If you are interested reply YES and a team
member will follow up. Contact us at NorthsideMedical.com or call
+1(561) 555-0142. Reply HELP for help, STOP to cancel. Msg & data
rates may apply."
Sole Proprietor / Personal
"[Business Name]: Thanks for signing up for updates. Details and
booking at https://[yourdomain].com or call [phone]. Reply HELP for
help, STOP to opt out. Msg & data rates may apply."
Sole Proprietor / Personal Event
"[Business Name]: New dates just announced. Full schedule at
https://[yourdomain].com or call [phone]. Reply HELP for help, STOP
to unsubscribe. Msg & data rates may apply."
Platform / Business
"Hi [First Name]! This is [Business Name] via Linxi. We have an
update for you — visit linxi.app or call +15615550123 for
details. Reply HELP for help, STOP to cancel. Msg & data rates may
apply."
💡 Include at least 5 sample messages. More samples = more data for
carriers to identify your traffic = fewer false positives in spam filters.
How to Write Your Opt-In Description
This is the field TCR reviewers scrutinize most carefully. The rules:
- Be specific about every method recipients can opt in
- If you mention a web form — the URL must be publicly accessible
- If you mention verbal consent — describe the exact script
- Do NOT describe opt-in methods you don't actually use
- Minimum 40 characters, maximum 2048 characters
For Sole Proprietor campaigns — keep it simple and personal
"Recipients opt in to receive personal messages by one of the
following methods: (1) the recipient personally texts this number
first initiating the conversation, (2) the recipient verbally
provides their phone number and consent in person, or (3) the
recipient texts the keyword START to this number. All recipients
are personal contacts who have a prior relationship with the sender.
Reply STOP to opt out, HELP for help. Msg & data rates may apply."
⚠️ Do NOT mention a web form URL for sole proprietor campaigns
unless you have a real personal opt-in form at that URL.
TCR will visit the URL and verify.
For Business / Low Volume Mixed campaigns
"Recipients opt in to receive SMS messages through one of the
following methods: (1) by submitting their phone number through
a web form at [YOUR URL] where they check a box stating 'I agree
to receive SMS messages from [Business]. Reply STOP to opt out.
Msg & data rates may apply.' (2) by texting START to this number,
or (3) by verbally providing consent to a business representative.
All opt-ins are recorded with timestamp, source, and IP address."
For Medical / Healthcare campaigns
This is the gold standard — it describes the web form and the verbal script, and it separates consent for Customer Care from consent for Marketing so each declared use case has its own documented opt-in.
"Recipients opt in to receive SMS messages from Northside Medical
through two methods.
(1) WEB FORM — at NorthsideMedical.com/contact, the patient enters
their mobile number and checks an unchecked-by-default box stating:
'I agree to receive SMS messages from Northside Medical about my
appointments and study opportunities. Msg frequency varies. Msg &
data rates may apply. Reply STOP to opt out, HELP for help.' Two
separate checkboxes are presented: one for appointment and care
messages (Customer Care) and one for study opportunity messages
(Marketing). Consent is not a condition of care or of study
participation.
(2) VERBAL — during in-person visits and inbound phone calls, staff
read the following script verbatim: 'Would you like to receive text
messages from Northside Medical at this number? We'd send you
appointment reminders and, if you'd like, occasional notices about
new clinical studies you may qualify for. Message frequency varies,
message and data rates may apply, and you can reply STOP at any time
to opt out or HELP for help. May I have your consent for appointment
reminders? And separately, for study notices?' Each answer is
recorded independently.
All opt-ins are logged with the timestamp, the collecting staff
member or web form source, and — for web form submissions — the
submitting IP address. Records are retained for the life of the
relationship plus four years."
💡 If your campaign covers multiple use cases (Customer Care AND
Marketing), describe the opt-in process separately for EACH
use case. TCR error 8102 means a sample message is missing
for one of your use cases.
What Your Privacy Policy MUST Say
TCR reviewers visit your privacy policy URL. It must include this exact phrase (or a direct equivalent):
"We do not share, sell, or provide your mobile phone number or
messaging consent data to third parties or affiliates for
marketing or promotional purposes."
Also required on that same page:
- Message frequency disclosure
- "Message and data rates may apply" language
- STOP opt-out instructions
- HELP instructions
- What data you collect and how it's used
The full page-by-page breakdown is in the Privacy Policy Guide.
⚠️ Your privacy policy URL must be publicly accessible without login.
TCR reviewers cannot log in to view it.
🛑 Error 30908 = privacy policy missing required SMS language.
Add the exact phrase above and resubmit.
Which Campaign Type Should You Register?
| Type | Cost | Best for | Daily limit |
| Sole Proprietor | Free | Personal use only | 1,000 msg/day |
| Low Volume Mixed | $1.50/mo | Most businesses | 6,000 msg/day |
| Marketing | $10/mo | Pure marketing only | Higher |
| Customer Care | $10/mo | Support only | Higher |
| Mixed | $10/mo | Multiple use cases | Higher |
💡 Low Volume Mixed at $1.50/month covers ALL use cases for most
small businesses. Choose this unless you have a specific reason
to use a more expensive type.
⚠️ Sole Proprietor campaigns cannot be used for business messaging.
If you are sending on behalf of a business, register a business
brand and use Low Volume Mixed instead.
Before You Submit — The Rejection Checklist
- Campaign description is 40+ characters and explains your use case clearly
- At least 5 sample messages provided
- Every sample message includes your brand/sender name
- Every sample message includes a real phone number (not just [phone])
- Every sample message includes a real URL (not just [link])
- Every sample message includes HELP keyword
- Every sample message includes STOP keyword
- Every sample message includes "Msg & data rates may apply"
- Opt-in description covers ALL methods you use
- Web form URL in opt-in description is publicly accessible
- Privacy policy URL is publicly accessible (no login required)
- Privacy policy contains SMS non-sharing language
- Terms URL is publicly accessible
- Privacy and Terms URLs do NOT have .html extension
- "Embedded links" box checked AND links actually in sample messages
- "Embedded phone numbers" box checked AND numbers in sample messages
- If Low Volume Mixed — sample messages cover ALL sub-use cases
- Run the pre-submission check in 1console before submitting
⚠️ Every resubmission after a rejection costs a vetting fee.
Get it right the first time using this checklist.
A2P Rejection Codes and Fixes
| Error | Meaning | Fix |
| CTA rejection | Can't verify opt-in flow | Fix opt-in description + verify URLs |
| 30908 | Privacy policy missing SMS language | Add required phrase to privacy policy |
| 30909 | CTA incomplete | Describe all opt-in methods specifically |
| 8102 | Missing sample for use case | Add sample message for each sub-use case |
| Brand mismatch | Brand name doesn't match EIN | Use exact legal name from IRS documents |
What To Do After a Rejection
1
Read the rejection reason carefully
It tells you exactly what failed. The reason text is the single most useful thing you get out of a rejection — don't skim it.
2
Fix the specific issue
Don't change things that weren't flagged. Rewriting fields that already passed just gives the next reviewer something new to reject.
3
Update your Linxi A2P Campaign record with the rejection reason
Keeping the reason on the record means the next person to touch the campaign — you, in three weeks — knows what already failed.
4
Click "Fix Campaign" in 1console
Do NOT register a new campaign. Fixing the rejected submission is both cheaper and faster.
5
Make only the necessary changes
Edit the flagged fields, leave the rest alone.
6
Run the pre-submission checker before resubmitting
1console's own check catches the mechanical problems — missing keywords, under-declared content flags — before a human reviewer ever sees them.
7
Submit and wait 1-3 business days
Low Volume campaigns sometimes clear faster.
⚠️ Each resubmission costs a vetting fee. Fix everything at once —
don't resubmit until you've addressed every issue on the checklist above.
ℹ️ Registering a new campaign instead of fixing the existing one
wastes money and time. Always use Fix Campaign on the rejected submission.