Klaviyo web tracking: what it sees on your Shopify store, and how to check it works
Klaviyo only sees visitors it can name. Here's who that is, why most of your traffic stays invisible, and a five minute test.
Most browse emails don't fail on copy. They fail because Klaviyo never saw the browse. Web tracking only follows people it can put a name to, and on a UK store a consent banner sits in front of that too. Here's what it sees, what it misses, and how to check yours.

Klaviyo can only follow people it already knows
Let's get the awkward bit out of the way. Klaviyo doesn't see your traffic. It sees the slice of your traffic it can put an email address or phone number to, and nobody else.
Everyone else browsing your store is a stranger to it. They can look at the same product five times and nothing gets logged against a profile, because there's no profile to log it against. Shopify knows they were there. Klaviyo doesn't.
So when a brand asks why browse emails go to so few people, the answer's usually not a broken flow. It's a small known audience, a consent banner doing its job, and a browser quietly forgetting who people are.
The events web tracking sends back from Shopify
On Shopify, tracking runs through the Klaviyo app embed in your theme. According to Klaviyo's Shopify onsite tracking guide, two events come through the embed and three more come through a Shopify pixel once you tick Track behavioral events in the integration settings.
| Event | When it fires | How it's switched on |
|---|---|---|
| Active on Site | A known visitor loads any page | The app embed |
| Viewed Product | A known visitor opens a product page | The app embed, on by default |
| Added to Cart | A known visitor adds an item | Track behavioral events |
| Viewed Collection | A known visitor opens a collection | Track behavioral events |
| Submitted Search | A known visitor searches the store | Track behavioral events |
Viewed Product is the one that matters most, because it's the trigger behind the browse abandonment flow. If that event isn't arriving, the flow has nothing to start from.
One trap worth knowing. The app embed belongs to a theme, so publish a new theme and you have to switch it on again. A redesign can go live and quietly stop every browse email.
How a visitor goes from stranger to profile
Klaviyo's onsite tracking article lists the moments a browser becomes identifiable. For most Shopify brands it comes down to two: somebody clicks through from a Klaviyo email or text, or somebody fills in a Klaviyo form.
Look at the first and third rows there. The opt in flow is fed by a pop up, and the browse flow runs on Viewed Product. The pop up is what makes the browse flow possible, because every sign up is another browser Klaviyo can now follow.
Email clicks work through a small parameter Klaviyo adds to the links in live emails. Click one and the browser gets cookied, so the next visit is recognised too, until the cookie goes.
Why browse emails reach so few people
Even once someone's known, three things stand between their browse and your flow. None of them are bugs.
- Consent. Klaviyo says it may not track onsite events for UK, EU and Swiss visitors to a Shopify store unless they've consented, based on your Shopify Customer Privacy settings
- Cookie lifetime. Klaviyo's tracking cookie is set by JavaScript, and Safari and Firefox cap how long a cookie like that survives, so a known shopper goes back to being a stranger
- Devices. Someone who signed up on a laptop and browses on their phone is a new browser until they click an email on that phone
The first one you shouldn't try to get round. Tracking someone for marketing on a UK site needs a lawful basis, and the ICO's guidance on cookies is where to check your banner. Not legal advice, just the place we'd start.

The second has a partial fix. Klaviyo's First-Party ID runs a Cloudflare worker on a subdomain of your own domain and refreshes the cookie when it expires. It only re-identifies people who already have a profile, and Klaviyo suggests you re-issue your cookie notice when you turn it on.
Flows only earn on the events they can see
Flows earn while nobody's touching them. That's only true if the events feeding them turn up, and the behaviour flows are the ones that lean on web tracking hardest.
On the Shadow Foam account the flows carried most of the email revenue for the quarter. The browse and cart flows in that stack only fire because Viewed Product and Added to Cart keep arriving.
So check tracking before you rewrite a word of copy. A beautiful browse email that fires for a handful of people a week is a tracking problem wearing a design problem's clothes.
Test it yourself in five minutes
Here's the test from Klaviyo's own help centre. Give it about fifteen minutes after switching the app embed on before you start, and use a private window so an old cookie doesn't muddy it.
- Open your homepage with ?utm_email= and your own address on the end of the URL
- Reload the page, then open a product page
- Search for your address in Klaviyo and open the profile
- Look for Active on Site and Viewed Product in the activity feed
- Check Analytics, then Metrics, for both events coming in
- For Added to Cart, identify yourself with a form first, then add something
Both events there? Tracking works, and a quiet browse flow is about audience size and consent, not setup. Nothing showing? Start with the app embed on the live theme. If you'd rather someone else poked at it, that's part of what we do inside Klaviyo.

Theo Tziapouras
Founder and strategy at Engage Commerce, the ecommerce agency for 7 and 8 figure DTC brands.
FAQs

Why is Klaviyo not tracking Viewed Product?
Usually one of three things. The Klaviyo app embed isn't switched on in the live Shopify theme, the visitor isn't identified yet, or they haven't consented to tracking under your Shopify privacy settings. Run the utm_email test on a product page to see which.
Does Klaviyo track anonymous visitors?
Not against a profile. Klaviyo logs onsite activity for browsers it can identify, through an email or text click or a form sign up. Until then a visitor's browsing isn't tied to anyone, so it can't trigger a flow.
Do I need cookie consent for Klaviyo web tracking in the UK?
Klaviyo itself says it may not track UK and EU visitors to a Shopify store unless they've consented, based on your Shopify Customer Privacy settings. Check your banner against the ICO's cookie guidance, and take proper legal advice if you're unsure.
What is Klaviyo First-Party ID?
A Klaviyo feature that runs a Cloudflare worker on a subdomain of your domain, so a known shopper's tracking cookie can be refreshed when the browser expires it. It doesn't identify new visitors, only people who already have a profile.
Grow the known audience, then the flows grow with it
Web tracking won't ever see everybody, and on a UK store it shouldn't. What you can do is make more of your visitors known, through a decent pop up and emails people actually click, and make sure the embed is on the theme that's live. Get those right and the browse flow takes care of itself.
Klaviyo mechanics
The settings that quietly decide what your flows do, from someone who has rebuilt a flow stack.

Klaviyo Smart Send Time is guessing: here's how to find your list's real send window
The model behind Smart Send Time learned its habits from opens Apple fired for you. Clicks and revenue know when your list really reads.
Read it
How to stop Klaviyo flows overlapping when cart and browse fire together
Cart and browse abandonment keep double emailing the same shopping session, and each flow reports healthy on its own. One list filter referees them.
Read it
Your Klaviyo predicted next order date already knows when they'll buy again
Klaviyo already calculates when each customer is due to buy again. Build winback and reminder triggers on that, not on an engagement window.
Read itWould you rather this was just handled?
Bring your Klaviyo account and the thing annoying you most. We will tell you what we would fix first, before you spend anything.


Half an hour with Theo, our founder.
We're all about relationships built on trust, mutual respect and a shared vision for success. If that sounds like your vibe, let's make some waves together 🌊



