Food Truck Marketing: Build an Email and SMS Regulars List With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Food Truck Marketing: Build an Email and SMS Regulars List With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Food Truck Marketing: Build an Email and SMS Regulars List With AI.

Put a QR code at the serving window that opens a two-field form (first name plus mobile or email), add one plain consent line saying what you will send and how often, save the date and wording with each sign-up, then have AI draft a short weekly location message that you approve before it goes out.

A list you own reaches regulars without waiting on a social feed's algorithm, but only if people can say yes clearly and no easily. Rules for marketing texts and emails differ between countries, so treat the wording below as a common core to check against your provider's policy, not as legal advice.

Follow me on Instagram@sagnikteaches

A window sign that earns scans

A sign has three jobs: say what the customer gets, say how often, and make the next step obvious. "Get tomorrow's location by text. One message a week. Scan here." does all three in eleven words. Ask your assistant for a dozen headlines in your voice, then choose by reading them aloud from the other side of the counter. The one you can read in a queue without leaning in is the winner.

Connect on LinkedInSagnik Bhattacharya

Put the sign where people wait, not where they pay. The ordering window and the pickup shelf both work, because people are standing still with a phone in their hand. A small sticker on the bag or tray carries the same code to people who missed it. Test the code with two different phones, in daylight and under the truck's evening lights, on mobile data rather than your own wifi.

Subscribe on YouTube@sagnikteaches

One decision saves you from reprinting later. Canva's free QR code generator says its static codes won't expire, and that a static code's destination can't be changed once it is created, so point the code at an address you control, such as a page on your own site that forwards to the current form. Then you can swap the form tool next year without touching a printed sign. If you have no website, a link-in-bio page does the same job. Check any generator that makes dynamic codes: make sure the code keeps working if you stop paying.

The form: two fields and two separate tick boxes

Ask for as little as you can use. First name lets you personalise an email, and a mobile number or an email address is the way in. Offer both channels, but let people choose either one. Leave the consent boxes unticked, one for texts and one for email, because a person who wants a weekly text may not want a monthly email and shouldn't have to take both.

The record behind each sign-up matters as much as the form. When someone later says "I never agreed to this", the date and the exact wording are your answer. Keep a sheet, or the fields in your email tool, with these columns.

Column Example Why you keep it
First name [first name] Personalises the message
Contact Mobile number or email address The way to reach the person
Channels agreed Text, email or both Each channel has its own consent
Date and time of consent 16 Oct 2026, 17:42 Your proof if anyone asks
Source Window QR, week 1 Shows where the sign-up came from
Wording version v1 Which exact consent line the person saw
Status Active or stopped Stops you messaging someone by mistake
Date stopped Proves a STOP was honoured promptly

One practical point: the form should send the welcome message straight away, so a mistyped number shows up in minutes instead of weeks. If the welcome text bounces, you know to ask the customer at the window while they are still standing there.

Consent wording you can adapt, and what a provider's policy says

Write the consent line next to its box, in plain words, and say what you will send, roughly how often, and how to stop. These versions are illustrative; copy the exact wording your texting provider asks for if it differs.

[ ] Text me [truck name]'s weekly location and specials, about one a week. Reply STOP at any time to stop. Message and data rates may apply.
[ ] Email me [truck name]'s monthly menu and event news. You can unsubscribe at any time using the link in every email.
We use your details only to send these messages and never share them. Privacy note: [link]

Twilio's messaging policy is a useful benchmark because texting providers tend to follow the same standards. It says consent must be informed and unambiguous: the person is told who is sending, how their number will be used and what the messages are about. It says promotional messages need prior express written consent, that consent covers only the subject it was given for and can't be bought, sold, rented or transferred, and that you must keep proof of every consent, including the date and the method. The first message must tell people they can reply STOP to unsubscribe, a STOP must be honoured in a single step, and after it you may send one final confirmation and then nothing more. You can read the details in Twilio's messaging policy, and your own provider's page will say the same sort of thing in its own words.

