What should a Shopify store email after the order?
Four flows do most of the work after a sale. Post-purchase follow-up, a review request, a replenishment reminder for things that run out, and a win-back for customers who stopped buying.
This page covers what each one is, when it goes out, and what to say. The last part shows what Broadcast can run today and what it cannot.
Shopify’s order confirmation is not a flow
Shopify already sends the order confirmation and shipping updates. Those are transactional and go to every buyer. The flows on this page are marketing email, so they go only to customers who agreed to it.
Post-purchase follow-up
What it is. One to three emails after the first order. They help the customer use what they bought and tell them who you are.
Timing. The first email a day or two after the order, a second about a week after delivery.
Example copy:
Subject: Getting the most out of your order
Thanks for ordering from us. Three things most customers ask in the first week: how to care for it, how returns work, and how to reach us. Here are the answers. Reply to this email if anything is not right.
Keep it about the customer. A hard sell in the first email after a purchase reads as greedy. For a reference point, Klaviyo’s 2025 Benchmark Report puts the average open rate of post-purchase flows at 59.77%, the highest of any flow, with a 0.48% placed order rate. People read these. They do not buy from them much.
Review request
What it is. One email asking for a review, with one reminder at most.
Timing. After the product has arrived and been used. For most products that is one to two weeks after delivery, not after the order.
Example copy:
Subject: How is it working out?
You have had your order for a couple of weeks. Would you tell other customers what you think? It takes a minute. [Write a review]
Link to the page where reviews live. With one product per store or per collection, that link can be fixed in the email.
Replenishment reminder
What it is. A nudge to reorder a product that runs out: coffee, skin care, pet food, filters.
Timing. A few days before the product is likely to run out. A 30-day supply gets a reminder around day 25.
Example copy:
Subject: Running low?
Your last order should be getting low about now. Reorder in one click and it will arrive before you run out. [Reorder]
This flow only works when the timing matches the product. One reminder for a whole store of mixed products does not.
Win-back
What it is. Emails to customers who bought before and have not bought in a while.
Timing. Start at about twice your normal time between orders. For many stores that is 60 to 120 days after the last order. Send two or three emails a week or two apart, then stop.
Example copy:
Subject: It has been a while
We have added a few things since your last order. Here is what is new. If you would rather not hear from us, the unsubscribe link is below and we will not mind.
The last win-back email is a good place to offer a reason to come back, or to ask whether they still want to hear from you. People who never respond are better off your list.
Shopify has its own ready-made templates for welcome, win-back and first-purchase upsell automations (Shopify). If you run those in Shopify, do not run the same flow in a second tool.
What Broadcast can run today
Broadcast has no Shopify app and does not receive Shopify events. These flows work
in Broadcast through a small do-it-yourself connection. A paid order calls the
Subscribers API, which adds the tags customer and ordered
and stores last_order_at in custom data.
Connecting Shopify to Broadcast has the
setup, including a short script and a Shopify Flow recipe.
With that in place:
| Flow | How it starts in Broadcast | Needs the connection? |
|---|---|---|
| Post-purchase | A sequence with the tag trigger ordered |
Yes |
| Review request | A delay step in the same sequence, then the review email | Yes |
| Replenishment | A delay step sized to the product, then the reminder | Yes |
| Win-back | A segment: tag customer and last_order_at not within the last 90 days |
Yes |
Post-purchase, review and replenishment as one sequence
- Create a sequence and set its Tag trigger to
ordered. - Add the follow-up email, a delay, the review request, a delay, and the replenishment reminder.
- After the review request, add a condition on whether the previous email was clicked, and tag the people who clicked. A segment on that tag can then leave them out of later review asks.
See branching a sequence for the step types.
Win-back as a segment
Segments can match a custom data date. Build a segment with two rules: tag is
customer, and custom data last_order_at is not within the last 90 days. Set it
as the Segment trigger on a win-back sequence. Broadcast checks every 15
minutes and enrolls people who match. See
triggering a sequence from a segment.
Add a second segment for customers who ordered in the last 90 days, and set it as an Excluded segment on the win-back sequence. A customer who orders again in the middle of the sequence then gets no more win-back emails.
Store last_order_at as an ISO 8601 date. Shopify’s processed_at already is one.
The Segments API explains how custom data dates are compared.
A subscriber with no last_order_at matches neither date rule. Customers from a CSV
import have none until their next order, unless you add the value yourself.
Limits to plan around
- Once per customer. A subscriber goes through a given sequence once. A second order does not start the post-purchase sequence again, and a customer who lapses twice gets the win-back sequence only the first time.
- No product content. There are no product blocks. An email cannot list what
was in the order with images and links. You can store a few values in custom data,
such as the order number, and print them with
{{ custom_data.last_order_name }}. The next order overwrites them. - One replenishment clock. The delay in a sequence is the same for everyone in it. Stores with products that run out at different rates need one sequence and one tag per product type, set by your own connection code.
- Email only. Broadcast cannot send SMS.
Native Shopify event support is planned. Watch the roadmap for it. Abandoned checkouts are a separate case: see Shopify abandoned checkout emails.
Frequently asked questions
When should a Shopify post-purchase email go out?
A day or two after the order for the first email, and about a week after delivery for the second. Send the review request after the product has been used, usually one to two weeks after delivery.
How long after the last order should a win-back email start?
At about twice your normal time between orders. For many stores that is 60 to 120 days. Send two or three emails, then stop.
Can Broadcast send a win-back email to Shopify customers?
Yes, with a do-it-yourself connection. Your connection stores the last order date on each subscriber, a segment finds customers with no order in 90 days, and the segment starts a sequence. Broadcast has no Shopify app.
Can a Broadcast email show the products a customer bought?
No. Broadcast has no product blocks. It can print values you stored in custom data, such as an order number, but not a list of the items in each order.
The API reference for this setup: Subscribers API, Sequences API and Segments API. Comparing tools for a Shopify store? See the Klaviyo alternative page and the e-commerce use case.