Skip to main content

Customer.io Walkthrough: Segments, Automations & Broadcasts

A hands-on, click-by-click walkthrough of building your first segment, automation, and broadcast in Customer.io

T
Written by Tommy Sardo

Customer.io Walkthrough: Segments, Automations & Broadcasts

A hands-on companion to the onboarding guide. Follow along as we tour the workspace, build a data-driven segment, turn it into an automation, and send a one-time broadcast.

New to Customer.io? Start with Getting Started with Customer.io for setup, channels, and the segment starter library. Keep the Lunchbox Customer.io Data Index open in another tab while you build — you'll reference it constantly.

1. Tour of the workspace

Before building anything, get familiar with the screens you'll come back to most.

  • Home — your workspace dashboard. Sent, delivered, and open rates at a glance, plus suggested tasks.

  • Agent — the built-in AI assistant. It can build segments, automations, and broadcasts from a plain-English description and pull reports. Your past conversations with it are saved here.

  • Review > Goals — conversion goals, such as an Order Completed goal, with the people, events, and total revenue each campaign drove.

  • Review > Reports — performance broken down by automations or broadcasts, and by channel (email vs. SMS vs. push) so you can see what's actually working.

  • Review > Profile activity — a live feed of what's happening right now: orders coming in (items, prices, totals, location, whether it was a first order), segments guests enter and leave, and attributes updating.

  • Review > Message activity — every email, SMS, and push sent by your automations and broadcasts, and to whom.

Using AI: the Agent is a huge time saver, but it only works if it uses the exact attribute names from the Data Index. For example, Lunchbox sends phone, not “phone number.” Always check what the AI built against the Data Index before you save it.

Goal showing no revenue? Open the goal and make sure the value is pulled from the order event's currency/total attribute on Order Completed, then save. The goal will regenerate.

2. Finding and exporting people

Go to Manage audience > Profiles to search for any guest. From here you can export your entire list, or export only the people who match specific conditions.

Handy filter: Device exists. Filter on device exists to see every guest who has the app and has accepted push notifications (iOS or Android). That's your reachable push audience.

3. Building a data-driven segment

