Table of Contents
- Why Klaviyo Works for Upsell and Expansion
- What You're Actually Solving
- Step 1 — Build Your Expansion Segments in Klaviyo
- High-Value Repeat Buyers
- Category-Specific Buyers
- Customers Approaching Replenishment
- Step 2 — Set Up Upsell Flows Using Klaviyo's Flow Builder
- Post-Purchase Upsell Flow
- Predicted Next Order Flow
- Win-Back With Upgrade Offer
- Step 3 — Use Product Recommendations in Email
- Step 4 — Test and Optimize
- Klaviyo's Limitations for This Use Case
- Frequently Asked Questions
- How do I find the 75th percentile CLV value to use in my segment?
- Can I trigger a flow based on what product someone is likely to buy next?
- What's the right delay before sending a post-purchase upsell?
- Should I use the same flow for one-time buyers and repeat customers?
Why Klaviyo Works for Upsell and Expansion
Most upsell failures happen because the offer arrives at the wrong moment — either too early, before the customer has experienced real value, or too late, after they've already moved on. Klaviyo gives you the data signals and automation infrastructure to close that gap.
The platform's deep Shopify integration means purchase history, product catalog data, and customer lifetime value are available natively, without custom data pipelines. Combine that with Predictive Analytics and segmentation built on real behavior, and you have most of what you need to run a serious expansion program.
This guide walks through how to build that program, step by step.
---
What You're Actually Solving
Upsell and expansion is an identification problem before it's a messaging problem. You need to know:
- Which customers are ready to buy again or buy more
- What the right next product is for each customer
- When to make the offer
Klaviyo's strength is in the first two. Timing is where you'll need to be deliberate, because the platform doesn't score "readiness" in real time the way dedicated CDP tools do. More on that in the limitations section.
---
Step 1 — Build Your Expansion Segments in Klaviyo
Start in Segments, not Flows. Get your target audiences defined before you build any automation.
High-Value Repeat Buyers
Create a segment for customers who have placed 2 or more orders and whose predicted CLV (found under Klaviyo's Predictive Analytics profile properties) puts them in the top 25% of your customer base. These are your best candidates for premium upsells or bundles.
Conditions to use:
- `Number of orders placed` is greater than or equal to 2
- `Predicted CLV` is greater than [your 75th percentile value]
Category-Specific Buyers
If you sell across multiple product categories, segment by what someone has already purchased. A customer who bought a starter kit is a logical candidate for a refill, an upgrade, or a complementary add-on.
Use event-based conditions tied to the `Ordered Product` event, filtering by product title, SKU, or category tag pulled from your Shopify catalog.
Customers Approaching Replenishment
For consumable products, Klaviyo's predictive date of next order is a native property you can segment on directly. Build a segment where `Expected date of next order` is within the next 14 days. This is one of Klaviyo's more underused features for upsell timing.
---
Step 2 — Set Up Upsell Flows Using Klaviyo's Flow Builder
Flows in Klaviyo are your automation engine. For upsell and expansion, you'll work primarily with three flow types.
Post-Purchase Upsell Flow
Trigger: `Placed Order`
This is your highest-converting upsell window. Set a time delay of 7–14 days after purchase (adjust based on your product's time-to-value), then send a targeted recommendation email.
Key configuration steps:
- Add a Flow Filter to exclude anyone who has already purchased the upsell product
- Use dynamic blocks in the email to pull in product recommendations via Klaviyo's catalog integration
- Add a Conditional Split — if they've purchased 3 or more times total, show a loyalty-framed offer; if they're a second-time buyer, lead with social proof
Predicted Next Order Flow
Trigger: Segment membership — customers where `Expected date of next order` falls within 14 days
Build a 2-email sequence: a soft reminder with product context first, then a harder conversion email with a time-limited incentive 5 days later. Keep the logic simple. The segment does the targeting work; the flow handles the timing.
Getting the most out of Klaviyo?
I'll audit your Klaviyo setup and show you where revenue is hiding.
Win-Back With Upgrade Offer
Trigger: `Customer is at risk` — use Klaviyo's Customer Churn Risk predictive property to build the entry condition
This flow targets customers who haven't purchased in a while but had strong early engagement. Instead of a standard discount, lead with a new product or upgraded version of what they last bought. This reframes the win-back as a product discovery message, not desperation.
---
Step 3 — Use Product Recommendations in Email
Klaviyo's product recommendation blocks connect directly to your Shopify catalog. In the email editor, you can insert a recommendation block and choose from several logic types:
- Recently viewed — strong for browsing behavior
- Related to purchased items — cross-sell and upsell logic based on purchase history
- Best sellers in category — useful when you don't have enough individual history
For upsell specifically, "related to purchased items" is the most relevant. Pair it with a short, direct headline that names what the customer already bought: "You have the [Product]. Here's what most customers add next."
Personalization tokens like `{{ first_name }}` and `{{ event.extra.items.0.product_title }}` let you reference specific order details directly in copy.
---
Step 4 — Test and Optimize
Run A/B tests inside individual flows using Klaviyo's built-in split testing. The three variables worth testing for upsell:
- Timing — 7 days vs. 14 days after purchase
- Offer framing — discount vs. bundle vs. no incentive
- Product selection — curated single product vs. three recommendations
Look at revenue per recipient as your primary metric, not open rate. Klaviyo surfaces this in the flow analytics dashboard alongside attributed revenue per email sent.
---
Klaviyo's Limitations for This Use Case
Klaviyo is strong at executing upsell programs, but there are real gaps to plan around.
- No real-time lead scoring. Klaviyo evaluates segment membership on a schedule, not in real time. If a customer takes an action that makes them upsell-ready, there will be a delay before they enter the relevant flow.
- Predictive properties are probabilistic, not personalized at depth. The predicted CLV and next order date are useful, but they're model-driven averages. They don't account for factors like customer support interactions or external signals.
- Limited cross-channel orchestration. If your upsell strategy requires coordinating email, SMS, and paid social retargeting in a single journey, Klaviyo's SMS flows handle the first two, but paid social integration is shallow. You'll need to export segments to Meta or Google manually or via integration.
- Product recommendations require catalog data to be clean. If your Shopify product tags or categories are inconsistent, the recommendation logic will surface irrelevant products. Fix the catalog before building the flows.
---
Frequently Asked Questions
How do I find the 75th percentile CLV value to use in my segment?
Go to Analytics > Predictive Analytics in Klaviyo. You can view the distribution of predicted CLV across your customer base. Pull the profile list sorted by predicted CLV, identify the value at the 75th percentile, and use that number as your segment threshold. Klaviyo doesn't surface percentile cutoffs automatically, so this is a manual step.
Can I trigger a flow based on what product someone is likely to buy next?
Not directly. Klaviyo's predictive analytics gives you a predicted next order date, not a predicted next product. You can approximate product-level targeting by combining purchase history segments (what they've already bought) with recommendation block logic in the email itself. For more granular next-product prediction, tools like Barilliance or Nosto sit on top of Klaviyo and feed recommendations via dynamic URLs.
What's the right delay before sending a post-purchase upsell?
It depends on your product's time-to-value. For a skincare product, 10–14 days gives the customer time to see results. For a software accessory or gear, 5–7 days is reasonable. The wrong answer is sending the same day — it signals that you're transactional, not helpful. Test two delays against each other inside your flow using Klaviyo's A/B split feature.
Should I use the same flow for one-time buyers and repeat customers?
No. Use a Conditional Split inside your flow or build separate flows triggered by distinct segments. Repeat buyers respond better to loyalty and exclusivity framing. First-time buyers need more context and social proof before they'll commit to a second purchase. Treating them the same way leaves conversion on the table.