Most shop owners spend years thinking about marketing without ever sending their first campaign. The whiteboard at the back of the shop accumulates ideas — "winback email for old customers," "Black Friday promo," "new-services announcement" — and none of them ship because the owner doesn't know where to start.
This article gets you from zero to sending your first real campaign in 60 minutes. The campaign that follows is intentionally simple, easy to send, and measurable. Once you've shipped one, the next ten get easier.
Step 1 — Pick the right first campaign
Resist the urge to launch a fancy multi-touch sequence. Your first campaign should be one message, to one list, with one call to action. We recommend one of three patterns:
Pattern A — Winback to lapsed customers. Customers who haven't booked in 6-12 months. Higher response rate than any other list. Message: "Hi [name], it's been a while — we miss you. Here's $25 off your next service if you book in the next 14 days."
Pattern B — Cross-sell to one-service customers. Customers who got tint but never PPF, or detail but never ceramic. Message: "Hi [name], you got [past service] last [month]. Did you know we also do [adjacent service]? Here's a $X discount if you want to add it on."
Pattern C — New-service announcement. You just added a service (paint correction, mobile detailing, EV-specific ceramic, etc.) and want to tell your existing list. Message: "We just added [service]. Limited slots in [month] — here's a 10% intro price."
If you don't have a clear leaning, pick Pattern A. Winback has the highest conversion rate, the simplest list logic, and the lowest risk of confusing your audience.
Step 2 — Build the list
Open SalesThumb → /app/customers and use the filter rail. For a winback list:
- Status: Active
- Last appointment: >6 months ago AND <24 months ago
- SMS opt-out: false
- Playbook opt-out: false
The 24-month upper bound matters — customers who haven't booked in 2+ years are statistically gone, and including them lowers your campaign's response rate. The opt-out filters are non-negotiable; including opt-outs is both illegal (TCPA) and a fast path to your number being blocked.
Save the filter as a saved list ("6-12mo Lapsed — Winback") so you can re-run it monthly.
A healthy winback list for a 2-year-old shop is typically 100-300 customers. Bigger isn't better — a tighter list with a sharper message converts better than a broad one.
Step 3 — Write the message
For SMS, keep it under 160 characters so it doesn't fragment. A working template:
> Hi [first_name], it's [shop_name] — it's been about [months] months since your last visit. We miss you. Use code WINBACK25 for $25 off if you book in 14 days: [book_url]. Reply STOP to opt out.
Three rules:
1. Personalize with first name. Generic "Hi there" cuts response rates in half. 2. Include a clear CTA + a deadline. Without the deadline, response gets put off forever. 3. Always include STOP language. TCPA requirement on every commercial SMS.
For email, write a 3-paragraph version of the same message: opener with the personalization, the offer + reason to act, the CTA button.
Step 4 — Schedule the send
Open /app/blasts → New campaign. Attach your saved list. Paste the message. Schedule the send time.
Optimal send times for shop customer lists:
- SMS: Tuesday-Thursday, 10am-12pm or 2pm-4pm local time. Avoid Mondays (busy inboxes) and weekends (lower attention).
- Email: Same days, 7am-9am local time. Caught at the morning inbox-check.
Avoid: Friday afternoons (your customers are starting their weekend), holiday weekends (low engagement), and the same day every month (audience fatigue).
For your first campaign, schedule it for next Tuesday at 10am. Boring, predictable, and it works.
Step 5 — Measure what happened
Wait 7 days, then open the campaign's stats panel in /app/blasts:
- Delivery rate — should be >95%. Lower means your list has stale numbers.
- Click rate — for campaigns with a link, 5-15% is healthy.
- Reply rate — 3-10% for a well-targeted winback list. Lower means message-list mismatch.
- Booking rate — the only metric that actually matters. How many people on the list booked within 14 days? 2-8% is healthy for winback. <1% means the offer wasn't compelling or the list was wrong.
Don't fixate on opens for email — Apple Mail privacy has made opens unreliable.
Step 6 — Learn one thing and ship the next one
After your first campaign, you'll know things you didn't know before:
- Which segments respond best (you'll be surprised — usually it's not who you expected)
- Whether your customers prefer SMS or email (varies wildly by demographic)
- What discount level moves the needle (often less than you'd guess — $15-25 off works as well as $50 for sub-$300 services)
Use one insight to inform your next campaign. Don't try to redesign the whole approach. Ship the next one within 30 days. The shops that win at marketing have a steady cadence of small, learning-oriented campaigns, not one giant annual blowout.
Common first-campaign mistakes
- Sending to your whole list. Always segment. A campaign to "everyone" is a campaign that doesn't perform for anyone.
- Discount too steep. "50% off everything!" attracts price-shoppers, not loyalty customers, and trains your existing audience to wait for the next sale.
- No deadline. "Stop by any time" gets stopped by no time.
- Sending right before a holiday weekend. Engagement drops sharply Friday afternoon through Sunday.
- Forgetting STOP language on SMS. Legal exposure and Twilio will throttle your sending tier if STOP rates climb.
- Not measuring booking rate. Opens and clicks are vanity. Bookings are the only metric.
After 3-4 campaigns, you'll have enough data to start running A/B tests on subject lines, send times, and offer levels. That's the next article. For your first campaign, just ship it on Tuesday.