Two consequences matter for a truck. A phone number given for "your order is ready" is consent for order updates and nothing else, so you can't add it to the marketing list. And a list bought or borrowed from a festival organiser is out, because consent doesn't transfer. If you have customers in the EU, data-protection law such as the GDPR adds its own duties about what you store and how long you keep it, so keep the privacy note short and honest, and ask an adviser to read it once.

Where the list lives: a sheet, an email tool and a texting tool

Start with three pieces. A spreadsheet holds the consent record. An email tool sends the monthly message and handles unsubscribes. A texting tool sends the weekly text and handles STOP. Do not text a list from your personal phone: you lose the proof of consent, and nothing handles a STOP for you. These are the plans I checked on their own pricing pages in October 2026.

Tool Free plan First paid step Worth knowing
Mailchimp 250 contacts and 500 sends a month (250 a day); pop-up forms; no SMS on the free plan Essentials from $13 a month for 500 contacts, after a 14-day trial Texts are a paid add-on that needs an approved application first
MailerLite Up to 250 subscribers and 2,500 emails a month; 3 forms, 1 landing page, 3 automations; sending locks above 250 subscribers Comfort from $12 a month ($10.80 billed yearly) No SMS on the marketing plans
SimpleTexting No free plan shown 500 credits a month for $39 a month, or $398.40 billed yearly; a text up to 160 characters is 1 credit, up to 306 characters is 2 A one-time $4 registration and $10 for a local number; carrier fees are charged on top

Do the credit sum before you pick a texting plan. A list of 300 people and one text a week is about 300 × 4.33, or 1,300 messages a month, which is more than twice the 500 credits in the plan above. That same plan covers roughly 115 weekly recipients (500 ÷ 4.33). Each message must also fit one credit: a plain message holds 160 characters, while a message with an emoji or a curly quote switches to a different encoding and Twilio puts the limit at 70 characters, which can double the credit use. Check the extra-credit price on the provider's page before you commit; SimpleTexting's pricing page shows the plan above, and Brevo notes that its text messages are sold separately and priced by volume and destination.

On the email side, both free plans stop at 250 contacts, a size a truck can pass within a couple of months at the sign-up rate in the fortnight table below. Mailchimp's free plan allows 250 contacts and 500 sends a month, so 250 contacts and two emails a month uses the whole allowance. MailerLite's free plan allows 2,500 emails a month but locks sending once you pass 250 subscribers. Plan for the first paid step from the start. For the wider question of collecting addresses at a till or window, automating email collection with forms, QR codes and receipts covers the options in more depth.

Template one: the welcome message

The first message does the most work, because it confirms the sign-up, repeats the promise and carries the STOP line. Give the assistant three of your own past posts so it writes in your voice, and tell it the limits before it writes anything.

You write short customer messages for [truck name], a food truck selling [your food]. Our voice is friendly, plain and a little cheeky. No emoji and no curly quotes in texts. Here are three of our own posts for tone: [paste three].
Write a welcome text of 140 characters or fewer that includes the truck name, what the person gets, how often, and "Reply STOP to opt out". Then write a welcome email of 60 to 80 words with a subject line under 45 characters. Use [first name] as a placeholder. Offer two options of each.

Here is a pair you might keep after a light edit (illustrative).

Text: Hi [first name], it's [truck name]. You're on the list: one text a week with where we're parked and any special. Reply STOP to opt out.
Email subject: You're on the list, [first name]
Email: Thanks for joining. Once a week we'll tell you where the truck is parked and what the special is. That's all we'll send you apart from one short email a month. If that's too much, the unsubscribe link at the bottom works instantly. See you at the window.

The text is 135 characters before the placeholders are filled and about 132 with a ten-letter first name and an eleven-letter truck name, so it fits a single message with room to spare. Check the count with your texting tool's counter, not with the assistant: language models are unreliable at counting characters. Look for two things in the draft: any promise you can't keep ("every Thursday" when some weeks you trade elsewhere) and any straight apostrophe that a word processor turned curly when you pasted it.

