April 08, 2024 • 8 min read
If your company requires to implement a messaging service to send, for example, SMS reminders for appointments, booking confirmations or any other message of any kind, you'll need a cloud communications solution. Whether it's a generally known brand such as Twilio or any other 3rd party provider, they all have a particularly same requirement: you'll have to go through the A2P 10DLC Campaign Verification if you want to send SMS from a 10-digit US phone number to other US numbers.
You may encounter different steps or even a different UI on each platform in order to fill the form, but the concept here is the same:
Keep in mind that these steps are only needed once the development/integration is complete or when you ran out of free credits from within the platform you chose. While you integrate Twilio in your project, Twilio will provide a test 10DLC phone number for you to play with.
Feel like knowing more about it? Take a look at Twilio's explaination here.
Explanations set apart, let's go to the Twilio Console and register both the Brand and Campaign. Keep in mind that in order to start the A2P 10DLC Campaign Verification, your account must be out of the free/trial plan.
Head over to the twilio console and log in using your credentials.
Once you're in the portal, head over to Messaging > Regulatory Compliance > Onboarding. Once in there, you'll be prompted to create a Customer Profile (if you haven't created one yet).
The Customer Profile is needed for Twilio's KYC. It basically asks for some general company information, including contact information and also EIN. This is the first step and it is a required step in order to create a Brand out of this Profile. Some of the fields that are needed to fill out are:
General information
Business information
Contact information
Once you filled out all the information, you should have a Customer Profile like this:
The next step is to register a Brand. Brands in Twilio are defined based on 2 things: your Customer Profile and the message throughput that you need. Take a look at the following diagram to see which brand type suits you best
So, once in the Brand section of the form, pick up the one that suits you best for your use case. Depending on the brand type, twilio is going to do a one-time fee charge to register the brand. Keep in mind that if the brand registration fails by any reason, such as wrong information, and you need to re-register the brand, you will be charged with the same fee.
The brand verification can take up to 48 hours and you'll have to wait until the brand gets registered in order to create a campaign.
Once the brand is approved, the last step is to create the campaign that's going to allow you to send SMS to any US phone number. Keep in mind that you can create as many campaigns for a brand as you like, there's no specific limit for that. I also encourage you to do so in order to keep track of the costs of each campaign in the billing panel.
There are many different fields that need to be filled in the campaign form, so let's go through them step-by-step and I'll provide you my personal experiences on which ones are the most important (and which ones caused me to have to re-submit the form multiple times 😅)
Let's take a look at the second part of the form:
Let's take a look at the last piece of the form below:
I left the “Did you know?” part on purpose.
The how do end-users consent to receive messages is probably the most important input of the entire form. You have to be really descriptive in how they accept to receive your SMS, whether it's because they filled in some form through your CRM, or they call into your office, or any other scenario that you may encounter. I probably got rejected 3 times on this on my first days since this new compliance came in place, then again, in the Learn more link, you'll have some successful text examples that you could use as inspiration. Providing a public screenshot (like storing it publicly in your web server) of how you capture the phone number from your customers certainly helps to get the campaign approved, however, keep in mind that if you upload it to your own web server rather than some storage service for that screenshot, it really helps to use the server with the company website in it so Twilio can see that it matches with the rest of the information you provided.
Lastly, Opt-in Keywords and Message are samples that you can optionally include. I never filled those since Twilio already provides a standard auto-reply for those scenarios.
Once everything is done, you can hit the Submit button and then the vetting process will start. Keep in mind that it takes generally 5 to 7 business days in order to have an answer from Twilio, and it doesn't come in through your email/SMS, you'll have to come into the console and periodically verify the status of the campaign.
That's it for now, if you already have the SDK set in place in your application and you're just waiting for the form to be approved, nothing else is needed on your end. Remember to move the 10DLC phone numbers to the messaging service that the campaign indicated to use once it gets approved, otherwise SMS will not go out either.
In the next post, we're going to talk about integrating the SDK from scratch and provide a base Laravel example so that you can re-use it if needed.
Remember to follow me on my networks that are attached in the header/footer.
Thanks!
-Gonza
Sr. Software Engineer
I have over 6 years of experience building highly scalable web applications using a wide variety of technologies. Currently focusing on Laravel, Livewire, Vue.js and AWS as my go-to stack.
If you enjoy the content that I make, you can subscribe and receive insightful information through email. No spam is going to be sent, just updates about interesting posts or specialized content that I talk about.
Ready to take your project to the next level?
Contact me