Get More Out of Every Email You're Already Sending
You're already sending campaigns. You already have flows running. This guide shows you how to make all of them work harder — without rebuilding anything — using data Repeat is already syncing to your Klaviyo profiles today.
Start here: what Repeat is doing in the background
Every day, Repeat updates a set of properties on each customer's Klaviyo profile. These aren't generic segments — they're individual-level signals based on each customer's actual purchase behavior:
- Are they due to reorder something?
- What are they most likely to buy next?
- Are they a good candidate for a subscription?
- What have they bought before?
This data is live in your Klaviyo account right now, attached to every customer profile. Most brands aren't using it yet — or are only using it inside Repeat-triggered flows.
That's the opportunity.
The one thing that moves the needle most: the Repeat Cart
Before getting into what you can build, it's worth understanding why the destination matters as much as the content.
The Repeat Cart is a personalized, pre-filled cart built specifically for returning customers. When a customer clicks through to their Repeat Cart, they skip product discovery entirely — they land in a cart already loaded with what they're most likely to buy.
The results across Repeat-powered brands speak for themselves:
- 3.4x higher conversion rate vs standard Shopify sessions
- 8% average AOV lift
- 63% of brands see higher AOV on Repeat Cart sessions
Every customer in your Klaviyo account has a personal Repeat Cart URL already generated and waiting. It lives on their profile as the Repeat Cart URL.
That means the single fastest win available to you right now is this: take any email (your next scheduled campaigns and/or non-Repeat powered post purchase flows) that links to your homepage or a product page, and swap the CTA to the customer's Repeat Cart URL instead.
That's it. No new flow. No redesign. Just a smarter destination.
A real example: your next campaign
Let's say you're sending a monthly newsletter next week. Right now it probably has a CTA like "Shop Now" linking to your homepage.
Here's what changes with Repeat:
- Before: Every customer gets the same "Shop Now" button → homepage → they have to find what they want → maybe they convert.
- After: Every customer gets a "Shop Now" button → their Repeat Cart → pre-filled with products they're predicted to want → they go straight to checkout.
Same email. Same creative. Completely different destination and conversion potential.
To do this, just replace your CTA URL with:
{{ person|lookup:'Repeat Cart URL' }}That pulls each customer's unique cart link directly from their profile.
What's already in your Klaviyo account: the Dynamic Blocks
To make this even easier, we've added four pre-built email blocks to your Klaviyo account. Each one is already wired up to the right Repeat profile properties, with show/hide logic built in — so if a customer doesn't have data for a block, it simply won't show.
You can drop any of these into an existing campaign or flow in minutes.
Replenishment Banner
Best for: any campaign, post-purchase flows, win-back flows
Shows each customer the products Repeat predicts they're running low on, with a CTA to their Repeat Cart. The product shown is different for every customer — it's pulled from their personal replenishment data, not a static product you've chosen.
Drop this into your next campaign as a secondary section and watch what happens to CTR from your repeat buyers.
Previously Purchased
Best for: newsletters, brand emails, content-led campaigns
Shows customers products they've already bought and know they love. Works well as a low-friction "easy reorder" section at the bottom of emails that aren't explicitly about shopping. CTA goes to their Repeat Cart.
This is the lowest-effort block to add — it works in almost any email context.
Subscription Upsell
Best for: post-purchase flows, loyalty campaigns
Only appears for customers Repeat has identified as strong subscription candidates — typically customers who have ordered the same product at least twice. Shows the specific product Repeat recommends for subscription, with a CTA to a subscription-enabled cart.
This block does the qualification work for you. You don't need to build segments or guess who's ready — Repeat has already figured that out.
Product Predictions
Best for: cross-sell campaigns, post-purchase flows, win-back
Shows what each customer is most likely to buy next, based on Repeat's behavioral data — what customers like them bought next, bought-together patterns, and lifecycle signals. CTA links to the product page.
This is Klaviyo's native recommendations, but trained on your specific customers' order sequences rather than broad catalog similarity.
Going further: the blocks are just the beginning
If you're comfortable in Klaviyo, you don't have to stop at the pre-built blocks. Every Repeat property on the customer profile is available to use however you want — in conditional content, flow filters, segmentation, subject lines, anywhere.
Here are a few ideas to spark what's possible:
-
Personalize subject lines: Use the customer's predicted product name directly in the subject line: "Looks like you might be running low on [Product Name]" Pull from
Repeat - Due To Replenish Products. -
Gate content based on subscription eligibility: Show a subscription pitch only to customers where
Repeat - Subscription Upsell Eligibleis true. Hide it entirely for everyone else. No separate flow needed. -
Segment a campaign in seconds: Want to send a reorder campaign only to customers currently in their replenishment window? Filter by
Repeat - Due To Replenish = true. That's your segment — no manual list building. - Upgrade your win-back flow: Instead of a generic "we miss you" email, add the Previously Purchased block so customers see exactly what they bought before. Then link to their Repeat Cart. Suddenly it's a personalized reorder prompt, not a generic win-back.
The data is already there. All of these use the same profile lookup syntax:
{{ person|lookup:'Repeat - [Property Name]' }}Full list of Repeat properties in your Klaviyo profiles
These properties live on every customer's profile in Klaviyo and are updated daily by Repeat. To find them in Klaviyo, go to any customer profile, scroll to the Properties section, and look for properties prefixed with "Repeat". You can copy the exact property name from there and use it directly in your template or flow using the profile lookup syntax.
There are two types of properties:
- Simple values: return a single true/false or URL. Easy to use directly in conditions, filters, or as a CTA link.
- Product arrays: return a list of product objects, each containing a product title, image, price, and handle. These are more powerful but require either using the pre-built Dynamic Blocks (which handle the complexity for you) or looping through them manually in a Klaviyo template if you're building your own.
| Property | Type | What it tells you |
|---|---|---|
Repeat Cart URL |
URL | This customer's personal pre-filled cart |
Subscription Repeat Cart URL |
URL | Same cart, with subscriptions enabled |
Repeat - Due To Replenish |
True/False | Whether this customer is in a replenishment window right now |
Repeat - Subscription Upsell Eligible |
True/False | Whether this customer is a subscription candidate |
Repeat - Due To Upsell Sample |
True/False | Whether this customer is eligible for a sample-to-full-size upsell |
Repeat - Previously Purchased |
Product array | Products this customer has bought before |
Repeat - Due To Replenish Products |
Product array | The specific products predicted to be running low |
Repeat - Subscription Opportunity Products |
Product array | The specific product recommended for subscription |
Repeat - Product Predictions |
Product array | What this customer is most likely to buy next |
Repeat - Previously Sampled Products |
Product array | Samples this customer has received |
A note on product arrays: if you want to reference a specific field from a product array — like pulling the product title into a subject line — you'd access it like this:
{{ person|lookup:'Repeat - Due To Replenish Products'|first|lookup:'product_title' }}This gets the first product in the list and pulls its title. The Dynamic Blocks already handle all of this for you, which is why they're the recommended starting point if you don't want to deal with the templating yourself.
Where to start
- This week: Drop the Replenishment Banner or Previously Purchased block into an existing campaign or flow.
- This month: Explore the Subscription Upsell block, or try using a Repeat property to personalize a subject line or segment a campaign.
None of this requires rebuilding what you already have. Each step is additive.
Need help?
At any point, reach out to cs@getrepeat.io or directly to your Repeat CSM — we're happy to help.