Most teams connect the Yotpo Klaviyo integration, watch a handful of review-request emails go out, and assume the job is done. It isn’t — the integration syncs less than people expect, and the part that actually breaks isn’t the connection itself, it’s the flow filters built on top of it.
What follows is a step-by-step setup for a $3M–$30M Shopify Plus brand running Yotpo for reviews and loyalty and Klaviyo for lifecycle email: what data moves between the two platforms, what doesn’t, how to put review and loyalty data to work in segments and flows, and the specific check that catches the failure mode most stores never notice.
What actually syncs between Yotpo and Klaviyo
The Yotpo Klaviyo integration pushes events, not a shared database. Yotpo writes activity — a review submitted, a request sent, a loyalty action taken — into Klaviyo as metrics, and it writes a smaller set of profile properties alongside them. Klaviyo does not read from Yotpo on demand; it only has what Yotpo has already sent.
Reviews and loyalty are two separate integrations inside Yotpo’s settings, each with its own on/off toggle, and turning one on does not turn on the other. A store that enabled reviews some time ago and added Yotpo Loyalty more recently often has loyalty data that was never connected to Klaviyo at all, because nobody went back to flip the second switch.
What syncs, in practice, once both are enabled:
- Review submitted, review request sent, and review request clicked, as separate Klaviyo metrics.
- A rating value attached to the review event itself, usable inside a flow filter on that metric.
- Loyalty actions — points earned, a reward redeemed, a tier change — as their own metrics, when loyalty sync is on.
- A small set of profile properties Yotpo pushes alongside the events, such as a points balance or loyalty tier, which is a snapshot at the moment it was written, not a live-updating field.
What doesn’t sync — and where people assume it does
Star rating as a searchable Klaviyo profile property is the most common assumption that turns out wrong. The rating lives on the review event, which you can filter a flow or segment on, but it is not automatically written as a standing property on the profile — you cannot open a segment builder and pick “average review rating” as if it were a standard Klaviyo field. If you want a rolling average per customer, that’s something you’d build from the event history, not something the integration hands you pre-computed.
Loyalty points balance is a similar trap. Yotpo pushes a points value at the moment an action happens — points earned, points redeemed — but that value can drift out of date in Klaviyo between events if a points expiry or manual adjustment happens inside Yotpo without a corresponding sync event firing. Treat the Klaviyo-side points property as a recent snapshot, and confirm the current setting for how often it refreshes in Yotpo’s own integration documentation before you build a flow that depends on precision — this is a product detail that changes and is worth checking directly rather than assuming.
Product-level review content — the review text itself, photos, video — does not land in Klaviyo as usable flow content by default. You can reference that a review happened and trigger off it, but pulling the review’s actual text into an email templating field is a separate setup, not something the base connector hands you.
Setting up the connection
Prerequisites
You need admin access to both platforms, a Klaviyo private API key with write permission, and — if you’re syncing loyalty — Yotpo Loyalty already live on the store, since there is nothing to sync until it’s generating events.
Turn on the Klaviyo integration inside Yotpo
In Yotpo, go to Integrations and find Klaviyo. Authorise it with your Klaviyo private API key. This is the step that establishes the connection; nothing downstream works without it.
Enable the review events you actually want
Inside the Klaviyo integration panel in Yotpo, review submitted, review request sent and review request clicked are separate toggles, not one bundled switch. Turn on each one deliberately rather than assuming “connect Klaviyo” turned all three on. A store that only wants review-submitted data to avoid double-counting request sends should leave the others off on purpose.
Turn on loyalty sync as its own step
If you run Yotpo Loyalty, its Klaviyo sync is a separate setting inside Loyalty, not part of the reviews toggle. This is the step most teams get wrong: they set up reviews at launch, add loyalty later, and never go back to check whether loyalty sync was ever turned on — so loyalty flows sit built and live, but empty, because no events are reaching Klaviyo to trigger them.
Map the review metric in Klaviyo before building flows
Open Metrics in Klaviyo and confirm a review-related metric is receiving live events — commonly named something like “Yotpo: Review Created” in the integration’s own naming, though you should confirm the exact metric name in your account rather than assume it matches another store’s setup. Send yourself a test event if the integration supports it, or wait for one real review to land, before you build a flow on top of a metric you haven’t confirmed exists.
Build the review-request flow on a delay from fulfilment
Trigger off Fulfilled Order, not Placed Order. A request that fires on order date goes out to someone who hasn’t received the product yet. Add a time delay sized to your typical delivery window before the request sends — the right delay depends on your shipping profile, so set it against your own fulfilment data rather than a generic number.
Exclude anyone who has already reviewed
The mistake worth naming directly here: a flow filter written against “has not received a review request” catches duplicate requests but does not catch someone who already submitted a review through a different path — a direct link, a post-purchase page widget, a request sent before the flow existed. Filter on the review-submitted metric itself, not only on the request-sent metric, or the flow will keep asking people who already answered.
Verify with a real profile
Pick one customer who left a review or redeemed a loyalty reward recently. Open their profile in Klaviyo, check the activity timeline for the Yotpo events, and confirm the profile properties match what Yotpo’s own dashboard shows for that same person. If the event is on the timeline but a flow didn’t fire, the sync worked and the flow’s trigger filter is the problem — those are two different failures with two different fixes.
Using review data in segments and flows
A review-request flow is the obvious use, but the more durable value is in segmentation. A segment built on “has submitted at least one review” identifies your most engaged customers, and that segment is a reasonable candidate for a VIP or early-access flow that has nothing to do with reviews at all. A segment on “received a review request, did not click” is a different audience — people who bought, didn’t complain, and didn’t engage, which is a useful group to test a different incentive against before writing them off.
For loyalty, a points-balance property lets you build a reminder flow for customers sitting on an expiring reward, but only once you have confirmed directly in Yotpo how current that balance is actually kept. A tier-change event is more reliable to trigger from, since it fires at the moment of the change rather than relying on a static property staying fresh.
Combining the two data sources is where the integration earns its place in the lifecycle flow stack: a customer who has both reviewed and redeemed a reward is a meaningfully different segment than one who has done neither, and that segment split belongs in your win-back and replenishment flows, not just a dedicated “loyalty” campaign.
How to check the Yotpo Klaviyo integration is actually working
Three checks catch nearly everything that goes wrong with this integration:
- Events on the timeline. Open a real customer’s Klaviyo profile after they take a Yotpo action and confirm the event appears within a reasonable window. If it doesn’t, the connection itself — not the flow — is the problem.
- Flow analytics, not just delivered count. Open the flow’s own analytics and check the skipped count and reasons, not only how many sent. A flow that “isn’t working” is often sending zero because a filter is excluding everyone, which looks identical to a broken trigger from the outside.
- A second look at loyalty specifically. Because loyalty sync is a separate toggle from reviews, confirm it independently rather than assuming it inherited the reviews connection. This is the single most common gap in stores that added Yotpo Loyalty after the reviews integration was already live.
If none of that surfaces the issue, the failure usually sits in the same place a Shopify-to-Klaviyo sync problem does — a metric being read wrong, a filter written against a property that some records don’t carry, or a profile split across two identities. The Klaviyo not syncing Shopify orders diagnostic ladder works the same way against a Yotpo event that appears to have gone missing.
Who this setup isn’t for
If you’re running Yotpo purely for on-site review display with no intention of triggering email off it, the Klaviyo connection adds maintenance overhead without a payoff — skip it and revisit once loyalty or a review-request flow is actually on the roadmap. And if your current flow builder in Klaviyo is built around Shopify Plus flows and checkout extensibility rather than Yotpo events, review and loyalty triggers are an addition to that stack, not a replacement for it.
Getting the Yotpo Klaviyo integration right is a small piece of a bigger lifecycle problem: making sure every event a customer generates — an order, a review, a points redemption — actually reaches a flow built to act on it, rather than sitting connected but unused. That’s the gap a lifecycle flows engagement is built to close, and it’s worth an audit for any scaling brand that added Yotpo after its core Klaviyo flows were already live, since that’s exactly the sequence that leaves loyalty sync switched off and nobody checking.
Sources
No external figures are quoted; this article is written from how the Yotpo Klaviyo integration’s settings, event mapping and flow filters are configured and operated.