We'll build Inactive loyalty credit holders: guests who have loyalty credit sitting in their account but haven't ordered in over two weeks.

  1. Go to Manage audience > Segments and click Create Segment.

  2. Choose Data-driven.

  3. Add the first condition: attribute loyalty_credit_available is greater than 0.

  4. Add the second condition: attribute last_order_date is a timestamp before 14 days ago. (Use the timestamp comparison, not “greater than 14” — that won't match.)

  5. Click Preview people to see the output and how many guests match.

  6. Name and describe it so your team knows exactly what it is later.

  7. Validate before saving: click into one guest in the preview and confirm on their profile that loyalty_credit_available is above zero and last_order_date is more than 14 days ago.

  8. Save.

Loyalty program note: loyalty_credit_available applies to credit-based programs. If your brand runs a points/progress program, use loyalty_progress_percentage or the other loyalty fields listed in the Data Index instead.

Building the same segment with AI

Click Create Segment > Data-driven and describe what you want — for example, paste in the condition text from the segment starter library in the onboarding guide. When you give the AI the exact attribute names, it will typically build an identical segment. When you describe it loosely, it may pick the wrong attributes, so always double-check against the Data Index.

4. Checking your attributes in the Data Index

Go to Configure data > Data index. Attributes sent by Lunchbox show the Customer Journeys API as their source and are populated for most of your guests.

If you see a similar-looking attribute with a very low percentage of people (for example address, business name, or customer name), it did not come from the Lunchbox integration — it came from an import or another source. Use the Lunchbox field instead (for example, first_name rather than customer name), or your segment will match almost nobody.

5. Design Studio, Assets, Integrations & Imports

  • Design Studio — build and save email templates. Any email you create in an automation or broadcast saves here automatically. Create a new template and switch between Visual and Code if you want to work in your own HTML.

  • Assets — every image uploaded to a campaign or broadcast lives here, and you can upload your own to reuse across messages.

  • Integrations — connect sign-up or giveaway forms (Customer.io supports providers such as Jotform and Typeform, plus custom forms) so every new entry lands in your workspace automatically.

  • More > Imports / Exports — any CSV you import or export shows up here. Use a CSV import to bring in emails collected elsewhere (in-store sign-ups, Wi-Fi logins, POS lists). See Customer.io: User Import.

6. Building an automation

Now we'll turn the segment into a win-back automation: remind guests about their unused credit, then follow up by push and SMS if they still haven't ordered.

Set the trigger

  1. Go to Send messages > Automations and create a new automation.

  2. Choose a segment trigger and select Inactive loyalty credit holders.

  3. Click Save and build the workflow. The trigger shows how many people currently qualify.

Add a delay, a send window, and the first email

  1. Add a Time delay (for example, 2 days) if you don't want to message the moment someone qualifies.

  2. Add a Time window so messages land at a sensible time — for example, weekdays between 6:00 and 9:00 PM, when guests are heading home. You can set the time zone here.

  3. Click Add, drag an Email onto the canvas, and choose Start blank (or start from a template or an existing message). Add your content and link settings.

Branch on whether they came back

  1. Add a True/False branch. Set the condition to: person is not in the Inactive loyalty credit holders segment (meaning they ordered or used their credit).

  2. On the path for guests who are still inactive, add another delay and time window, then a Push notification.

  3. Repeat for a third touch with an SMS if you'd like. Instead of a segment check, you can also use Wait until an Order Completed event.

Tip: you can copy any block (or group of blocks) and paste it wherever you want in the workflow — great for repeating a delay + time window combo.

Watch your SMS segment count

Twilio bills per message segment, and a segment is roughly 160 characters. The SMS editor shows the segment count as you type — a long message can quickly become 3 segments, which is billed as 3 messages. Emojis and m-dashes use up the limit much faster than regular characters. Keep marketing texts to one segment whenever you can.

Add a 999-day delay at the end

Put a Time delay of 999 days as the last step of every path. Guests who reach the end of a workflow exit it, so if you later add new steps, everyone who already finished would miss them. Parking them in a long delay keeps them in the automation so any steps you add later still reach them.

Supported message types

Lunchbox supports email, push notifications, and SMS. In-app messages, inbox messages, surveys, and Slack messages are not supported.

7. Reviewing and starting the automation

  1. Set a goal. The standard goal is: person performs the Order Completed event, counted as a conversion within 1 week of the message. Without a goal, you won't see a conversion rate.

  2. Finish any items the review flags — typically completing each message and renaming the automation from “Untitled.”

  3. Check message settings (for example, sending to all subscribed people).

  4. Send yourself a test of each email, push, and SMS.

  5. Click Start automation only when everything is final.

Need to make changes later? Stop the automation, make your edits (ideally adding new steps after the existing ones), then start it again.

8. Sending a broadcast

Broadcasts are one-time sends — newsletters, LTO announcements, closure notices.

  1. Go to Send messages > Broadcasts and create a new broadcast. Name it and choose One-time send.

  2. Choose Email and start from a template or start blank.

  3. Turn on click and open tracking.

  4. Choose your audience: people matching conditions (an attribute, a segment, a device) or all subscribed people. Sending to everyone requires you to acknowledge the risk.

  5. Choose Send now or Schedule. We recommend sending now — scheduled sends to large audiences are staggered and can arrive slower and at odd times across time zones. Leave the rate limit settings alone.

  6. Set a goal — Order Completed within a week is the standard.

  7. Review and add any missing content, then send.

Want a stricter conversion number? Instead of counting any order within a week, tie the goal to guests who clicked a tracked link in the email before ordering. The number gets smaller, but it's a truer measure of what the email drove.

9. Respect opt-in preferences

Lunchbox collects marketing consent when guests sign up and sends it to Customer.io as two attributes:

  • email_optin = true — the guest agreed to receive marketing email.

  • sms_optin = true — the guest agreed to receive marketing texts. Always include this on any SMS audience.

Adding these conditions makes your audience smaller, but these are the guests who said yes. Your brand is responsible for complying with email and SMS marketing laws, so we strongly recommend including them on every marketing send. Guests can still unsubscribe or reply STOP at any time.

Need help?

Email [email protected] and our support team will help directly or work with Customer.io on your behalf. Feel free to copy your Lunchbox account manager as well. For metrics, goals, and troubleshooting, see sections 9 and 10 of Getting Started with Customer.io.

Did this answer your question?