SMS marketing for restaurants works best as four kinds of texts: reservation confirmations, waitlist "your table is ready" alerts, a few promos a month and loyalty offers, all sent only to guests who said yes. Register your number for 10DLC first, keep each text to one segment, and send promos early enough that they land before people decide where to eat.
This guide gives you templates for each type, the consent rules that matter, and the cost math on a realistic list size. We make Ready, so we also cover where it fits and which restaurant jobs it doesn't do.
The four texts that make up SMS marketing for restaurants
Restaurant texting splits into two groups, and carriers treat them differently.
Service texts answer something the guest already started:
- Reservation confirmations and reminders. "You're booked for 7:30 PM Friday."
- Waitlist alerts. "Your table is ready, come to the host stand."
Marketing texts start the conversation:
- Promos. A slow-Tuesday special, a new menu, a holiday prix fixe.
- Loyalty texts. A birthday dessert, a "you've visited 5 times" thank-you, early access to a seasonal dish.
The distinction matters in two places. Consent is the first. A guest who gives a number to join the waitlist has agreed to hear about their table, not to get your Taco Tuesday promo forever. Registration is the second, because the campaign use case you register has to match what you actually send. If you send both service and promo texts, register for the use case that covers both. Our guide to matching your 10DLC use case to what you send walks through the choice.
Get consent before the first promo
The TCPA allows statutory damages of roughly $500 to $1,500 per text. A 2,000-person promo sent to people who never opted in is a serious liability. Cold contact is a job for phone and mail. Texts go to guests who said yes.
Ways restaurants usually collect marketing opt-in:
- A checkbox on the reservation or online-ordering form, unchecked by default, that says what they'll get: "Text me specials and offers from Luca's. Msg frequency varies, msg & data rates may apply, reply STOP to cancel."
- A table tent or receipt line with a keyword ("Text JOIN to...") that leads to a sign-up page with the same disclosure.
- A line on the waitlist sign-up asking whether the guest also wants offers. Keep it separate from the table alert itself.
Know what Ready records and what it doesn't. Ready records your opt-in attestation on each bulk send and each API send that sets consent_attested: who sent, to how many, and when. That builds an audit trail of your sends. It is not a per-contact consent record. Ready doesn't store each guest's opt-in time, wording or page URL, and a keyword reply doesn't create one. Keep that record in your form tool, POS or reservation system. Compliance is ultimately the sender's responsibility. The tools reduce risk, but they don't make you immune. (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.)
Register before you send
Unregistered business texts get filtered by carriers, so 10DLC registration comes first. On Ready it's handled in-app:
- Brand: $10/mo
- Campaign: $20/mo
- Each number: $2/mo
- At submit: $25, the first month. There's no setup fee.
- Timing: most approvals take 2 to 7 days.
The first 20 texts are free one-to-one sends. Campaigns are paid from the first text. The free texts end the moment you pay for registration, so use them before registering, for example to test your waitlist template on your own staff's phones. An account can send up to 500 texts a month before registering, at its normal per-text rate. After that it has to 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.
If you also run delivery or a food truck, the use case and sample messages work a little differently. See 10DLC for food delivery, food trucks and ghost kitchens.
Templates you can copy
Every template below identifies the restaurant by name and stays under 160 plain characters, so each is one segment. Marketing texts carry opt-out language.
Reservation confirmation and reminder
Luca's: You're confirmed for 4 at 7:30 PM Fri. Reply C to cancel or call 555-0142 to change. Reply STOP to opt out.
Luca's: See you tonight at 7:30 PM, party of 4. Running late? Reply here and we'll hold your table 15 min.
Waitlist
Luca's: Hi Sam, your table for 4 is ready! Please check in at the host stand within 10 min so we can hold it.
Luca's: You're #3 on the list, about 20 min. We'll text when your table is ready. Reply X to leave the list.
Promos
Luca's: Slow Tuesday = your win. Any pasta + a glass of house red for $22 tonight, 5-9 PM. Show this text. Reply STOP to opt out.
Luca's: Our fall menu starts Thursday: braised short rib, squash risotto. Book: lucas.example/fall Reply STOP to opt out.
Use a link on your own domain, not a public shortener. Shared bit.ly-style links are a common reason for silent filtering. Here's why, and what a dedicated domain costs.
Loyalty
Luca's: Happy birthday, Maria! Dessert's on us any night this week. Just show this text. Reply STOP to opt out.
Luca's: That's visit #5. Thank you! Your next appetizer is free, valid 30 days. Reply STOP to opt out.
Ready's AI message writer and spam-filter check can help you draft variants and flag wording that tends to get filtered. You still write and approve what goes out.
What a send costs: the segment math
Ready's Standard rate is $0.0075 per segment plus a $0.0045 carrier fee per segment itemized separately. That's all-in, excluding the compliance surcharge. Scrubbing and landline validation cost $0.003 extra per segment each if you switch them on for your account, and both are off by default. Replies you receive are billed like sent texts.
Here's a worked example. Assume 2,000 opted-in guests and a 140-character promo.
| Version | Segments per text | Total segments | Rate portion | Carrier fees |
|---|---|---|---|---|
| Plain text, no emoji | 1 | 2,000 | 2,000 × $0.0075 = $15 | 2,000 × $0.0045 |
| Same text plus one 🍝 | 3 | 6,000 | 6,000 × $0.0075 = $45 | 6,000 × $0.0045 |
Why does one emoji triple the bill? A segment is 160 GSM-7 characters. Any emoji drops the limit to 70 characters, or 67 per part once a message splits. A 140-character text with one emoji therefore becomes 3 segments. Ready swaps curly quotes, long dashes and ellipses for plain ones before sending, so those never change your count. Emoji do.
Two more cost notes:
- List hygiene. The standalone TCPA & DNC Litigator Scrub is $0.005 per contact. Running a 2,000-guest list through it once costs 2,000 × $0.005 = $10 and screens out known TCPA litigators and DNC complainers before you send. That's cheap insurance against the per-text exposure above. It reduces risk, but it doesn't make you lawsuit-proof.
- Raw APIs. If you have engineers and only need a pipe, raw carrier APIs like Twilio (around $0.0083 per segment) cost less per segment. What you pay for with Ready is registration handled in-app, opt-out handling, quiet hours and an inbox, with scrubbing there when you switch it on.
Timing, quiet hours and throughput
Send promos before the decision. Many restaurants send lunch offers late morning and dinner offers mid-afternoon. Treat that as a starting point to test, not a rule. Our best time to send SMS by industry post has more detail.
Quiet hours are enforced. Ready holds sends that would land outside permitted local hours for the recipient's area. Held texts go out later and are charged only when they send. A late-night "last call" promo won't go out at 11 PM. It goes out the next morning, by which point it's stale. Schedule accordingly. 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.
Throughput isn't instant. A fresh standard campaign typically moves about 1 to 4 segments per second. These are carrier approximations, not a published rate card.
- At an assumed 2 segments per second, the plain 2,000-segment promo takes about 17 minutes.
- The emoji version takes about 50 minutes.
T-Mobile also caps brands at the lowest trust score at roughly 2,000 messages a day. Send dinner promos early, keep them to one segment, and don't plan a big holiday send on a brand-new registration.
Where Ready fits and where it doesn't
Ready does:
- Bulk campaigns to your opted-in list, with reusable templates
- Two-way conversations in one inbox, so "can we bring a high chair?" replies don't get lost
- Automatic STOP handling that applies across every campaign
- Quiet hours, optional scrubbing and number validation
- Native GoHighLevel sync, if an agency runs your marketing in GHL
Ready doesn't:
- Run reservations or a waitlist. There's no built-in table management, and Ready doesn't connect to reservation or POS systems out of the box. A host can send waitlist texts one-to-one from the inbox. If your waitlist tool can call an API, it can send through Ready instead:
POST https://api.tryready.com/v1/messages
X-API-Key: <key>
Idempotency-Key: <any UUID>
{"to": "+12125550199", "body": "Luca's: Your table for 4 is ready!", "consent_attested": true} The Idempotency-Key means a retried request never double-texts a guest. See docs.tryready.com/api/messages.
- Run a points program. Loyalty texts go to guests you've tagged in your contacts. Tracking visits and points happens in your POS or loyalty tool.
- Answer texts with AI on its own. Ready no longer lets accounts create AI agents that do this, so on a new account your staff handle replies.
If you build restaurant software, such as reservations, ordering or a POS, the sub-account model and registration API let each restaurant you serve get its own numbers and 10DLC registration. The quickstart covers setup.
The practical takeaway
Collect real opt-in and keep the record yourself. Register before your list grows past a few hundred. Keep every text to one segment with the restaurant's name up front, send promos before people decide where to eat, and send only a few a month. If that setup sounds right, you can create an account and test your waitlist template with the free one-to-one texts before you register. Current rates are on the pricing page.
FAQ
How often should a restaurant send promo texts? Most restaurants keep it to a few a month. Unsubscribes tend to climb when texts feel like noise. Service texts like waitlist and reservation alerts don't count toward that, because the guest asked for them.
Can I send promos to guests who gave their number for a reservation? Not on that basis alone. A reservation number covers texts about that reservation. Marketing needs a separate, clear opt-in, and you keep the record of it.
Does a single restaurant need 10DLC registration? Yes. Unregistered business texts get filtered by carriers. On Ready you can send up to 500 texts a month before registering, but register early. Most approvals take 2 to 7 days.
Does Ready connect to my reservation or POS system? Not out of the box. If your system can call an API, it can send texts through POST /v1/messages. Otherwise, staff can text guests one-to-one from the inbox.
Can I use emoji in restaurant texts? Yes, but one emoji drops the segment limit from 160 to 70 characters. A 140-character promo with an emoji costs 3 segments instead of 1. Save emoji for short texts.