How to Register for A2P 10DLC on Twilio: Step-by-Step Guide

Twilio’s A2P 10DLC flow has five stages, and they must happen in order: customer profile → brand → campaign → Messaging Service → numbers. Skip or rush one and you end up with approved paperwork that still can’t send. Here is the whole path, with the gotchas flagged where they actually occur.

Before you start: the checklist

  • Your legal business name exactly as registered with the IRS (check a tax document, not your website header)
  • Your EIN
  • Business address, website URL, and a contact email on your business domain
  • A website that already shows an SMS-compliant privacy policy and visible opt-in language, because reviewers will look

That last item is the one that costs people weeks. Campaign reviewers audit your site; if the privacy policy or opt-in disclosure is missing at review time, you get rejected and requeue. Run our free scanner first. It checks exactly these items in ~30 seconds.

Step 1: Create a Primary Customer Profile (Trust Hub)

In the Twilio Console, open Trust Hub and create your Primary Customer Profile with your legal identity. Twilio reviews it (usually hours to a couple of business days). Everything downstream hangs off this profile, and its details must match your IRS records. Full field-by-field walkthrough in our Trust Hub guide.

Step 2: Register your brand

Under Trust Hub → A2P Messaging, create your A2P brand from the approved profile. Choose the right type: Low Volume Standard vs Standard, or Sole Proprietor if you have no EIN. Twilio forwards the data to The Campaign Registry, which vets it against public records. Expect minutes to a few days. A FAILED brand here is almost always a legal-name/EIN mismatch.

Step 3: Register your campaign

Still under A2P Messaging, create a campaign attached to your brand:

  • Use case: pick the narrowest honest category; see choosing a use case.
  • Description: the #1 rejection field. Say who sends, to whom, what content, and how consent was obtained. Formula and examples in our description guide.
  • Sample messages: 2–5 realistic messages including your brand name and opt-out language. See samples that pass.
  • Opt-in details: describe the consent flow precisely and, where the form allows, include the URL where it can be seen (or a screenshot for offline flows).
  • Message flags: declare embedded links/phone numbers truthfully. Undeclared links in samples are an easy rejection.

Campaign review is the long pole: days to four weeks. Twilio shows the status as it moves through TCR and DCA review.

Will your website pass carrier review?

Paste your URL into our free AI scanner and get an instant PASS / WARN / FAIL compliance report. No signup needed.

Run a free compliance scan

Step 4: Create a Messaging Service and attach the campaign

A Twilio Messaging Service is the container that binds numbers to your campaign. Create one (Messaging → Services), and associate your approved campaign with it. If you created the campaign from within the Messaging Service flow, this association already exists.

Step 5: Add your phone numbers to the sender pool

Add every 10DLC number that will send campaign traffic to the Messaging Service’s Sender Pool. This is the step people forget: an approved campaign with an empty sender pool still throws error 30034 on send. New numbers added later must also be added here.

Step 6: Send through the Messaging Service

Update your code to send via the Messaging Service SID (MG…) rather than a bare from number, so Twilio routes traffic through the registered campaign:

client.messages.create({ messagingServiceSid: 'MGXXXXXXXX', to: '+1…', body: 'Your appointment is tomorrow at 10 AM. Reply STOP to opt out.' })

Verify it works

  1. Send a test to a real handset on a major carrier.
  2. Check the message detail in the Console: it should show the campaign association and no 30034/30007 errors.
  3. Text STOP back and confirm opt-out handling; text START to re-subscribe your test number.

If review rejects your campaign at step 3, don’t guess: match the rejection reason against our rejection playbook, fix the underlying issue (usually on your website), and resubmit once. Repeated blind resubmissions burn review cycles and, after multiple failures, can require support intervention.

Frequently asked questions

How long does the whole Twilio A2P 10DLC process take?

Customer profile and brand: usually under a week combined, often faster. Campaign review: days to four weeks, ~2 weeks typical. End to end, budget two to five weeks, or less if your website is compliant before you start.

Do I need a Messaging Service to use 10DLC on Twilio?

Effectively yes. The Messaging Service’s sender pool is how Twilio associates individual phone numbers with your registered campaign. Sending with a bare from-number that is not in any registered pool fails with error 30034.

Can I register if my website is still under construction?

You can register a brand, but campaign review will likely fail: reviewers verify your opt-in flow and privacy policy on the live site. Put the compliance pages live first. It is the single highest-leverage preparation step.

Check your compliance before you submit

Most 10DLC rejections trace back to the sender's website: a missing SMS clause in the privacy policy, no visible opt-in language, mismatched business details. Our free AI scanner reads your site the way a carrier reviewer does and tells you what to fix.

Scan my website free No signup required  ·  Results in ~30 seconds

Related to this topic: