You have thousands of customer phone numbers. Here's what to do with them (legally)
Before texting customers, document permission, complete compliance checks, segment the eligible list, test the path, and measure visits.
To use customer phone numbers for marketing, first sort the list by collection source and permission record, have qualified counsel approve which people may receive the planned text under federal and relevant state rules, then pass the exact message through your provider's current onboarding and opt-out tests. A number in your database does not by itself prove the consent elements required for that text; send one useful message only to the approved group, then keep replies, post-delivery opt-outs, completed visits, and matched paid checks as separate results.
This is a permission-and-measurement job before it is a copywriting job. One restaurant had 30,000 phone numbers and was doing nothing with them; another owner had built a database of more than 20,000 phone contacts but still needed a retargeting plan. Your broader restaurant marketing plan supplies the business goal. This workflow turns an eligible part of the list into one controlled campaign without treating possession of a number as legal clearance.
“Scared of spamming. Scared of getting fined.”
A restaurant-agency prospect
That concern is a reason to create a written release gate, not a reason to let the database sit untouched forever.
1. Find out where every number came from before you send anything
Start by building a source-and-permission register for the list. An exported phone number by itself does not tell your team why it was collected, what was disclosed at collection, whether proof was retained, or whether the person later asked not to hear from you.
Keep one row per person, not one row per transaction:
| Field to retain | What it lets you decide |
|---|---|
| Internal contact ID | Which records belong to the same person |
| Phone number and restaurant location | Which sender and location the person would recognize |
| Collection source and date | What event produced the record |
| Disclosure or permission record | What evidence counsel can review |
| Last known relationship event | Whether the planned message matches the relationship |
| Recorded channel preference | Whether the person chose text, email, or neither |
| Suppression status and date | Whether the record must stay out of every send |
Do not fill gaps with guesses. Put incomplete records on hold. You are done when one deduplicated register marks each person eligible for this planned send, on hold, or suppressed under a rule approved by qualified counsel. A phone number alone does not show the required disclosure, seller, authorized number, signature, or later opt-out when federal prior express written consent applies.
2. Get written compliance approval and test the sending account
Do not launch until counsel has approved the eligibility rule and your messaging provider has approved the sending setup it requires. Federal rules require prior express written consent for promotional texts sent with technology covered by the FCC's autodialer rule unless an exception applies, but the federal definition is tied to random or sequential number generation. Counsel must review the actual system; neither “bulk” nor “manual” settles that question.
Run a separate Do Not Call review. A recent purchase or inquiry may matter to that federal analysis, but it is not blanket permission for every marketing text, and a seller-specific stop request ends that relationship for telemarketing purposes. Federal law also leaves room for some stricter state rules. Washington, for example, separately restricts commercial texts to numbers assigned to its residents and includes an advance affirmative-consent path; it is an example, not a rule to copy across all states.
Give counsel the source-and-permission register, the proposed audience, the exact message, the sending schedule, the states represented in the audience, the actual sending technology, and the provider's opt-out behavior. Ask for a written answer your team can follow: which rows are eligible for this message, which language must appear, which federal and state Do Not Call checks apply, which records must remain suppressed, and what must be retained after the send. Before scheduling, have counsel check current quiet-hour rules for the states where recipients are located and where the campaign is sent. Ask the provider separately about its current registration, campaign review, opt-out, content, quiet-hour, and record requirements; provider approval does not prove legal consent.
Then use an internal test record to confirm the technical path:
- The correct restaurant identity appears on the phone.
- A reply reaches the inbox your team will monitor.
- STOP, the other opt-out words your system supports, and a plain-language request such as “please don't text me again” all reach suppression or a staffed review path. The FCC recognizes several reply words as reasonable by themselves and also recognizes other wording a reasonable person would understand; covered requests must be honored as soon as reasonably possible, no later than ten business days.
- The opted-out test record is suppressed from an attempted follow-up.
- The send, delivery result, reply, and suppression event remain in the record.
If any event fails, stop and repair it. You are ready for a customer pilot only when counsel has signed off and the sending account passes the full test.
3. Choose one group that has one honest reason to hear from you
Your first audience should share a documented relationship with the same restaurant and a reason for the same message. Do not mix recent program signups, old reservations, event inquiries, delivery customers, and records with no known source simply because all of them have phone numbers.
Use only fields you actually collected. A workable segment might be people from one location who joined the same program through the same form and meet counsel's rule for the planned send. If a person chose email instead of text, respect that recorded preference; one restaurant prospect put the objection plainly:
“Texting is intrusive; I prefer email.”
A restaurant prospect
An old email file has its own deliverability and value questions, so handle it through the separate old restaurant email list workflow. You are done when the saved pilot segment contains only people who share the same source, location, relationship, permission status, and message purpose.
4. Write a message that continues the relationship
The message should identify the restaurant and provide usable contact information. Explain why this person is hearing from you, give one relevant reason to respond, and include the exact opt-out language counsel and your provider require. Operators in Feast sales conversations described effective restaurant texting as friendly and relationship-driven rather than transactional or spam-like.
Here is one complete fictional message for a list whose members joined a named weekday-lunch text program at the restaurant:
Hi Maya, it's Alex from Harbor Street Pizza on Main. You joined our weekday-lunch text list at the counter. We're serving tomato pie at lunch this Tuesday. Want the menu? Reply YES. Reply STOP to stop texts.
The restaurant, location, program, collection source, update, action, and opt-out are all complete. Replace them only with facts from your approved campaign record, and use the exact opt-out language approved for your provider and states. STOP is one federally recognized method, not the only wording a recipient may use to opt out. If you cannot state the truthful source, do not send to that record. If the message needs three offers and four links to feel worthwhile, it does not have one clear job.
Use restaurant promotional message examples to draft the first offer, and keep any later follow-up to a single question; this short restaurant text example shows how narrow that job can be. Save the approved message, segment version, link destination, offer terms, and approval date together. That package is what the acceptance test will evaluate.
5. Prove the whole path with a pilot before you use the full eligible list
Run the approved message with a segment small enough for your team to answer every reply and fix a broken handoff. There is no universal pilot size: use the number your restaurant can support without leaving conversations unanswered.
Before launch, walk one authorized test record through every event the campaign promises to measure:
- The provider accepts one message for delivery and records that person in the unique sent/attempted population. This is a send attempt, not proof of delivery.
- The provider reports the message delivered. Record that final status without treating it as proof that a person saw or read the message.
- A reply reaches the staffed inbox and stays attached to the right person.
- If a tagged link is actually installed, the open or click is recorded without being called a visit.
- A claim or reservation remains a response until the guest arrives.
- A completed visit is verified as an in-person event rather than inferred from a click, claim, reservation, or purchase alone.
- The identified guest completes payment, and the paid, non-voided settled check appears in the matched campaign-sales report. Record that successful report state before cleanup.
- Only after that proof is recorded, void or refund the test transaction and verify that the same report excludes it from final matched sales.
- An opt-out suppresses the person before another send is attempted.
If your systems cannot observe a step, report only the last event they can prove. Do not turn a delivery into a reader, a reply into a guest, or a reservation into restaurant sales.
6. Score the campaign on people, visits, checks, and cost
Your scorecard should preserve the path the pilot just tested instead of collapsing it into one response rate. Record counts of people separately from reservations, parties, covers, and checks.
Define sent/attempted unique recipients as deduplicated eligible people for whom the provider accepted one campaign message for delivery after pre-send suppressions were removed. Count each person once. A provider-reported delivered recipient has a final delivered status from the provider; that status does not prove a human saw or read the message. A failed unique recipient has a final failed or undelivered provider status.
Keep pending or unknown delivery outcomes in neither the delivered nor failed numerator until the provider resolves them. They remain part of the sent/attempted population, so report their count separately and do not publish final delivery or failure rates while any remain unresolved. Pre-send suppressions never enter the sent/attempted population and stay separate from campaign delivery results.
| Result | Calculation | What it proves |
|---|---|---|
| Sent/attempted unique recipients | Count of deduplicated eligible recipients whose one campaign message the provider accepted for delivery | The population exposed to a send attempt after pre-send suppressions |
| Provider-reported delivery rate | Unique recipients with a final delivered status ÷ sent/attempted unique recipients | The provider reported the message delivered, not that a human saw or read it |
| Failed unique recipients | Count of sent/attempted unique recipients with a final failed or undelivered status | The number with a final failure result |
| Failed delivery rate | Failed unique recipients ÷ sent/attempted unique recipients | The share of attempted recipients with a final failure result |
| Pending or unknown delivery | Count of sent/attempted unique recipients without a final delivered or failed status | An unresolved state kept out of both outcome numerators until resolved |
| Reply rate | Unique contacts who replied ÷ delivered unique contacts | The message started a conversation |
| Pre-send suppressions | Unique contacts removed before the send attempt | List cleaning; track this count separately from campaign response rates |
| Opt-out rate | Unique delivered recipients who opted out after this message ÷ delivered unique recipients | How many delivered recipients chose to stop after this message |
| Verified matched-visit rate | Unique recipients with verified in-person completion and a matched paid, non-voided settled check ÷ eligible delivered unique recipients whose full visit window elapsed and whose final visit/check outcome has been reconciled and is known | The directly observed response-to-visit path |
| Directly matched sales | Dollar total of paid, non-voided settled checks matched to those recipients, less recorded refunds | Sales linked to identified recipients, not profit or causal lift |
| Cost per unique recipient with a verified matched visit | All applicable campaign costs ÷ unique recipients in the verified matched-visit numerator | The campaign cost per distinct recipient who completed at least one verified matched visit |
Set the observation window before the send and wait for every included recipient to receive the full window. Count a recipient as a final no-match only after that window closes and your written reconciliation process has checked the eligible visit and settled-check records. Report immature and unresolved visit/check records separately; never put them in the matched-visit denominator. The cost ledger should include message fees; creative or production; staff or agency work; fixed platform or software charges; and the actual incremental food and fulfillment cost of redeemed offers. Allocate a fixed monthly platform, software, or shared agency charge by this campaign's share of sent/attempted unique recipients across all campaigns using that charge in the same billing period. Write down that basis before the send and use it consistently. If a bundled charge already includes messages, software, or agency work, keep that amount inside the bundle instead of adding it again. Count the offer's actual incremental food and fulfillment cost once, not its face value too, and do not deduct the same reward a second time in a later contribution calculation. The restaurant SMS cost guide covers the message-fee side in more detail.
Directly matched sales are not profit, and a before-and-after change is not proof that the text caused the difference. A control group or another defensible comparison is needed before calling the difference incremental.
7. Keep, repair, or stop based on the first broken step
The next campaign should address the earliest weak or unproven step, not simply send more messages. Compare the pilot with the cost limit, reply capacity, and visit goal your restaurant set before launch.
- Sending or suppression failed: stop and repair the account before another customer receives the message.
- Delivery was recorded but replies were weak: change one element, such as the segment, reason for contact, or requested action, and test it on a comparable eligible group.
- Replies were healthy but verified visits were weak: inspect the offer, timing, reservation handoff, and restaurant capacity before buying more message volume.
- Visits happened but checks did not match: repair identity and POS reconciliation before making a revenue claim.
- Matched visits cleared the restaurant's declared cost limit: retain the message, audience rule, approvals, and result as the next controlled starting point. Do not generalize the result to records with a different source or permission status.
Update the source-and-permission register with replies, preferences, suppressions, visits, and the next eligible date or hold status approved for your program. The list improves because the restaurant remembers the relationship, not because every number receives the same promotion.
When the list is ready but the message has nothing fresh to say
Do not ask an old list to rescue stale marketing; eligible recipients still need a useful reason to pay attention. One founder described content as the biggest bottleneck to getting results for restaurants. If a text links to a video, the creative is its own test, including whether the voice sounds right for the restaurant; restaurant reactions to AI avatars and voiceovers show why message delivery alone cannot judge that asset.
Keep customer-list compliance and content production as separate workflows. Remy helps you recruit local food influencers and handles the repetitive booking, texting, reminders, and file chasing while you decide whom to approve and what content to use.
If you want software for your restaurant's retention and loyalty work after counsel approves who may receive a text, Book a demo of Feast.