Introduction
Lunchbox maintains a lifecycle campaign template library for Customer.io: audience segments, always-on automations and broadcast templates, all built and tested. A core starter set covers most of the available lift, and behind it sits a wider catalogue we can build to order.
This article is the full menu. Anything marked Starter set is ready to install as-is. Anything marked On request is specified and ready to build. Either way, ask your account team and it can be in place in a day or two.
How to get them: Ask your Lunchbox account manager, or reach out through the Messenger on this page. Everything is installed in draft — the targeting, timing and workflow logic arrive done, and nothing sends until you review the content and switch it on.
Lifecycle Marketing Campaigns: The starter set at a glance
30 templates in total — 15 segments, 10 always-on automations and 5 broadcasts — with the benchmark behind each one. Page through the deck below, or jump to the detail in the sections that follow. (Click image below to open full deck)
The audience layer
Segments decide who receives what. Three of them are consent and eligibility checks that everything else leans on, so they are worth building first and referencing everywhere rather than rewriting the same logic into thirty campaigns.
Eligibility
Segment | Who's in it | Status |
Email eligible | Opted in with a valid address | Starter set |
SMS eligible | Opted in with a phone number | Starter set |
Push eligible | Has a registered device | Starter set |
Valid timezone | Timezone confirmed — for any send in local time | On request |
Reachable base | Active, not deleted, not banned | On request |
Lifecycle stage
Segment | Who's in it | Status |
Account, never ordered | Registered, zero orders | Starter set |
Guest checkout, no account | Ordered without registering | Starter set |
Building habit | One or two orders | Starter set |
VIP / top value | Ten or more orders and high lifetime spend | Starter set |
Regular | Five to nine orders | On request |
New tenure cohort | First ordered in the last 30 days | On request |
Recency and lapse
Segment | Who's in it | Status |
At risk | 21–30 days since their last order | Starter set |
Lapsed | 45+ days, more than one order | Starter set |
Deeply lapsed | 120+ days | Starter set |
Lapsed catering | 180+ days since a catering order | Starter set |
Lapsed pickup / delivery / dine-in | Lapsed on one specific service type | On request |
Quick Insight: Service-specific lapse is worth asking for if your guests split meaningfully across pickup, delivery and dine-in. Someone who switched from delivery to pickup has not lapsed — they changed behaviour, and an overall "we miss you" will read as though you weren't paying attention.
Channel, loyalty, value and location
Segment | Who's in it | Status |
Web only, no app | Orders on the site, never in the app | Starter set |
Unredeemed credit | Credit banked, quiet for 14 days | Starter set |
Near next reward | 75–99% of the way to a reward | Starter set |
Catering buyers | Any catering order | Starter set |
Banked, never redeemed | Earning points but never spending them | On request |
Tier members / top tier at risk | By loyalty tier, and tier members who've gone quiet | On request |
App adopters, iOS, Android | By platform, for app announcements | On request |
High / low average check | Relative to your median ticket | On request |
Location loyalists, new-opening radius | By store or by zip | On request |
One worth asking about: guests who are earning points but have never redeemed are usually confused about how, not uninterested. An education message converts better than an offer there, and it costs nothing — the value is already banked.
Always-on automations
These run continuously. A guest enters when they match, moves through the workflow, and exits when they order — so nobody receives a discount after they've already come back.
Lifecycle
Automation | Fires when | Status |
Welcome → 3rd Order | A guest places their first order | Starter set |
Pre-lapse nudge | A repeat guest hits 21–30 days | Starter set |
Win-back ladder | A repeat guest hits 45 days | Starter set |
Account, never ordered | Someone signs up and doesn't buy | Starter set |
Guest checkout → account | Someone orders without registering | Starter set |
Habit reinforcement | A guest reaches two to four orders | On request |
About the welcome arc. It runs as a single four-touch sequence from first order to third, because the jump from one order to three is the biggest step change in a guest's long-term value. It thanks them first with no discount, then points out the loyalty points waiting, and only offers an incentive if they still haven't come back. Leading with a discount means paying guests who would have returned anyway.
Quick Insight: The welcome arc fires on new first orders only. Guests already sitting at one or two orders when you launch won't enter it — send them a one-time broadcast using the Building habit segment to clear that backlog.
Loyalty
Automation | Fires when | Status |
Loyalty credit reminder | Credit is sitting unused and the guest has gone quiet | Starter set |
Near-reward progress nudge | A guest is 75–99% of the way to a reward | Starter set |
Birthday reward | Two weeks before the birthday on file | Starter set |
How to redeem | Points earned, nothing ever spent | On request |
Tier-drop warning | A top-tier guest is at risk of losing status | On request |
Tier promotion celebration | A guest moves up a tier | On request |
The credit reminder is the one to run early: it's the only campaign in the library that converts at zero discount cost. The value is already banked — you're reminding a guest of their own money.
Important: The birthday campaign must be activated with backfill enabled. Date-triggered campaigns only look forward, so guests already in your database are skipped otherwise. This is the single most common reason a birthday campaign appears not to work.
Channel and service migration
Automation | Fires when | Status |
Web → app | A guest orders on the site but never in the app | Starter set |
Delivery → pickup | A delivery-only guest, to recover margin | On request |
Pickup → delivery awareness | A pickup-only guest, to add frequency | On request |
Cross-location trial | A single-location regular with five or more orders | On request |
If you run the two service-migration campaigns, set each to exclude the other's audience — otherwise the same guest gets told to switch twice.
Catering, recognition and order follow-up
Automation | Fires when | Status |
Catering reactivation | A past catering buyer goes six months quiet | Starter set |
Catering nurture (B2B) | Ongoing outreach to your highest-value catering accounts | On request |
VIP surprise and delight | A guest reaches VIP — recognition, no discount | On request |
Loyalty redemption reinforcement | Right after a guest redeems | On request |
Item affinity follow-up | After an order in a category you want to grow | On request |
Large-order follow-up | An unusually large order lands — a catering lead worth a human reply | On request |
Anniversary recognition | A year since signup, or since the first order | On request |
Catering reactivation is written as business outreach rather than marketing — plain text from a named person, a real reply-to address, no coupon codes — and held to Tuesday through Thursday mornings. Item affinity is worth building for one or two hero categories, not the whole menu; ten of them is noise, two is a strategy.
Broadcasts
Broadcasts are one-time sends rather than always-on campaigns. The starter-set ones arrive with audience and send settings configured, ready for you to write content into.
Broadcast | Audience | Status |
LTO / new item launch | VIPs first, then the full list | Starter set |
Outage / closure / weather | Location regulars, by SMS and push | Starter set |
New location opening | Zip-scoped, fired per store | Starter set |
Holiday catering push | Past catering buyers | Starter set |
Quarterly reactivation sweep | Deeply lapsed guests, 10% holdout | Starter set |
Seasonal menu change | Full list | On request |
Double points weekend | Tier members and building-habit guests | On request |
Gift card season | Full list, highest-value guests first | On request |
App launch or major update | Split by platform | On request |
Loyalty program change | Full list, then tier detail | On request |
Policy or pricing notice | Full list, plain text | On request |
Sunset / last chance | Deeply lapsed with no engagement, then suppress | On request |
The closure broadcast is the one that justifies pre-staging all of them. Nobody wants to be building an audience at 6am during a snowstorm.
How consent is handled
Email — Customer.io holds the subscription record and suppresses anyone unsubscribed, automatically, on every send. One source of truth, so an unsubscribe can never go stale.
SMS — every text step checks SMS opt-in before it sends. A guest without consent takes the email branch instead.
Push — gated on a registered device, so a push is never queued to someone who can't receive it.
No branch dead-ends in silence. If a guest fails the check for one channel, the workflow routes them to one they have consented to rather than dropping them out of the campaign.
Guardrails worth keeping
1. Every campaign has a goal. An order, inside a realistic window — a week for a nudge, a month for app adoption. Opens tell you the subject line worked; goals tell you it made money.
2. Guests exit on conversion. Order after the first message and you never receive the discount queued for the third.
3. Holdouts on anything carrying a discount. A tenth of the audience gets nothing, which is the only way to tell whether the campaign caused the orders.
4. Set a frequency cap. Campaigns don't know about each other. Without a workspace-level limit, one guest can receive a win-back, a loyalty reminder and an LTO in the same afternoon.
5. Suppress VIPs from discount-led sends. Your top guests already pay full price.
Quick Insight: Give any new campaign two to four weeks before judging it. Lifecycle campaigns build momentum as guests filter into the audience, and early numbers mislead in both directions.
Once they're installed
Check the thresholds against your own data. The 45-day lapse window and the VIP spend threshold are starting points. A daily coffee guest is lapsed in a week; a weekend-brunch guest isn't lapsed in three. Look at how often your actual regulars order and set the windows just past that.
Write the copy and set the sender. Every message arrives in draft with placeholder names. Messages with no sender identity will not deliver.
Send tests to a seed list. Check rendering and links before anything reaches a guest.
Turn them on in order of impact. Welcome first, then win-back, then the rest.
Need a hand?
Your Lunchbox account team can install the starter set, build anything marked On request, tune the targeting to your brand, review copy before launch, or walk through the first campaign with you. Reach out through the Messenger on this page or contact your account manager directly.