The tone check is worth doing once. This is the kind of first draft a model produces when it has no voice to follow (illustrative): "Exciting news! Our delicious food truck is thrilled to welcome you to our community. Get ready for mouthwatering updates straight to your phone!" It is the right length and says nothing a customer needs: no frequency, no STOP line and four adjectives the customer can judge for themselves at the window. The edited version above replaced "updates" with the actual promise (one text a week, the location and any special), added the STOP line and cut every adjective. If a draft still sounds like a brochure after two attempts, paste in two more of your real posts and ask it to match their sentence length.

Template two: the weekly location text

Regulars want one thing from this message: where and when. Keep a fixed order (name, day and time, place, special, STOP line) so people learn to scan it. The assistant's job is to write from your bullet points, not to invent a special or a time.

Write the weekly location text for [truck name] from these facts only. Fixed order: truck name, day and time, place, one special, "Reply STOP to opt out". Maximum 150 characters. No emoji. Write three versions.
Facts: Friday 11:30 to 2:30, at the business park gate, special is the brisket mac bowl at $9.

The three versions that come back are usually near-identical, which is fine; you want a safe default and two ways to vary the rhythm so regulars don't tune out. Here are the one you would send and the two exceptions you should have drafted before you need them (illustrative).

Weekly: [truck name]: Fri 11:30-2:30 at the business park gate. Special: brisket mac bowl, $9. Reply STOP to opt out.
Sold out early: [truck name]: sold out of brisket early today, sorry. Back Sat 12-8 at the market with a full smoker. Reply STOP to opt out.
Cancelled: [truck name]: heavy rain, so tonight's pitch is off. Back Sat 12-8 as planned. Reply STOP to opt out.

All three are 100 to 125 characters before the placeholders are filled. Send the weekly text at the moment people decide where to eat: mid-morning for a lunch pitch, mid-afternoon for an evening one. Look at your own replies and visits for two weeks before you settle on a time, because the right hour depends on who your regulars are. And always use the same day of the week; a message that arrives when expected is a service, and one that arrives at random is an interruption.

If the truck rotates between several pitches, add one optional question to the form: "Which pitch do you usually visit?" with the pitch names as choices. Then send each regular only the texts for their pitch, and the occasional all-list message for special events. A regular who gets four texts about pitches they never visit is the person most likely to reply STOP, so a little segmentation protects the list as it grows. Segmenting an email list with AI, even a small one shows the same idea for email.

Template three: the monthly email for regulars

The email carries what a 160-character text can't: a menu change, next month's pitches, a way to book the truck for a private event. Keep it short enough to read on a phone in the queue, with one link and one idea. Give the assistant the month's facts and ask for a draft in the same voice.

Write the monthly email for [truck name] regulars. Voice as before. Under 130 words, one link only, one subject line under 45 characters. Facts: new item is a brisket mac bowl from the 3rd; we're at the market every Saturday; two private-event dates are free this month and the booking page is [link]; thank people for coming through the rain last month.

A draft you would keep after a trim (illustrative):

Subject: The new bowl, and two dates free
Hi [first name], thanks for queueing in the rain last month. We noticed, and so did the smoker. From the 3rd there's a new brisket mac bowl on the menu, and we're at the market every Saturday as usual. Two evenings are still free this month if you'd like us at a birthday or a work do: details and the booking form are here: [link]. See you at the window. [your name]. You're getting this because you joined our list at the truck. Unsubscribe any time with the link below.

The email is the right place for the booking link. If you take private events, the screening steps in qualifying private-event enquiries with AI pick up where this email leaves off. Read the draft for claims first. "We noticed, and so did the smoker" is charming, but a line like "the best brisket around" is a claim you would need to be able to back up, so don't let a model add it without your say-so.

A fortnight of numbers: is the sign working?

Judge the sign-up by one figure: completed sign-ups for every 100 customers served. Your point-of-sale report gives the customer count, your form tool or link tracker gives the scans, and the form gives the sign-ups. This is an illustrative fortnight for a truck serving about 600 customers a week.

