Twilio Campaign Registration: What
We Need From You.
Brand registration proved who you are. Campaign registration proves what you will send and that the people receiving it agreed to it.
This is the harder half. It is also where almost every rejection happens, and almost all of those come down to one thing.
The one that catches nearly everyone
“They gave me their phone number when they booked” is not consent to text them. Neither is a number on an invoice, a number written on a job ticket, or a number in your CRM from 2019.
Carriers require documented consent that specifically mentions SMS. If you have a list of customers and no record of them agreeing to texts, read the existing list section before anything else on this page.
Jump to a section
Your existing customer list
This is the conversation nobody wants and it is better had now than after a denial.
A phone number collected for one purpose does not carry consent for another. Numbers from bookings, invoices, job tickets, quote forms without SMS language, or an old CRM export are all in the same category: you have the number, you do not have permission.
Texting them anyway risks the campaign, the number, and in the worst case a TCPA complaint, which is a real legal exposure, not a carrier slap.
The path back
- Email them, do not text themYou almost certainly have email consent. Use the channel you are allowed to use to ask for the one you are not.
- Ask them to opt in, with a real reason“We are adding text reminders so you stop missing appointments” is a reason. “Sign up for our SMS list” is not. Give them something worth having.
- Send them to a proper opt-in pageWith all six elements above. We will build it. It is a short page and it becomes the opt-in URL on your registration.
- Or use a keyword“Text JOIN to 248-555-0100.” The inbound text is itself the consent, and it is clean, provable and easy to explain to a reviewer. This is often the simplest route for a list you already have contact with in person.
- Keep the recordTimestamp, method, the exact language they saw, and the IP if it was a web form. Your system should log this automatically, if you are ever challenged, the record is the entire defense.
Expect a small list at first, and that is fine. A hundred people who genuinely agreed to hear from you outperforms two thousand who did not, on every measure that matters, delivery, response, and not getting your number blocked. The list rebuilds faster than people expect once the opt-in is live in the places customers already touch you.
Sample messages
You need at least two, and they get read by a human. Generic samples are the second-most-common denial.
Every sample needs
- Your business name in the message itself
- Content specific enough that a reviewer understands the use case
- Opt-out language on the first message at minimum, and it is safest on all of them
-
Appointment reminder
Approved[Business Name]: reminder, your appointment is Tue 14 Oct at 9:00 AM. Reply STOP to unsubscribe.
Names the business, states the use case, carries opt-out. A reviewer can tell what it is in one read.
-
Order update
Approved[Business Name]: your order #1043 shipped and arrives Thursday. Track: [link]. Reply STOP to unsubscribe.
Specific, transactional, and the link goes to your own domain rather than a shortener.
-
Too vague
DeniedHi! Just checking in. Let us know if you need anything.
No business name, no use case, no opt-out. A reviewer cannot tell who is texting or why.
-
Wrong content type
DeniedCongrats! You have been pre-approved. Click here to claim: bit.ly/xxxx
Lending language, a public URL shortener, and no opt-out. Any one of those is enough on its own.
The denied ones fail for the same reason: a reviewer cannot tell who is texting, what the program is, or how to get out of it. Write the sample as the actual message you will send, with a real name and a real time in it, placeholders like {{first_name}} are fine and expected.
The three automatic replies you must have
We configure these, but you should know what they say because they go out in your name.
-
When someone texts STOP Required
You are unsubscribed from [Business Name]. No more messages will be sent. Reply HELP for help.
Carriers handle STOP themselves, but your reply has to confirm it in plain words and name the business.
-
When someone texts HELP Required
[Business Name]: for help call [phone] or email [email]. Msg & data rates may apply. Reply STOP to unsubscribe.
Has to give a real way to reach a human, not just a link.
-
When someone first opts in Required
[Business Name]: you are subscribed to [message type]. Msg frequency varies. Msg & data rates may apply. Reply HELP for help, STOP to cancel.
Sent once, immediately, the first time they consent. This is the one most campaigns are missing.
STOP is absolute and immediate. Once someone opts out, nothing else goes to that number, no “are you sure,” no final offer, no re-adding them from a later import. Our setup enforces it at the system level, and you should treat it as a hard rule regardless.
Links in your messages
Carriers judge the link as hard as they judge the message.
Never use a public link shortener
bit.ly, tinyurl, goo.gl and the rest are a hard fail. Carriers block them because spammers use them to hide destinations, and a sample message containing one can sink the registration on its own.
Instead: use full links on your own domain, or a branded short domain we set up for you.
The domain has to match your registered website
If you registered davesplumbing.com, links should go to davesplumbing.com. A link to an unrelated domain looks like exactly what carriers are filtering for.
Tell us if messages will contain phone numbers
Perfectly allowed, and it is a question on the registration. It just has to be declared rather than discovered.
What to send us
Copy this, fill it in, send it back. We write the registration wording, pick the use case and handle the submission.
WHAT ARE YOU SENDING?, plain English, two or three sentences
SAMPLE MESSAGE 1, a real one, as you would send it
SAMPLE MESSAGE 2, different content from the first
SAMPLE MESSAGE 3, optional, helps
HOW DO PEOPLE OPT IN?, web form / keyword / in person / all three
OPT-IN PAGE URL, must be live and public before we submit
THE EXACT CONSENT TEXT, copy and paste what appears next to the checkbox
WILL MESSAGES CONTAIN LINKS?, and to which domain
WILL MESSAGES CONTAIN PHONE NUMBERS?
PRIVACY POLICY URL
TERMS URL
If you do not have an opt-in page yet, say so, building one is part of the work and it has to exist and be publicly reachable before we submit, because a reviewer will open it.
Timeline and cost
Registration is not instant, and a denial restarts the clock.
- We review everything before submittingThis is the step that matters. A day spent fixing consent language beats three weeks in a resubmission loop.
- We submit through TwilioUse case selection, campaign description, opt-out keywords and help responses all configured by us.
- The registry and carriers review itOften within a week. Sometimes two to four, occasionally longer, and it varies a lot by use case, with marketing getting more scrutiny than customer care.
- Approved, and messages can go outWe tell you the day it clears.
| Stage | Roughly | Notes |
|---|---|---|
| Campaign registration | $15 | One time, per campaign |
| Campaign, ongoing | $10 / month | Per campaign, for as long as it is active |
| Resubmission after a denial | no extra charge from us | Unless the fix means registering a different use case |
Registry fees are billed through your own Twilio account and we do not mark them up. They change from time to time. We will confirm current figures before submitting anything.
Plan around the approval window
If your texting has to be live for a season, an event or a launch, tell us the date and we will work backwards. Campaign approval is the longest unpredictable step in the whole build and it is the one nobody budgets for.
Why campaigns get denied
Ranked. Every one is preventable before submission, which is the entire reason we review first.
The registration says people opt in on a web form; the reviewer opens the form and there is no SMS language on it. Or the form exists but the checkbox is pre-ticked, or consent is required to submit.
Prevent it: the opt-in page goes live first, with all six elements, and we submit the URL as it actually reads.
No business name, no specific content, no opt-out. A reviewer cannot tell what program this is.
Prevent it: write real messages, not descriptions of messages.
Not in the samples, not in the flow, or STOP is not actually wired up.
Prevent it: we configure the three auto-replies before submission, not after.
Present but generic. Carriers look for mobile-specific language, particularly that opt-in data is not sold or shared with third parties for their marketing.
Prevent it: tell us before we submit and we will tell you exactly what it needs to address.
One bit.ly link can sink it on its own.
Prevent it: full links on your own domain, always.
Registered as customer care, samples read as marketing. Marketing gets more scrutiny, and mislabeling to avoid it is transparent and counterproductive.
Prevent it: tell us honestly what you will send. We will register it correctly the first time.
Straight answers
The questions that come up every time a campaign goes through review.
They gave me their number when they booked. Is that enough?
No, and this is the most common denial there is. A number collected for a transaction does not carry consent to send marketing or reminder texts. You need documented consent that specifically mentions SMS. The re-permission path is how you get there.
Can I text my existing list once the campaign is approved?
Only the people who gave SMS consent. Approval of a campaign is not retroactive permission for a list you collected another way. Email them and ask. It is the only clean route.
How specific do the samples have to be?
Specific enough that a stranger reading them knows who is texting, why, and how to stop. Use your real business name and real content. Merge tags like {{first_name}} are fine.
Can I register more than one campaign?
Yes. One brand supports several campaigns for genuinely different use cases, appointment reminders and promotional offers, for instance. Each carries its own registration and monthly fee, so it is worth deciding whether you need two or whether one covers it.
What if it gets denied?
We get the reason, fix it and resubmit. No extra charge from us unless the fix means registering a different use case entirely. Most denials are consent language or samples, both of which take an hour to correct.
Can I send marketing texts?
Yes, with the right use case and genuinely explicit consent for marketing, which is a higher bar than consent for reminders. It gets more scrutiny and takes longer. Tell us up front rather than registering as customer care and drifting.
What happens if someone complains?
Carriers track complaint rates. A high rate gets a campaign suspended regardless of paperwork, which is the practical reason all of this matters: the compliance is not the point, it is the proxy for whether people actually want your messages.
Do I need this for a toll-free number?
Toll-free numbers use a different verification process rather than A2P 10DLC, but they still require verification and the same consent standards. Tell us which you are using and we will run the right one.
Who owns the numbers and the registration?
You do. Your Twilio account, your billing, your numbers, your brand and campaign registrations. We get access to configure it. If we part ways, everything stays with you.
Send the block
Fill in the form above and send it back. We review before submitting, because a day fixing consent language is cheaper than three weeks in a resubmission loop.
[email protected]+1-248-205-6977
Before this: brand registration . It has to be approved first.
- Published pricing
- Month to month, no minimum term
- You own everything