If a customer says “I never got your text,” and you know for a fact one went out, the problem is usually not your software. It is that a US carrier looked at that message and decided not to deliver it, because the number sending it was never registered under the A2P 10DLC system.
This guide is for the shop owner who just turned on automated review requests, missed-call text-back, or an automated follow-up sequence and needs the registration piece done correctly the first time, not the shop owner who wants a technical explainer on how carrier filtering works. By the end you will have a registered brand, a registered campaign, numbers attached to it, and a way to confirm it is actually working.
One disclosure up front: Garage Door Lead Engine sells missed-call text-back, lead follow-up, and AI phone and chat answering as part of our platform, and our own texting runs on this same registration system, so we are not a neutral bystander here. What follows is the same sequence we walk through internally before any client’s automated texts go live, written so you can do it yourself with any provider.
Which one you should probably pick
If you already use OpenPhone (now branded Quo) or GoHighLevel for your business texting, register 10DLC inside that platform. Both wrap the same underlying Twilio infrastructure in a guided flow built for a non-developer, and both hold your number, your brand, and your campaign in one place, so there is nothing to reconcile later.
If you are choosing a business phone system for the first time and expect to send more than occasional one-to-one replies, either option works. OpenPhone/Quo suits a shop that wants a phone system first, with texting included. GoHighLevel suits a shop that wants texting bundled with the CRM, follow-up automation, and review requests in one subscription, which is closer to what a lead-and-follow-up workflow actually needs.
Register directly with Twilio only if you are building a custom integration yourself or your developer is already working in the Twilio console. Most garage door shops will never open a Twilio dashboard, but it is worth understanding because it is the compliance layer every downstream tool is quietly running on top of, and its fee schedule is the most authoritative published source for what this actually costs.
What each one actually costs
Prices below are as published on each vendor’s own site, checked August 28, 2026. Twilio’s own pages disagree with each other on one figure, noted in the table.
| Provider | Published price | What it is best at | Where it gets hard |
|---|---|---|---|
| Twilio (direct) | Standard brand $44 one-time (a separate Twilio support article lists $46 for the same fee, unresolved as of this check); Sole Proprietor or Low-Volume Standard brand $4 one-time; campaign vetting $15 one-time; monthly campaign fee $1.50 to $10 for Standard, $2 for Sole Proprietor (checked 2026-08-28) | The cheapest path if you already have a developer wiring texting into your own tools | You are building the console screens yourself. No guided flow, no shop-owner-facing support for “why is my campaign pending” |
| OpenPhone (Quo) | $19.50 one-time plus $1.50 to $3 per month maintenance, on top of a Starter plan at $15/user/month billed annually (checked 2026-08-28) | A dedicated business phone system with texting built in, guided registration inside the app | Registration is a separate step you still have to complete after signing up. Texts sent before it finishes can be filtered |
| GoHighLevel | Bundled into platform pricing: Starter $97/month, Unlimited $297/month (checked 2026-08-28); Twilio-based phone and SMS usage is metered pass-through on top of the subscription | Registration guided inside the same platform that runs your follow-up and review automations | The platform itself is broad. A shop that only wants texting ends up paying for a CRM, funnel builder, and automation suite it may not use fully |
Before you start
Gather these before you open any registration form. Missing one is the most common reason a registration sits pending longer than it needs to.
- Your business’s legal name, address, and EIN, if you are registering a Standard brand. If your shop operates as a sole proprietorship without an EIN, you can register under the Sole Proprietor tier instead. That tier skips the EIN requirement but caps your daily message throughput lower than a Standard brand, which matters if you send review requests and follow-up texts to more than a handful of customers a day.
- A website URL for your business. Carriers use this during vetting to confirm you are a real, operating company.
- A clear answer to “what will these texts say.” You will be asked to classify your use case (examples include customer care, low-volume conversational, or marketing). Pick the classification that matches what you actually plan to send. This decision has consequences covered below.
- The phone number or numbers you plan to text from. New or ported, they need to exist before you attach them to an approved campaign.
- A few days of runway before you need texting live. Do not schedule your review-request or missed-call text-back launch for the same day you start registration.
Setting up 10DLC inside GoHighLevel
- Inside your GoHighLevel sub-account, go to the settings area for Phone Numbers, then find the A2P registration section (GoHighLevel’s own support documentation walks through the current menu path, since sub-account interfaces get revised).
- Complete the Business Profile step first. This is where your legal business name, address, and EIN (or Sole Proprietor election) get entered. GoHighLevel checks this against Trust Hub, the same underlying Twilio system, so accuracy here matters more than speed.
- Submit the Brand registration. This step establishes your business identity as a texting sender, separate from any specific number.
- Register the Campaign under that brand. Select the use case that matches what you are actually sending: a missed-call text-back and a review request typically fall under customer care or low-volume conversational, not marketing, unless you also plan to send promotional blasts.
- Attach your business phone number(s) to the approved campaign. Texts sent from a number that is not attached to an approved campaign are the numbers most likely to get filtered.
- Wait for approval. GoHighLevel’s own documentation cites one to five business days. Do not build your launch timeline around same-day approval.
- Send a real test text to a phone outside your business, on a different carrier if you can arrange it, and confirm it lands, not just that the dashboard shows “sent.”
Setting up 10DLC inside OpenPhone (Quo)
- From inside your OpenPhone (Quo) workspace, find the A2P 10DLC registration flow, listed on the vendor’s own pricing page as a $19.50 one-time step plus $1.50 to $3 per month in ongoing maintenance (checked 2026-08-28).
- Enter your business details. If you have an EIN, use it for the Standard tier. If not, the flow supports registering without one at a lower throughput tier.
- Select your use case honestly. OpenPhone’s setup guidance treats this as a required step before bulk or automated texting works reliably, not an optional formality.
- Complete registration and confirm your number is linked to the approved campaign before turning on any automated sequence (review requests, appointment reminders, or missed-call text-back).
- Test with an outbound message to a real outside number before relying on the automation for customer-facing traffic.
The challenging one: registering directly with Twilio
Most garage door shops will never need this path, but it is worth understanding because it is the compliance layer every downstream product above is actually running on. If you or a developer are building a custom integration rather than using a guided platform, here is what you are actually doing.
Twilio requires a Trust Hub Business Profile first. An EIN is required for a Standard brand; the Sole Proprietor tier does not require one, at the cost of lower throughput. From there you register an A2P 10DLC Brand under that profile, then a Campaign under the brand, selecting a use case that determines both how the campaign is vetted and how many messages per day it is allowed to send. Twilio states vetting typically completes in under a week, though the timeline depends on Twilio, the individual carrier, and a third-party vetting partner, none of which you control directly. Only after the campaign is approved do you attach your phone number and start sending.
The part that trips people up is not any single step. It is that nothing in this process throws a visible error when it is misconfigured. Register the wrong use case, for instance registering as low-volume conversational and then sending what carriers classify as marketing content, and the industry-standard consequence is that your campaign gets rejected or suspended later, not immediately. That specific failure mode is well documented as common practice across the texting industry, though it is not something Twilio spells out in a single official page, so treat it as a strong pattern to plan around rather than a guaranteed rule. What is confirmed directly on Twilio’s own pricing page: Standard brand registration at $44 one-time, though a separate Twilio support article states $46 for the same fee. That disagreement between two Twilio-owned sources is itself a useful signal that this system has changed recently (The Campaign Registry raised several related fees in August 2025) and is worth reconfirming before you quote anyone an exact number.
What usually goes wrong
- Registering as Sole Proprietor by default, then outgrowing it. The lower EIN-free tier caps throughput. A shop that starts sending review requests to a real customer volume can hit that ceiling and see messages queue or fail with no obvious warning.
- Choosing the wrong use case to get through the form faster. Selecting “low-volume conversational” and then sending anything that reads as promotional (a seasonal discount, a blast to your whole customer list) is the most commonly cited reason a campaign gets flagged or suspended after the fact, not rejected up front.
- Launching automation before approval finishes. Turning on missed-call text-back or a follow-up sequence the same day you submit registration means those early messages go out on an unregistered or pending number, exactly when carrier filtering is most aggressive.
- Assuming a “sent” status means “delivered.” Most platform dashboards show a message as sent the moment it leaves your account, not the moment a carrier accepts it. Carrier filtering happens after that point and is invisible from inside your own tool.
- Treating a brand-new number as ready to text immediately. A newly purchased or freshly ported number attached to an already-approved campaign still needs to propagate through the carrier network. Send a real test before trusting it with customer traffic.
How to tell it is working
In week one, send a real test text from your business number to a personal phone on a different carrier than your own, not just to another line on the same platform. Check your provider’s delivery report or logs, not just the “sent” confirmation, and confirm the message shows as delivered rather than pending or failed.
In month one, watch for a pattern rather than a single failure: are review requests and follow-up texts landing consistently, or do a subset silently never get a response even from customers who normally reply fast? If your platform shows delivery rates per campaign, a rate that sits meaningfully below what you send is worth investigating, since it can indicate a use-case mismatch rather than a one-off carrier hiccup. If you switch numbers, add a number, or change what kind of messages you send (adding promotional content to a campaign registered as conversational, for example), treat that as a trigger to re-check your campaign classification rather than assuming the original registration still covers it.
Missed-call text-back is usually the first automated text a shop turns on, and it is the clearest way to confirm registration actually worked: call your own business line from a phone you do not answer, and see whether the text-back arrives within a minute or two, the way it is supposed to.
Common questions
- What is A2P 10DLC and does a garage door company actually need it?
- A2P 10DLC (application-to-person, 10-digit long code) is the registration system US wireless carriers require before a business can reliably text customers from a standard local number. If your shop sends automated texts, review requests, appointment reminders, or missed-call text-backs, you need it. Carriers filter or block unregistered business texting.
- Can a sole proprietor register for 10DLC without an EIN?
- Yes. Twilio and most downstream platforms offer a Sole Proprietor brand tier that does not require an EIN, but it caps your message throughput lower than a Standard brand. If you already have an EIN, register as Standard from the start.
- How long does 10DLC approval take?
- Twilio states brand and campaign vetting typically completes in under a week, and GoHighLevel's own support documentation cites one to five business days. Treat five business days as the planning number and register before you need texting live, not the week of launch.
- Why would my texts stop delivering with no error message?
- Carrier filtering on unregistered or mismatched campaigns does not throw an error back to the sender. The message is silently dropped, delayed, or marked as spam on the receiving end. The only way to know is a delivery report inside your texting platform or a real test send to an outside phone.
Sources
Prices, limits, and requirements were checked on August 28, 2026. Vendors change these without notice, so confirm anything that affects a buying decision before you sign.
