Klaviyo post-purchase flow: logic, timing, and QA
Short answer. Trigger the lifecycle flow with
Placed Order, then branch first-time and repeat buyers, product family, and fulfillment state only where the content changes. Keep order confirmation and shipping status under one transactional owner. Send education before asking for another purchase, suppress canceled or refunded orders where data allows, and measure repeat behavior with a holdout.
Post-purchase email has three jobs: reduce uncertainty, help the customer succeed with the product, and create the conditions for a useful next purchase. It should not become an immediate discount sequence that starts before the first package arrives.
Klaviyo's current flow trigger and filter documentation uses Placed Order as the standard example for post-purchase and product-specific cross-sell flows.
Separate transactional and marketing messages
| Message | Typical purpose | Owner decision |
|---|---|---|
| Order confirmation | Receipt and order facts | Shopify, ecommerce platform, or tested transactional service |
| Shipping and delivery status | Operational update | Fulfillment or transactional system |
| Product setup and care | Customer success | Klaviyo lifecycle flow |
| Review or feedback request | Experience and proof | Klaviyo or review platform, but not both |
| Cross-sell and replenishment | Marketing | Klaviyo with marketing eligibility |
Do not disable store confirmations until the replacement has passed reliability, content, localization, and fallback tests. Marketing consent and transactional necessity are not interchangeable.
Choose the trigger
Use Placed Order when the flow should run once per order. The event commonly includes order value and line items, but exact payload depends on the integration.
Ordered Product can fire once per item and may be useful for item-specific logic, but it can also cause multiple entries for multi-item orders. Use it only when repeated product-level entry is intended and guarded.
For the main post-purchase journey:
Trigger > Metric > Placed Order
Then inspect a real event before creating product filters or dynamic content.
Add cancellation, refund, and status protections
An order can change after Placed Order. Before a review, replenishment, or cross-sell message, check any available cancellation, refund, or fulfillment status.
Possible protections include:
- Exclude a canceled order event for the same order ID.
- Branch on fulfillment status when synced.
- Suppress review requests after full refund.
- Delay product education until shipment or expected delivery.
- Route support messaging after return or service events.
The exact implementation depends on event data. A broad profile condition such as Refunded Order zero times over all time can wrongly exclude a customer because of an unrelated old return. Prefer order-level matching where the integration supports it.
The five-message framework
| Message | Timing anchor | Job | Marketing or service |
|---|---|---|---|
| 1. Thank you and expectations | Shortly after order, after confirmation | Human acknowledgment and next steps | Service-oriented |
| 2. Setup or care | Before or near delivery | Help the customer get value | Service-oriented |
| 3. Product education | After expected first use | Answer common questions | Service-oriented |
| 4. Feedback or review | After enough usage | Learn and gather proof | Depends on content and market |
| 5. Cross-sell or replenishment | Based on product cycle | Offer a relevant next step | Marketing |
Five messages are not mandatory. Use only the messages the product experience supports. A durable product may need setup and care but no replenishment. A consumable may need usage guidance and a cycle-based reminder.
Message 1: acknowledge without duplicating the receipt
If Shopify already sends the receipt, do not repeat every line item in a marketing template. A useful message can:
- Thank the customer in the brand voice.
- Set delivery or support expectations.
- Link to order status.
- Explain how to contact support.
- Preview the next useful message.
Keep essential order facts in the transactional owner. The lifecycle message should not create conflicting delivery dates or policies.
Message 2: prepare for product success
Send before or near expected arrival. Use product or category branches for:
- Setup steps.
- Sizing or fit guidance.
- Storage and care.
- Safety or usage instructions.
- What is included in the package.
- Support route.
For a multi-item order, avoid sending one full flow per item. Group compatible products or use dynamic order content with a single hierarchy.
Message 3: answer the first-use question
Time this from fulfillment, delivery, or a conservative expected-arrival estimate. Ask support and product teams what customers need during first use.
Examples:
- How to get the intended result.
- Common setup mistake.
- How to combine products already owned.
- How to clean or maintain the item.
- When to expect an effect without making unsupported claims.
Do not use a review request before the customer could reasonably use the product.
Message 4: feedback before promotion
Choose between a service check, survey, product review, or support invitation. Coordinate with the review app so the customer does not receive two requests.
Use branching where feedback should change the next experience. A negative service signal should route to support, not immediately to a public-review ask.
Incentivized review rules vary by platform and market. Disclose incentives and avoid conditioning them on positive sentiment.
Message 5: cross-sell or replenishment
Cross-sell should complement the owned product. Replenishment should reflect actual use and order-gap data.
Use:
- Product or category purchased.
- Items not purchased in the same order.
- Expected product cycle.
- Stock and market availability.
- Customer value and discount behavior.
- A
Placed Order zero times since startingor product-specific purchase exit.
Do not recommend the exact product immediately after purchase unless the customer could reasonably need several units.
First-time versus repeat buyer
Add a conditional split based on order count at the trigger point or purchase history.
First-time buyer
Needs brand confidence, support, product success, and clear expectations. Keep the journey focused on reducing first-purchase risk.
Repeat buyer
Already understands the basics. Use product-specific education, loyalty recognition, preference collection, new-category discovery, or a faster route to service.
Be careful with Placed Order equals 1 over all time if event timing or historical sync can lag. Test profiles with imported history.
Product and category branches
Use trigger filters when the entire flow is only for one product family. Use a conditional split when several product families share a core path but need different content.
Before using an event property:
- Open a recent
Placed Orderevent. - Identify the exact product, collection, SKU, and line-item paths.
- Test single- and multi-item orders.
- Confirm property values across markets and variants.
- Define the fallback for mixed orders.
Do not create a large branch for every SKU. Maintain at category or use-case level unless the product genuinely needs unique onboarding.
Timing from real customer operations
Use:
- Fulfillment latency.
- Shipping duration by market.
- Product setup time.
- Expected first-use window.
- Median days to second order.
- Replenishment distribution.
Avoid a universal Day 7 review, Day 14 cross-sell template. A pre-order, subscription, fresh product, and furniture purchase require different anchors.
When delivery events are unavailable, use conservative delays and clearly avoid saying the product has arrived.
Smart Sending and frequency
Decide message by message whether Smart Sending should apply. Essential service-oriented education may need to send despite a recent campaign. Promotional cross-sell should usually respect the wider frequency plan.
Coordinate campaigns and other flows. A customer who just ordered should often be excluded from a list-wide first-purchase promotion.
QA matrix
Test:
- First order with one item.
- Repeat order.
- Multi-item order across categories.
- Canceled order.
- Fully and partially refunded order.
- Delayed fulfillment.
- International order and currency.
- Customer without marketing consent.
- Customer already in another lifecycle flow.
Verify event entry, branch, dynamic product data, status link, delays, cancellation behavior, purchase exits, consent, UTM parameters, and mobile rendering.
Measurement
Track:
- Delivered and click rate by message.
- Support contact and self-service use where available.
- Review completion and rating distribution.
- Repeat purchase rate.
- Time to second order.
- Net revenue and contribution per eligible customer.
- Unsubscribe and complaint rate.
- Returns and refunds.
Platform attribution can credit orders after a message, but post-purchase customers already have high purchase intent. Use a randomized holdout to estimate incremental repeat behavior.
Do not withhold necessary transactional or safety information. Hold out optional marketing treatment.
Common post-purchase mistakes
- Sending a discount before the first order arrives.
- Duplicating Shopify confirmations.
- Triggering one full journey per line item.
- Asking for a review before use.
- Ignoring cancellation and refund events.
- Using a global refund exclusion unrelated to the current order.
- Sending first-buyer education to loyal customers.
- Measuring attributed revenue without a holdout.
FAQ
What should trigger a Klaviyo post-purchase flow?
Use Placed Order for the main order-level journey. Use Ordered Product only when item-level repeated entry is intentional and protected against duplicates.
How many post-purchase emails should I send?
Send only messages with a distinct customer job. Three to five is a practical range for many products, but setup, buying cycle, and existing transactional messages determine the right count.
When should I ask for a review?
After the customer has received and had enough time to use the product. Anchor to fulfillment or delivery where possible and coordinate with the review platform.
Should non-subscribers receive post-purchase email?
They can receive necessary transactional communication under applicable rules, but promotional cross-sell requires the appropriate marketing eligibility. Separate message purpose and have market-specific requirements reviewed.
How do I measure post-purchase flow lift?
Randomly withhold optional marketing treatment from a representative eligible group, then compare repeat purchase, net revenue, margin, and customer guardrails over the expected cycle.
Help the customer succeed before asking for more
Post-purchase lifecycle works when order state, product use, support, consent, and timing agree. Deliver helps ecommerce teams build and validate that system. Book a Klaviyo and CRM diagnostic.
Want to apply this to your stack?
Spend 30 minutes with Charlotte to review your CRM setup, size the opportunity and leave with a practical action plan.
Book a 30-minute call →