Shopify Flow Customer Onboarding and Last Order Date Rules

Shopify Flow has no simple condition for “the customer’s last order date is more than 30 days ago”. To act on a customer’s last order date you have three options: start a workflow on Order created, Wait, then check whether the customer has ordered again; run a workflow on a Scheduled time trigger that looks customers up with Get customer data; or skip Flow for the date logic and build a customer segment with last_order_date, which handles dates directly.
Sources, read on October 23, 2026: the Shopify Help Center pages on Shopify Flow, its workflow examples and the Get customer data action; Shopify’s developer reference for the segment query language and the Admin API customer search. One method below comes from answers in the Shopify Community, and we say so where it does.
Three ways to use a customer’s last order date in Flow
| Method | Starts with | Works for | Limit |
|---|---|---|---|
| A. Wait, then re-check the customer | Order created trigger, then Wait | “No second order 30 days after the first”: one check per order | Each order starts its own run; the check happens once, at the end of the wait |
| B. Scheduled lookup | Scheduled time trigger + Get customer data | A daily or weekly sweep of customers matching a query | Up to 100 results per Get data action; the customer search has no last_order_date filter |
| C. Customer segment | A segment such as last_order_date < -90d |
Lists for win-back campaigns and reports | A segment is a list, not a workflow; use it in a campaign or act on it from Customers |
Method A is the onboarding workhorse. The simplest version checks the customer’s number of orders after the wait: a first-time buyer who still has one order has not come back. Shopify Community threads describe variants that compare the trigger order with the customer’s last order, or store the order date in a customer metafield with Liquid and compare it later. None of these is a documented Flow recipe, and all rely on the customer’s data being current when the wait ends, so test on your own store before relying on one.
Method B uses the Get customer data action. Shopify documents its options: Sort data by, Maximum number of results (up to 100) and a Query, either a common one or an advanced one in the search syntax. The Help Center’s example queries by updated_at relative to {{ scheduledAt }}, a variable that exists only with the Scheduled time trigger. In Shopify’s API reference, the customer search accepts filters such as orders_count, total_spent, order_date and tag, but no last_order_date. Results are processed with For each, Count or Sum.
Method C is the cleanest when you only need a list. In segments, last_order_date is a date filter that accepts relative dates: last_order_date < -90d means “last ordered more than 90 days ago”, and number_of_orders = 1 narrows it to one-time buyers. Shopify’s reference recommends the -90d style over the older 90_days_ago form. Date conditions work on whole days in your store’s time zone.
Step by step: follow up when there is no second order after 30 days
This is method A as a working onboarding sequence. Names are the ones in the Flow editor.
- In Shopify Flow, create a workflow and choose the trigger Order created.
- Add a condition so it runs only for first orders: the customer’s number of orders equals 1. This keeps returning customers out.
- Add Wait and set 30 days.
- After the wait, add a second condition on the customer’s number of orders: if it still equals 1, the customer has not ordered again. Run the workflow once with a short wait and a test customer to confirm the count is read after the wait on your store.
- On the “true” branch, add the action you want: Add customer tags with a tag such as
no-second-order-30d, or an internal email to you. - Use the tag as the audience of a follow-up campaign in your email app, sent only to customers who accepted email marketing.
- Name the workflow clearly, for example “Onboarding: no second order at 30 days”, and turn it on.
Keep the action in Flow small: a tag or a notification. Customer emails belong in your email app’s automations, where unsubscribes and marketing consent are handled. Our guide to Shopify marketing automation covers the welcome and win-back emails themselves.
Customer onboarding workflows to start with
Shopify’s Flow template library has hundreds of templates, searchable inside the app. Several work as onboarding steps for new customers:
- Tag customers eligible for educational discount based on email address: tags students or teachers from their email domain at signup.
- Organize customers by lifetime spend tiers: moves customers into tiers as they spend, the base for VIP perks.
- Send handwritten note after customer places second order: creates a task for you when a customer comes back, the moment a first-time buyer becomes a regular.
- Store recent order total in a customer metafield for each new order: keeps a value on the customer you can use in segments and other workflows.
A simple sequence for a new store: tag at the first order, the 30-day check above, a note at the second order, and a spend tier from the third. Each step adds one tag, so you can see in Customers how far each person got.
Our own Shopify app hands discount codes to new customers through a Flow trigger, which is the kind of event Flow handles best: something happens, Flow tags or notifies. For date ranges and lists, segments are simpler.
Test before you switch it on
- Test on yourself. Place a test order with your own email and watch the run in the workflow’s run history. Set the wait to minutes while testing, then back to 30 days.
- Test events. Since Shopify’s Spring ’26 Edition, Sidekick can generate test events for Flow workflows, which saves placing orders by hand.
- Add error monitoring. The template Get notified by email when workflow run errors are detected emails you when a run fails, which matters for workflows that wait 30 days before they do anything.
Mistakes to avoid
- Adding tags but never removing them. A customer tagged
no-second-order-30dwho orders later still carries the tag; add a workflow that removes it on their next order. - Building the “last ordered 90 days ago” list in Flow when a segment with
last_order_date < -90ddoes it in one line. - Sending marketing to every tagged customer, including those who did not accept email marketing.
- Changing a live workflow with long waits without checking what happens to runs already waiting.
If you are looking for vendor onboarding (suppliers or sellers joining a multi-vendor store), that is a different job; see vendor onboarding on a multi-vendor store. For other workflows, see Shopify automation and the running a store hub.
Frequently asked questions
Can Shopify Flow send emails to customers? Flow’s own email action is for internal notifications to you and your staff. Emails to customers are sent by your email app, such as Shopify Messaging, often starting from a tag or segment that Flow sets.
Is Shopify Flow free? Yes. Shopify Flow is a free app from Shopify, available on the Basic, Grow, Advanced and Plus plans, though a few Flow features are limited to certain plans.
Can Shopify Flow run on a schedule? Yes, with the Scheduled time trigger. Combined with Get customer data, it can look up customers on a regular schedule, up to 100 results per lookup.