SMS marketing for real estate works when you text people who asked to hear from you: new inquiries, buyers who signed up for listing alerts, and open house visitors who left their number. It goes wrong when you text a purchased list of homeowners. Those people never agreed to texts, so you reach them by phone or mail and text them only after they reply.

This guide covers the four text types agents send most often: lead follow-up, listing alerts, open house texts, and the purchased-list question. For each one we show the cost math at Ready's Standard rate, so you can see what a month of texting actually costs before you commit to anything.

Why texting fits how buyers and sellers behave

A real estate lead is usually time-sensitive. Someone who fills out a "schedule a showing" form on a Sunday night has probably sent the same form to two other agents. A text arrives on the phone they're already holding, and a reply takes them five seconds.

Opted-in texting usually draws far more replies than email, but how many depends heavily on how warm the list is. Your own numbers will tell you more after a month of sending.

The tradeoff: a text is also the most intrusive channel you have. A badly timed or unwanted text gets reported as spam, and carriers notice. That's why consent and timing matter more here than in email.

SMS marketing for real estate: the four core text types

1. Lead follow-up (the first five minutes)

This is the highest-value text you'll send. When a lead comes in from your site, a portal or a sign rider, an automation sends a short text right away and you follow it with a call.

An example first text, 128 characters, 1 segment:

Hi Dana, it's Marcus with Lakeside Realty. Got your request for 14 Elm St. Want to see it Saturday or Sunday? Reply STOP to opt out.

Ready's automations can send that text the moment the lead lands. The call that follows is yours to make. Ready no longer lets accounts create AI reply agents, and the Ready Dialer doesn't auto-dial. You click to call from the dial pad in the dashboard or in GoHighLevel. The Ready Dialer is $0.025/min, and each started minute is billed as a full minute. If you want the cost-per-connect math for a callback list, we worked it out in the real estate dialer cost-per-connect post.

After the first exchange, a short drip campaign covers the leads who go quiet. For example, a check-in on day 2, a new matching listing on day 5, and a "still looking?" on day 14. Keep it short. Four unanswered texts from an agent reads as pressure, not service.

2. Listing alerts

Buyers who opted in to alerts actually want these texts. Keep each one to a price, a neighborhood and a link:

New in Maple Heights: 3bd/2ba, $425,000, open Sat 1-3 PM. Photos: [link]. Reply STOP to opt out.

Two things trip agents up here:

  • Links. Public shorteners like bit.ly are a common filtering trigger. Use your own domain. We cover why in the post on shared shorteners.
  • Photos. A picture message (MMS) works from your regular number. Blue line (iMessage) only allows photos after the contact has replied. Campaigns and drip campaigns also send from regular numbers, not the blue line, so listing alerts to a list stay on standard SMS/MMS.

3. Open house texts

These are low effort and high return:

  • Before: a reminder to RSVPs the morning of. Send it at 9 AM, not 7.
  • During: a sign-in sheet or QR code where visitors type their number and check a box agreeing to texts. That checkbox is your consent.
  • After: one thank-you text that afternoon, with the price and a question ("Want the disclosures?").

Ready enforces quiet hours based on the recipient's area code. A send scheduled outside permitted hours is held and goes out later, and it's charged only when it sends. 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.

4. Past clients and sphere

Home anniversaries, a yearly "here's what your home might be worth" note, or a referral ask. Low volume, high goodwill. Text only people who gave you their number and agreed to hear from you. A closing doesn't count as permission to market forever, so ask at closing.

Purchased lists: where agents get into trouble

A list of expired listings, FSBO owners, absentee owners or "likely sellers" from a data vendor doesn't come with consent to text. The vendor didn't get it from those people, and you can't create it by buying the file. Texting them is the cold-contact pattern that leads to TCPA claims, and statutory exposure runs about $500 to $1,500 per text.

Our stance is simple: cold contact happens by phone and mail. SMS goes to people who consented or who replied to you. In practice that looks like this:

  1. Scrub the purchased list before you call. Ready's standalone TCPA & DNC Litigator Scrub costs $0.005 per contact and checks each number against known TCPA-litigator lists and DNC-complainer lists. On a 2,000-number list that's 2,000 × $0.005 = $10. It reduces risk. It doesn't make you lawsuit-proof. The lawsuit-vs-scrub math is here.
  2. Call or mail. You're still responsible for following calling rules on that list.
  3. Ask for consent on the call. For example: "Mind if I text you the comps?" When they say yes, record when, how and what they agreed to.
  4. Only then text them.

On recordkeeping: Ready records your attestation on each bulk send and each API send that sets consent_attested (who sent, to how many, when). That's an audit trail of your promise. It isn't a consent record for each contact. Ready doesn't store when a recipient opted in, the wording they saw or the page URL, and a keyword reply doesn't create one. Your form, CRM or sign-in sheet has to keep that record. (A contact who signs up on a Ready-hosted opt-in page is the exception: Ready stores that sign-up, with the time, IP address and exact wording, and support@tryready.com can send you a copy.)

Registration: the step you can't skip

Every US business number that sends texts to customers needs A2P 10DLC registration (a brand plus a campaign). Unregistered traffic gets filtered by carriers. If you're new to the term, start with our 10DLC explainer.

