Every US business texting from a regular 10-digit number has to register a brand and a campaign with the carriers. Where you do that depends on who owns your number: Twilio, Weave, Webex, a Zoho extension or something else. The carrier rules are the same everywhere. The forms, the person who fills them in and the places a registration gets stuck are not.
This post covers where 10DLC registration lives on four common host platforms, the specific gotchas on each, and an honest answer to when you should stay put and when moving to a texting platform that handles registration for you is worth it. We make Ready, so we'll be clear about where Ready fits and where it doesn't.
What's the same on every platform
The carrier rules don't change with the platform. Whatever tool you use, the registration asks for:
- Brand: legal business name, EIN, address and website. The name and EIN have to match IRS records exactly.
- Campaign: a use case (marketing, customer care, appointment reminders and so on), a description, two or more sample messages, and a description of how people opt in.
- Numbers: every number you send from has to be attached to an approved campaign.
The common rejection reasons are also the same everywhere. The website has no privacy policy that covers SMS. The sample messages leave out the brand name or the STOP language. The opt-in description is vague ("customers agree to receive texts"). If you want the basics first, our 10DLC explainer covers them. The decoder for rejection reasons and resubmissions covers what to do once a campaign comes back rejected.
The platform-specific part is everything around those forms.
Twilio: you are the registration team
Twilio gives you the most control and the most work. Registration runs through the Trust Hub. You create a Customer Profile, register a Brand, create a Messaging Service, register a Campaign on that service, and then add your numbers to it.
Where Twilio registrations stall
- Picking the wrong brand type. Twilio offers sole proprietor, low-volume standard and standard brands. Sole proprietor registration fits a real one-person business with no EIN, and it comes with tight limits on numbers and volume. Teams sometimes pick it because it's the quick option, then outgrow it and have to register again.
- Numbers not attached to the Messaging Service. The campaign can show as approved while traffic from a number that isn't in the service still goes out unregistered and gets filtered.
- ISVs registering customers under their own brand. If you're a software company sending on behalf of your customers, each customer usually needs its own brand. Registering everything under your company's brand is a common mistake, and it usually gets caught.
- Doing it by hand at scale. One registration in the console is fine. Fifty means working with the API, and somebody has to own failures, resubmissions and status polling.
We cover the full step-by-step in our Twilio A2P 10DLC registration guide.
Honest take: Twilio's per-segment price (around $0.0083) is lower than most texting platforms. If you have engineers, steady volume and a reason to build your own sending logic, staying on Twilio can make sense. You're paying in engineering time instead of per-segment margin.
Weave: registration is mostly done for you, which cuts both ways
Weave is a communication system for dental, medical, veterinary and similar practices. Texting runs from the practice's own number. Weave generally collects your business details and submits the registration on the practice's behalf. That's convenient, and it also means you see less of what was filed. Check with Weave support for its current process.
Where Weave registrations stall
- Legal name mismatches. A practice operating as "Smile Dental" whose EIN belongs to "Northside Dental Group PLLC," or a practice acquired by a dental service organization, is a classic brand-verification failure. The legal entity on the registration has to match the IRS record, not the name on the sign.
- Use case versus reality. Practices send appointment reminders, recall notices and the occasional whitening promotion. If the campaign is registered for one kind of message and you send another, filtering follows. Our guide to matching the use case to what you actually send explains why.
- Limited visibility. When a submission is pending or rejected, you're working through the vendor's support queue instead of reading the carrier feedback yourself.
Honest take: if your practice runs on Weave for phones, scheduling and reminders, moving texting somewhere else just to make registration easier rarely pays off. Fix the legal name, get the use case right and stay put.
Webex: first find out which product owns the number
Cisco sells texting through more than one product. Webex Calling can enable SMS on business numbers. Webex Connect is a separate programmable messaging platform. Many companies buy Webex through a reseller partner, which adds a third party to the registration.
Where Webex registrations stall
- Confusion over who registers. IT assumes the partner handles it. The partner assumes the customer filed it. Nobody files it. Before anything else, write down who submits the registration and who gets the rejection notices.
- Numbers that were never enabled for messaging. A number ported into a calling system for voice isn't automatically registered for texting.
- Departments sharing one brand. Sales, support and billing all texting from numbers on one campaign whose description fits only one of them.
Honest take: for an enterprise already standardized on Webex for voice, adding messaging there keeps one vendor relationship. It's a reasonable trade if someone clearly owns the registration.
Zoho: registration lives with whoever sends the text
Zoho CRM doesn't send SMS on its own. Texting comes from a marketplace extension tied to an SMS provider, or from Zoho Voice, which has its own registration flow. The registration lives with the provider that owns the number, not with your CRM.
Where Zoho registrations stall
- More than one extension, more than one registration. Install two SMS extensions over time and you may have two registrations on two providers, one of them half-finished.
- Opt-in described in the wrong place. The campaign's opt-in description has to match the actual web form or checkbox that feeds Zoho. A generic "contacts opt in via our CRM" gets rejected.
- Workflow messages outside the registered use case. Zoho workflows make it easy to start a promotional message from a record update, even when the campaign was registered for notifications only.
Honest take: if your extension's provider handles registration well and your volume is modest, there's little to gain from switching. If you're sorting out two half-registered providers, consolidating onto one sender is worth doing either way.
The four platforms side by side
| Twilio | Weave | Webex | Zoho (via extension or Zoho Voice) | |
|---|---|---|---|---|
| Who fills in the forms | You | Mostly the vendor | You, the partner or the vendor | The SMS provider's flow |
| Visibility into rejections | Full | Limited | Depends on the partner | Depends on the provider |
| Most common snag | Wrong brand type, numbers not attached | Legal name or EIN mismatch | Unclear ownership | Multiple providers, vague opt-in |
| Best fit | Engineering teams building their own flows | Practices already on Weave | Enterprises standardized on Webex | Teams with one provider set up properly |
Approval times vary by platform and by how clean the submission is. Our breakdown of 10DLC approval timelines by step covers what's realistic. For Zoom, RingCentral, Nextiva, GoTo and Genesys, see the companion guide to those platforms.
When moving to a platform that registers for you saves time
Moving saves real time in these situations:
- You're a platform texting for your customers and you're about to build registration status tracking, resubmissions and per-customer brands on raw CPaaS.
- Registration has stalled for weeks between a reseller, a vendor and your IT team.
- Your texting is spread across tools, such as a CRM extension, a reminder system and someone's personal app, and none of them is registered properly.
Staying is usually the right call when texting is built into a system you can't replace (Weave for a practice is the clear example), or when your team already runs Twilio well.
What it looks like on Ready
Ready handles brand and campaign registration in the app. There's no setup fee. The charge when you submit is the first month, $25. After that the monthly cost is $25/mo for registration and $2 per number. Most approvals take 2 to 7 days. Brand vetting ($79 Standard / $179 Enhanced, one-time) is optional and only worth it for higher-volume senders.
A few details that matter while you're switching:
- An account can send up to 500 texts a month before it registers, at its normal per-text rate.
- If you buy a number before registering, it sends on Ready's shared registration at the same rate while your own registration is in review.
- The first 20 texts are free one-to-one sends. They end the moment a registration is paid for, so use them before you register. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it.
- Plan on registering again under the new provider rather than assuming your old campaign carries over.
For platforms, each customer gets a sub-account with its own numbers and registration. You can create sub-accounts with POST /v1/sub-accounts and check status with GET /v1/registration. The quickstart walks through it. GoHighLevel users can connect Ready natively as an LC Phone alternative.
Worked example: a 3,000-text month
Assume one brand, one campaign, one number, and 3,000 single-segment reminders a month, each under 160 characters with no emoji.
- Messages: 3,000 × $0.0075 = $23, plus 3,000 × $0.0045 in carrier fees.
- Registration: $25/mo for registration and $2/mo per number.
- Replies are billed like sent texts, so add your expected reply volume at the same rate.
That's $55 a month plus carrier fees, before the compliance surcharge. TCPA/DNC scrubbing and landline validation each add $0.003 per segment when switched on. Both are off by default.
On Twilio, the per-segment line in this example would be lower. The difference is what's included: Ready gives you in-app registration, STOP handling that applies across every campaign, quiet-hours holds based on the recipient's area, attestation logging per send, and a two-way inbox without building any of it yourself. Assume a fresh standard campaign sends at roughly 1 to 4 segments per second. That's plenty for reminders but slow for a large promotion.
The practical takeaway
Registration fails for the same reasons on every platform: mismatched legal names, vague opt-in descriptions and use cases that don't match what you actually send. What differs is who does the filing and how much of the carrier feedback you get to see.
Before you blame the platform, find out who owns your number and who owns the registration. If the answer is "nobody, clearly," that's the problem to fix. If you'd rather not own registration at all, you can start on Ready and send your 20 free one-to-one texts before you submit. You can also compare the per-segment card on our pricing page.