A brokerage with 40 agents usually registers one 10DLC brand, one campaign and 40 numbers, then forgets about it. That setup works until one agent starts texting a purchased list of expired listings from a number on the shared campaign. Carriers don't see "Agent #27." They see your campaign, your brand and a rising complaint rate. Then the other 39 agents' showing confirmations start landing late or not at all.
How you split brands, campaigns and numbers decides two things: what you pay each month in fixed registration fees, and how far one bad sender's problems spread. This guide compares the three structures brokerages actually use. Each one is costed with the same 40-agent example, along with the throughput it gets you and the point where brand vetting is worth paying for.
The fixed costs you're choosing between
On Ready, registration has three recurring parts:
- Brand: $10/mo. This is the legal business that carriers vet.
- Campaign: $20/mo. This is the declared use case and its sample messages.
- Number: $2/mo each. Every number sits on exactly one campaign.
There's no setup fee. At submit you pay the first month, $25 for a brand plus one campaign, and most approvals take 2 to 7 days. Per-message pricing doesn't change with structure. Every segment, sent or received, is $0.0075/segment plus a $0.0045 carrier fee. That covers replies too, since inbound texts bill like sent ones. Scrubbing and landline validation are optional add-ons at $0.003 extra per segment each, and both are off by default.
So the structure decision only moves the fixed line on the bill. The risk line is where the options really differ.
Option 1: one brand, one shared campaign
This is the default. Register the brokerage as the brand, put one campaign on it (usually "customer care" or "mixed"), and assign each agent a number.
Monthly cost for 40 agents: $25/mo for registration and $2/mo per number for 40 numbers
Throughput: All 40 agents share one campaign's per-second rate. A fresh, unvetted standard campaign gets roughly 1 to 4 segments per second. They also share one brand's T-Mobile daily cap. At the lowest trust tier that's about 2,000 messages a day, or roughly 50 per agent if everyone texts on the same day.
Blast radius: Everyone. Carrier filtering lands on the campaign, the numbers on it and, through complaint history, the brand. One agent sending promotional content on a customer-care campaign, or texting people who never opted in, puts the whole roster at risk.
When it's fine: Small or tightly run brokerages where agents text from a shared CRM with approved templates. It also works where the broker can actually see what's being sent. If you trust your process, one shared campaign is the cheapest structure and the simplest to run.
Option 2: one brand, campaigns split by use case
Keep one brand, but separate what agents send one-to-one from what the brokerage sends in bulk. A common split looks like this:
- Customer-care campaign: agent-to-client conversations, such as showing confirmations, offer updates, closing-date reminders and replies to inbound leads. All 40 agent numbers sit here.
- Marketing campaign: brokerage-level listing alerts, open-house invites and market updates to opted-in subscribers, sent from a few dedicated numbers.
Monthly cost: one brand, two campaigns and 44 numbers (40 agent numbers plus 4 marketing numbers)
That's $40/mo more than Option 1.
Throughput: Each campaign gets its own per-second rate, so a Thursday listing campaign doesn't queue behind agents' conversations. The T-Mobile daily cap is still per brand, though, so both campaigns draw from the same daily pool. Splitting campaigns doesn't double your daily volume.
Blast radius: Smaller, but not sealed. When the marketing campaign draws complaints, the agent numbers on the customer-care campaign are better insulated than they would be on a shared campaign. Brand-level trust is still shared. This structure mainly fixes the most common filtering cause in brokerages, which is promotional content going out on a campaign registered for something else. We cover that mismatch in detail in matching use case to what you actually send.
When it's the right call: Most brokerages that run any recurring bulk marketing. For $40/mo you get a clean line between "agent talks to client" and "brokerage promotes listings," and carriers reward that line.
Option 3: a sub-account per team
Larger brokerages often run as a set of teams, each with its own lead sources, CRM habits and appetite for risk. Here each team gets its own Ready sub-account with its own numbers and its own registration.
Monthly cost (40 agents in 6 teams): six brands, six campaigns and 40 numbers
Add a brokerage-level sub-account for marketing (one brand, one campaign, 4 numbers) and you add one more brand, one more campaign and 4 more numbers.
Throughput: Each team's brand gets its own T-Mobile daily cap, and each campaign gets its own per-second rate. Six teams at the lowest tier have about 2,000 messages a day each, instead of 2,000 shared across everyone.
Blast radius: The tightest containment of the three. A team that runs a bad list harms its own campaign and brand. The other five keep sending.
The catch: A brand is a legal business, and carriers check it against tax ID records. A team that is its own LLC with its own EIN can register as its own brand. A team that's just a group of agents under the brokerage's license can't honestly claim to be a separate company, and inventing one is how registrations get rejected. Before choosing this option, confirm which teams are actually separate businesses. If only some are, you'll end up with a hybrid: independent teams on their own sub-accounts, and everyone else on the brokerage's Option 2 setup.
Side-by-side
| One shared campaign | Split by use case | Sub-account per team | |
|---|---|---|---|
| Fixed registration (40 agents) | 1 brand, 1 campaign | 1 brand, 2 campaigns | 6 brands, 6 campaigns (7 with a brokerage marketing account) |
| Campaigns | 1 | 2 | 6 (or 7) |
| T-Mobile daily cap | One brand pool (~2,000 at lowest tier) | One brand pool | One pool per team brand |
| Per-second rate | Shared by all 40 | One per campaign | One per team campaign |
| Who gets hurt by one bad sender | Everyone | Mostly that campaign; brand trust shared | That team only |
| Requires separate legal entities | No | No | Yes, per brand |
The per-message spend is the same in every column. For example, at 600 segments per agent per month, 40 agents send 24,000 segments. That's 24,000 × $0.0075 = $180, plus 24,000 × $0.0045 in carrier fees, plus the compliance surcharge if you switch it on. That total doesn't change whichever structure you pick. The gap between the cheapest and most isolated setups is $150 to $200 a month in fixed fees. Measure that against the cost of a week with the whole brokerage's texts filtered.
Where the actual risk comes from
The structure contains damage. It doesn't prevent it. In brokerages, the damage usually comes from three places:
- Cold texting. Expired listings, FSBOs and purchased lists belong on the phone and in the mail, not in SMS. Text people who opted in or who replied to you. No campaign structure protects a brand whose agents text cold lists.
- Use-case drift. A customer-care campaign whose numbers start sending "Just listed! 3BR in Maple Heights 🏡" is a mismatch carriers can see in the content. Approval doesn't protect you from this, as we explain in why approved campaigns still get filtered.
- Ignored opt-outs. An agent who texts a contact again from a personal cell after they replied STOP creates complaint history.
Ready's built-in controls cut down each of these, though none of them takes the responsibility off you as the sender. Inbound STOP is honored and propagates across campaigns in the account. Campaign and drip texts are held outside permitted local hours based on the recipient's area. An agent's one-to-one text at 10 PM is refused instead, unless the contact texted any of the account's numbers in the last 24 hours, in which case the reply goes out. Litigator and DNC scrubbing can screen numbers before a campaign goes out, and the standalone scrub is $0.005 per contact for a one-off list check. TCPA exposure runs roughly $500 to $1,500 per text, so a scrub on a 2,000-contact list costs $10.
Ready also records the sender's consent attestation for each campaign you send and each API send that attests consent: who sent it, to how many people, and when. That record is not per-contact proof of opt-in. Your lead forms and CRM have to store the opt-in wording, time and page for each contact.
When brand vetting actually moves the cap
Brand vetting is optional and one-time: $79 Standard or $179 Enhanced. It raises your trust score, and the T-Mobile daily cap moves in steps tied to that score: about 2,000, 10,000, 40,000, 100,000 or 200,000 messages a day. Vetting only changes your cap if the higher score crosses into the next tier, and it never changes the per-second rate.
Here's how that plays out by structure:
- Options 1 and 2: One brand serves the whole brokerage. If your heaviest day goes past 2,000 messages, for example a market-update campaign to 1,500 subscribers on top of normal agent traffic, a single $79 vetting that moves you to the ~10,000 tier pays for itself the first time it saves you a stalled campaign.
- Option 3: Six brands means six vettings, which is $474 at Standard. Most team-level brands never come close to 2,000 a day, so vetting all of them usually wastes money. Vet the brokerage marketing brand and any team that actually runs volume, and skip the rest.
There's more on the break-even in is 10DLC brand vetting worth $79. For per-second limits on large sends, the TPS ceiling explainer walks through timing. As one example, a 2,000-contact listing alert at 2 segments per message is 4,000 segments, which takes about 22 minutes at an assumed 3 segments per second.
Running it on Ready
Each structure maps onto Ready sub-accounts, and each sub-account has its own numbers and 10DLC registration. The app files your brand and first campaign; a second campaign under the same brand (Option 2) is filed through the API with POST /v1/registration/campaign. Platforms that serve many brokerages can provision this through the API with POST /v1/sub-accounts, then check approval with GET /v1/registration. The quickstart covers the full flow. If your brokerage runs on GoHighLevel, the native integration maps each GHL location to its own sub-account, so teams stay isolated and two-way messages sync both ways. Brokerages on other CRMs or the Ready app directly get the same structure.
The practical takeaway
- Under about 15 agents with templated, supervised texting: one shared campaign is fine.
- Any brokerage sending regular bulk marketing: split by use case. The $40/mo is the cheapest insurance on this list.
- Teams that are separate legal businesses with their own lead sources: give them their own sub-accounts, and accept the higher fixed cost in exchange for containment.
- Vet only the brands that actually come close to a cap tier.
If you're unsure where to start, start with Option 2. Watch your daily volume for a month, then break out teams once you can see which ones run their own volume and risk. You can see the per-segment card on pricing or set up an account and model your structure before you register anything.
Frequently asked questions
Can real estate agents share one 10DLC campaign?
Yes, agents can share one campaign, and many brokerages start that way: one brand, one campaign and one number per agent. On Ready that's $25/mo for registration and $2/mo per number, with 40 numbers for 40 agents. The tradeoff is risk. Carriers see the campaign and brand, not the individual agent. One agent texting a purchased list, or sending promos on a customer-care campaign, can get every agent's texts filtered.
Can each real estate team register its own 10DLC brand?
Only if the team is its own legal business. A 10DLC brand is a legal entity that carriers check against tax ID records, so a team that's its own LLC with its own EIN can register separately. A team that's just a group of agents under the brokerage's license can't honestly claim to be a separate company, and inventing one gets registrations rejected. Teams that don't qualify can stay on the brokerage's shared setup.
Does adding a second 10DLC campaign double my daily texting limit?
No, a second campaign doesn't double your daily volume. Each campaign gets its own per-second rate, so a bulk listing campaign won't queue behind agents' conversations. But the T-Mobile daily cap is set per brand, so both campaigns draw from the same pool, roughly 2,000 messages a day at the lowest trust tier. Only separate brands, or brand vetting that crosses into a higher tier, raise that daily ceiling.
How much does 10DLC registration cost for a 40-agent brokerage?
On Ready, 10DLC registration costs $25 a month and $2 a month per number, with no setup fee. For 40 agents, the fixed cost is one brand and one campaign with a single shared campaign, one brand and two campaigns with separate customer-care and marketing campaigns, or six brands and six campaigns with six team sub-accounts, plus 40 numbers in each. Per-segment pricing stays the same in every structure, so only the fixed line changes. Most approvals take 2 to 7 days.