On Ready, registration is handled in the app:

ItemCost
Charged at submit (first month)$25
Brand$10/mo
Campaign$20/mo
Each number$2/mo
Setup feeNone

Most approvals take 2 to 7 days.

Pick the campaign use case that matches what you actually send. A use case that doesn't fit your messages is a common cause of rejection or throttling. This guide walks through picking one.

If you're a brokerage, you also have to decide whether 40 agents share one campaign or get separate ones. That decision affects whether one agent's bad sends can hurt everyone else. We covered it in the brokerage campaign structure post.

Before registration, an account can send up to 500 texts a month at its normal rate. The first 20 texts are free one-to-one sends, so use them to test before you register, because the free texts end when a registration is paid for. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it.

What it costs: worked examples

Ready's Standard rate is $0.0075/segment plus a $0.0045 carrier fee per segment. That's one flat rate. Replies you receive are billed the same way.

Segment rules that drive the math:

  • Plain text: a single segment holds 160 characters. Longer messages split into 153-character segments.
  • Emoji: one emoji drops the limit to 70 characters, or 67 per segment for longer messages.

Example A: listing alert, no emoji. Assume 400 opted-in buyers and a 200-character alert.

  • Segments per text: 2 (200 ÷ 153, rounded up).
  • Total segments: 400 × 2 = 800.
  • Cost: 800 × $0.0075 = $6, plus 800 × $0.0045.

Ready's all-in prices per segment include the carrier fee but not screening: Scrub lists and Number validation, the two switches in Settings under Compliance, each add $0.003 per segment when switched on, shown as screening on your bill, and both are off by default. Unless you turn the opt-out footer off, the first text to each contact, and one again from time to time, also gets "Reply STOP to opt out" and your business name if the message does not already have them, so a text close to the segment limit can bill one more segment.

Example B: the same alert with a house emoji. The same 200 characters now split into 3 segments.

  • Total segments: 1,200.
  • Cost: 1,200 × $0.0075 = $9, plus 1,200 × $0.0045.

One emoji raised the cost by 50%. If you want the picture, send the photo instead.

Example C: new-lead follow-up. Assume 60 new leads a month, 4 single-segment texts each, and about 2 one-segment replies per lead.

  • Segments: 60 × 6 = 360.
  • Cost: 360 × $0.0075 = $2.70, plus 360 × $0.0045.

The registration monthly (brand, campaign and one number) is a bigger line item than the texts themselves at that volume.

Current figures are on the pricing page.

Optional extras, and when they're worth it

  • Local presence (on for every account): Ready sends from your number closest to the contact's area code. That's useful if you work across several metros. Every number still sits on your registered campaign. We don't publish a reply-rate lift for it.
  • Blue line ($99 a month per line, plus 6 cents a segment): texts show as blue iMessage on iPhones, with your name and photo, and no 10DLC registration is needed. The limits are real:
  • Each line can start up to 50 new conversations a day.
  • You can send up to 2 texts to someone until they reply.
  • Photos only after a reply.
  • Android contacts get your regular number. If the green number came with the blue line, those texts bill at 6 cents a segment once you register or send through GoHighLevel; otherwise they bill at the regular rate.

It suits an agent working a modest number of live conversations. It doesn't suit listing-alert campaigns.

  • Brand vetting ($79 Standard / $179 Enhanced, one-time): raises your trust score and daily caps. Most solo agents and small teams don't need it.

If you're already in GoHighLevel, Ready installs natively with two-way sync, so replies land in the GHL conversation. You don't need GHL, though. Agents use the Ready app directly, and real estate software companies send through the API (POST /v1/messages, documented at docs.tryready.com/api/messages).

The practical takeaway

  • Text the warm side of your pipeline: inquiries, alert subscribers, open house sign-ins and past clients.
  • Reach purchased lists by phone or mail first. Scrub those lists, and text only after someone says yes.
  • Register before you scale, keep alerts under 160 plain characters where you can, and keep your own consent records.

When you're ready to test, create an account, send your 20 free one-to-one texts to real leads, and then submit registration.

FAQ

Can I text a list of expired or FSBO homeowners I bought?

Not as a first touch. A purchased list carries no consent to text. Scrub it, call or mail, ask for permission, and text once they agree or reply.

Do I need 10DLC registration as a solo agent?

Yes, to send at any real volume from a standard number. On Ready it's $25 at submit, then $25/mo for registration + $2 per number. Most approvals take 2 to 7 days. Before registering, an account can send up to 500 texts a month.

Does Ready answer leads automatically with AI?

No. Automations can send your pre-written first text instantly, and the AI message writer helps you draft messages. Replies come from you.

Can I send listing photos by text?

Yes, as an MMS from your regular number. Listing-alert campaigns send from regular numbers. Blue line only allows photos after the contact replies.

Does Ready keep proof that each contact opted in?

Mostly no. Ready logs your attestation on each bulk send and each API send that sets consent_attested (who sent, to how many, when). The record of when someone opted in, what wording they saw and on which page lives in your form, CRM or sign-in sheet. Keep it. (A contact who signs up on a Ready-hosted opt-in page is the exception: Ready stores that sign-up.)