- Your browse abandonment flow is triggered by Viewed Product, so if that event stops, the whole flow stops with it.
- On Shopify, the standard Viewed Product event comes from the Klaviyo app embed. If you switched themes, you have to turn the app embed back on.
- There can be two metrics called Viewed Product: one with a gear icon (Klaviyo's app embed) and a Shopify-branded one (Shopify pixel). Your flow only listens to the one it's built on.
- Klaviyo only tracks browsing for visitors it can identify, and it may not track visitors in the EU, EEA, UK and Switzerland without consent.
- Test it the way Klaviyo says to: wait about 15 minutes after a change, identify yourself, view a product, then check your own profile.
This is for Shopify founders whose browse abandonment flow is sending almost nothing and who want a straight checklist to find out why.
How does Klaviyo's Viewed Product event work on Shopify?
Viewed Product is the event Klaviyo records when a known visitor looks at a product page. Klaviyo's browse abandonment guide is blunt about why it matters: browse abandonment flows "are triggered by the Viewed Product metric," so the flow needs Viewed Product tracking enabled on your site.
On Shopify, that tracking comes from the Klaviyo app embed in your theme. Per Klaviyo's onsite tracking guide, Viewed Product is enabled by default, so it starts tracking once the app embed is on, along with Active on Site (the metric behind site abandonment).
Here's the part that trips people up. Klaviyo marks these app embed events with a gear icon. Other Shopify events, like the newer Added to Cart, come through a Shopify pixel and carry a Shopify icon. And per Klaviyo's Shopify data reference, Shopify pixel tracking can also record a Shopify-branded Viewed Product event. So you can end up with two metrics that share a name. Klaviyo's own advice is to check the source when you're choosing between metrics with the same name.
Why is my Klaviyo browse abandonment flow not triggering?
Here are the causes, in the order I'd check them.
1. The app embed is off. This is the most common one after a redesign. Klaviyo says that if you've recently added a new theme to your Shopify store, you'll need to re-enable the app embed. A new theme doesn't carry it over. Klaviyo also notes the app embed can only be associated with one Shopify store.
2. The Viewed Product setting isn't selected. In your Shopify integration settings in Klaviyo, under Onsite Tracking, "Add Viewed Product tracking to my site" needs to be selected.
3. The flow is on the wrong Viewed Product metric. If your browse flow was built on the gear-icon metric and only the Shopify-branded one is arriving (or the other way around), the flow sees nothing. The Shopify-branded Viewed Product, Viewed Collection, Submitted Search and Added to Cart events need "Track behavioral events" turned on in your Shopify integration settings.
4. Klaviyo doesn't know who's browsing. Klaviyo associates onsite activity with a profile only once it identifies the visitor's browser. Its onsite tracking guide says a visit alone doesn't make a browser known. People get identified when they've clicked through a Klaviyo email or SMS, subscribed through a Klaviyo form, or submitted an email or phone number through one. On Shopify, entering info at checkout or logging in to a customer account can identify them too.
5. Consent settings are blocking it. Depending on your Customer Privacy settings in Shopify, Klaviyo may not track onsite events for visitors in the EU, EEA, UK and Switzerland unless they've given consent. Klaviyo's browse guide says your browse flow won't include non-consented people in those regions.
How do I check my Viewed Product setup, step by step?
Here's how I'd walk through it in your own account.
- Confirm the metric exists and is recent. In Klaviyo, go to Analytics, then Metrics, and search "Viewed Product." Look at the icon and when it last came in. If the last event is from the week you switched themes, you've found your problem.
- Turn the app embed on. In Klaviyo, go to Integrations, then Shopify, then the Onsite Tracking section. If the app embed is off, click Turn on, which opens your Shopify theme editor. Under App embeds, toggle Klaviyo on and save. Back in Klaviyo, you should see a green banner saying the app embed is enabled.
- Check the Viewed Product box. In the same Onsite Tracking section, make sure "Add Viewed Product tracking to my site" is selected, and click Update Settings if you changed anything. If you also want the Shopify-branded events, check "Track behavioral events."
- Match the flow to the metric. Open your browse abandonment flow and look at the trigger. Compare its icon to the Viewed Product metric that's actually getting events. If they don't match, rebuild the trigger on the right one, then send yourself a test of every email.
- Run Klaviyo's test. Klaviyo recommends waiting 15 minutes after a change. Then add
?utm_email=plus your own email address to the end of your homepage URL, reload, and visit a product page. Search for your email in Klaviyo. You should see Active on Site and Viewed Product in your activity feed. - Check the filters. Klaviyo's recommended browse filters are: Placed Order zero times since starting the flow, Started Checkout zero times since starting the flow, hasn't been in the flow in the last 30 days, and Added to Cart zero times since starting the flow if you also run a cart flow. A filter that's too tight can look exactly like broken tracking. Klaviyo also says to add a time delay of at least one hour.
Why does my browse email show a blank product?
If the flow fires but the email shows an empty image or no product name, it's usually a template problem, not a tracking problem.
Klaviyo's browse guide uses event tags like event.ImageURL, event.Name, event.Price and event.URL, and recommends a Static block rather than a Dynamic block for them. It also recommends starting from one of its pre-built browse flows where you can, so the dynamic variables work properly. The Shopify data reference notes that the Shopify-branded Viewed Product event uses some different property names than the app embed version. So if you switch your trigger from one metric to the other, check that your template tags still pull the right fields.
One more thing worth knowing: which product shows up depends on your filters. Klaviyo says "hasn't been in this flow in the last X days" shows the first item someone viewed, while "has viewed product zero times since starting this flow" shows the most recent.
How do I get more people into my browse flow?
Once tracking works, the size of your browse flow depends on how many of your visitors Klaviyo can identify.
- Get people identified earlier. A signup form that shows up before people start browsing products means more of their product views count. I cover this in signup form conversion rate.
- Turn on anonymous visitor tracking if it's available to you. Per Klaviyo, when it's enabled, Klaviyo can store onsite events in the visitor's browser before they're identified and add them to the profile once they are. More on how that works in how Klaviyo identifies anonymous visitors.
- Send email people click. A click through a Klaviyo email identifies that browser, so your campaigns feed your browse flow.
How do I know if other tracking is broken too?
Viewed Product rarely breaks alone. If the app embed is off, Active on Site is off too, so your site abandonment flow goes quiet at the same time.
Broken tracking also shows up in your campaign reports. Across the brands I work with, about 20 sends showed real opens and revenue but zero clicks, which meant tracking was broken, not that nobody clicked. If you see a pattern like that, check your links and tracking before you blame the email. I go through the other causes in email clicks but no sales, and the full list of what to check when any flow goes quiet is in Klaviyo flow not sending.
For what to actually put in the emails once they're firing, see my browse abandonment email guide.
FAQ
Why is Klaviyo Viewed Product not showing up in my account?
Most often the Klaviyo app embed is turned off in your Shopify theme, usually after a theme change. Turn it back on under App embeds in the theme editor, make sure "Add Viewed Product tracking to my site" is selected in Klaviyo, wait about 15 minutes, and test again.
Why do I have two Viewed Product metrics in Klaviyo?
One comes from Klaviyo's app embed (gear icon) and one is the Shopify-branded event recorded through a Shopify pixel (Shopify icon). They're separate metrics. Your browse flow only listens to the one set as its trigger.
Does Klaviyo track Viewed Product for anonymous visitors?
Klaviyo ties browsing to a profile only once it can identify the browser, for example after someone clicks a Klaviyo email or submits a Klaviyo form. If anonymous visitor tracking is enabled, Klaviyo can store earlier events in the browser and add them to the profile after the visitor is identified.
How long does it take for Viewed Product to start tracking?
Klaviyo says there may be a small delay and recommends waiting 15 minutes before testing.
Does Viewed Product track visitors from Europe?
Depending on your Shopify Customer Privacy settings, Klaviyo may not track onsite events for visitors in the EU, EEA, UK and Switzerland unless they've given consent.