People pick up for a number that looks like it's from down the street and ignore one from three states away. Sales teams and local businesses have known this for years, and it's why "get local numbers" sits near the top of most texting and calling setup lists. The idea holds up. Teams go wrong when they try to stretch it: more numbers, faster rotation, and hoping the carriers won't notice.
This post covers what a local number does for texts and calls, how local presence works in Ready, what each extra number costs on registered 10DLC, and the spam-flag and filtering risks that extra numbers can't fix.
What "local presence" means for texts
With Local presence on, Ready sends each text from the account's number closest to the contact's area code. Suppose your sales team has numbers in 512 (Austin), 214 (Dallas) and 713 (Houston). A lead with a 469 number gets your 214 number, because 469 overlays Dallas. A 281 lead gets 713.
Local presence only picks among numbers you already own. It does not create numbers, and it does not let you skip registration. Every number still sits on the account's registered 10DLC campaign. That point matters for everything else in this post, and we cover it in more depth in can many local numbers share one campaign.
Doing it in GoHighLevel
If your team texts from GoHighLevel through Ready, two tags control the sending number:
- #from:local# sends from the account's number closest to the contact's area code.
- #from:even# spreads new contacts across the numbers inside that local area-code group.
With either tag, a contact keeps the number it already texts with. Someone who replied to your 214 number last week won't hear from a 469 number this week. That consistency is the reason the feature works at all: the lead sees one local business, not a rotating cast of strangers. If you're choosing between the two tags for a sub-account that covers several metros, this tag comparison works through the decision.
Doing it over the API
If you're sending from your own app, leave from out and Ready picks the number closest to the recipient:
POST https://api.tryready.com/v1/messages
X-API-Key: <key>
Idempotency-Key: 3f6c1a2e-9b7d-4c1e-8a55-2d9e0f4b7c10
{
"to": "+14695550123",
"body": "Hi Dana, it's Marcus from Lone Star Roofing. Your inspection is confirmed for Thursday at 10 AM. Reply STOP to opt out.",
"consent_attested": true
} Set from_strategy to even or random to spread new contacts across your numbers instead. consent_attested is your promise that this person agreed to receive texts. The messages API docs list the rest of the fields.
What it costs to run several local numbers
Numbers cost money every month. Here's what a four-metro setup looks like on Ready.
Worked example (assumptions stated): one brand, one campaign, four local numbers, and 2,000 single-segment texts a month to consented leads.
| Line item | Monthly cost |
|---|---|
| Brand registration | $10/mo |
| Campaign registration | $20/mo |
| 4 numbers | 4 × $2 = $8/mo |
| 2,000 segments (Standard) | 2,000 × $0.0075 = $15 |
| Carrier fee | 2,000 × $0.0045 |
That's the four lines above plus 2,000 × $0.0045 in carrier fees. The total leaves out the $0.003-per-segment scrubbing and landline validation surcharges, which are off by default and charged only if you switch them on. Registration has no setup fee. The charge when you submit is the first month, $25, and most approvals take 2 to 7 days. Replies you receive are billed like sent texts, so a list that replies a lot will push the segment line above 2,000.
Every number you add is another $2 a month. If 90% of your leads sit in two area codes, buy two numbers. You don't need one for every overlay in the state. 10DLC cost: every fee explained breaks down the registration fees in more detail.
Ready's per-segment rate is higher than raw CPaaS APIs like Twilio or GoHighLevel's LC Phone. You're paying for what comes with it: registration handled in-app, STOP handling, quiet hours and an inbox. If you only need a pipe to send through and you'll build the rest yourself, a CPaaS is a reasonable choice.
Local presence for calls
The Ready Dialer gives your team click-to-call from the dial pad in the dashboard or inside GoHighLevel. It also includes consented call recording and transcripts, inbound calls that ring the open pad, and a Missed call card in the Inbox thread for each call you miss.
Here's what it doesn't do: there's no auto dialing, no queue dialing, no voicemail drop and no transfer. A rep clicks a number and makes the call. Calls get local presence too: the dial pad calls from the rep's own number if they have one, otherwise from the account's calling number closest to the contact's area code. A number labeled Spam Likely is used only when every number is.
The Dialer costs $0.025 per minute. Each started minute is billed as a full minute, and only answered time is billed.
Worked example (assumptions stated): a rep dials 100 leads in a day, 30 answer, and the average connected call bills 3 minutes.
- 30 calls × 3 minutes is 90 minutes, and 90 minutes × $0.025 = $2.25
- The 70 calls that rang out or got a busy signal cost nothing.
- A call that goes to voicemail counts as answered and bills like any connected call.
That's 3 minutes × $0.025 = $0.08 per conversation. The setup that works for many sales teams pairs the two channels: a lead fills out a form, gets an instant text from a local number confirming the request, and a rep calls from the pad within a few minutes. The text tells the lead who's about to call, so the call is more likely to get picked up.
The spam-flag risk: why more numbers don't help
This is where local strategies tend to go wrong.
Calls
Call labels like "Spam Likely" generally come from patterns: lots of short calls from one number, low answer rates, and complaints. Rotating through a pile of fresh numbers to dodge labels makes those patterns worse. Each new number starts with no history, and a burst of short calls looks like what the labeling systems are built to catch. A smaller set of numbers with steady, reasonable call volume to people who asked to hear from you holds up better than a big rotating set. That's general good practice, not a guarantee. Ready doesn't control how phone carriers label calls.
Texts
On the texting side, all your numbers share one registered campaign, which has three consequences:
- More numbers don't add capacity. Throughput is set per campaign and brand. A fresh standard campaign gets roughly 1 to 4 segments per second. T-Mobile's daily brand cap runs from about 2,000 messages a day at the lowest trust score up to about 200,000 at the highest. Ten numbers under one brand share the same cap. Raising the cap means raising the brand's trust score, which brand vetting does only if it pushes you across a tier.
- Content filtering follows the message. If carriers flag your wording, swapping the sending number doesn't fix it. Approved but still filtered covers the content-level problems that registration doesn't solve.
- Complaints land on the whole campaign. A lead who gets texted from three different numbers and reports one of them has reported your brand.
Local numbers are for texting people who opted in or already replied. If you're contacting cold lists, use phone and mail. Don't text them from a local number hoping they'll take it for a neighbor.
Guardrails that come with it
Each number on the account uses the same compliance stack:
- STOP handling: an opt-out on any number blocks the contact across every campaign and every number.
- Quiet hours: texts sent outside the recipient's permitted local hours are held and sent later, and they're billed only when they actually send. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.
- Scrubbing (optional): TCPA-litigator and DNC numbers can be screened before a send for $0.003 per segment if you switch it on. A standalone scrub is $0.005 per contact.
These reduce risk. They don't make you immune to lawsuits. Collecting and keeping each contact's opt-in record is still your responsibility.
The practical takeaway
Buy local numbers for the area codes where most of your leads actually live. Put them all on one registered campaign. Local presence is on for every account, so each text goes from the nearest number, and each contact keeps the number it already knows. Pair the text with a call from the pad, and expect to pay only for calls that get answered. Don't use numbers to fix deliverability or spam labels. Fix those through your content, your consent records and your brand's trust score.
To try it, sign up, add a number or two, and use your 20 free one-to-one texts before you register. When the local setup looks right, submit your registration.