Measure Week 1 Week 2 Where the number comes from
Customers served 600 612 Point-of-sale report
QR scans 38 71 Form tool or link tracker
Completed sign-ups 24 52 The consent sheet
Scans that became sign-ups 63% 73% Sign-ups divided by scans
Sign-ups per 100 customers 4.0 8.5 Sign-ups divided by customers, times 100

Week one's sign was on the side wall and the form asked for three fields. Week two moved the sign to the ordering window, cut the form to first name and one contact, and added a tiny reward (a free sauce pot, stated on the sign). Scans nearly doubled and the share of scans that became sign-ups rose too. If your own number sits under 3 per 100 customers, change one thing at a time in this order: the sign's position, the form's length, then the reward. If the reward is a reward for joining, make sure it doesn't depend on ticking the text box, so that consent stays a free choice.

Prove the weekly text works with a code word

Sign-ups tell you the list is growing; they don't tell you the list is useful. Add a code word to one text each week ("Say SMOKE at the window for a free sauce pot") and ask whoever is serving to ring it up as a $0 item in the point-of-sale system, or to tally it on a clipboard. The weekly count becomes your redemption figure. Here are four illustrative weeks from a truck whose list keeps growing.

Week Texts sent Code word said at the window STOP replies Redemption rate
3 86 17 2 19.8%
4 118 22 1 18.6%
5 147 26 3 17.7%
6 171 31 2 18.1%

The rate hovers near 18 to 20% as the list grows, and STOP replies stay in low single digits. Neither number is a benchmark; they are this truck's own baseline, and what you compare future changes against. If you move the send from mid-morning to mid-afternoon and redemptions drop for two weeks, move it back. If STOPs jump after you add a second weekly text, remove it. The test also protects against a quiet failure: a text list can look healthy in size while nobody acts on it. One more habit helps. Save each week's text and its redemption count in the same sheet as the consent record, so a year from now you can see which specials and send times actually worked.

Four slips that cost a truck its list

The first is the wrong-day text. A message that says Friday when the pitch is Thursday sends a queue to an empty car park. Build a thirty-second check into the weekly send: read the day, time and place aloud against your calendar before you press send, and have a second person do it if you can. An email newsletter QA checklist for before you hit send works as a model.

The second is the late or unplanned text. A 9 pm message to someone who has gone to bed teaches them to mute you. Schedule sends for the hour you chose and never send a "just thought of it" message. The third is ignoring STOP. A texting tool handles it automatically; if you ever send from anything else, a STOP reply has to take the person off the list the same day. Fourth, and quietest, is a list that quietly goes stale: if someone hasn't clicked, replied or visited in six months, send one "still want these?" message and remove anyone who doesn't answer. A short list of people who like hearing from you beats a long one that doesn't.

Questions about building a regulars list

Can I text customers who gave me their number for an order?

Not for marketing. A number given for order updates is consent for order updates, and consent covers only the subject it was given for. Ask for marketing consent separately, with its own unticked box and wording, and keep the record of when and how it was given.

How often should a truck send texts and emails?

Send what the sign-up promised, no more. One weekly text with the location and a monthly email is a sensible default for a truck that moves between pitches. Watch the number of STOP replies after each send; a spike means the rhythm or the content is wrong, and a fixed day builds the habit.

Do I need both email and text?

No. Text suits a short, time-sensitive message such as where the truck is today. Email suits longer news and a booking link. Start with whichever channel your regulars already use, offer the other as a second box, and expect most people to pick one.

Can the AI send the messages for me?

Keep it to drafting. Let your email and texting tools do the sending, with your approval on each message and the schedule set by you. An assistant that sends on its own can post the wrong day or place, and a wrong location text sends a queue to an empty pitch.

Further reads

Sources: Twilio's messaging policy (consent, proof and STOP handling) and its documentation on SMS encodings; the pricing pages of Mailchimp, MailerLite, SimpleTexting and Brevo; Canva's QR code generator page, all read in October 2026. The truck, its sign-up figures and every message are invented for illustration.

Want your regulars list set up the right way?

On a 1:1 call we can map your sign-up path from window to list, choose the lightest tools for your volume, and set up the prompts that draft your weekly and monthly messages.

Book a 1:1 call with me