
Quick Answer: Identification rate, the share of sessions tied to a real customer profile, drops on Shopify for predictable reasons: email captured too late, client-side tracking blocked by ad blockers, Safari's 7-day cookie limit, and device switching. The fix stacks several small improvements: capturing email earlier, making identity durable across sessions, and making sure events actually reach Klaviyo.
Key Takeaways
- Identification is the difference between "someone visited your store" and "this specific person visited your store," and that gap widens as browsers restrict cookies and more traffic comes from privacy-focused devices.
- Most stores have more than one identification problem happening simultaneously: late email capture, blocked client-side tracking, Safari's 7-day cookie limit, device switching, and inconsistent event firing.
- After Apple's April 2023 privacy updates, Klaviyo only receives cart, product, and checkout signals from a Shopify store if the shopper is logged in or has authenticated within the past 7 days, a specific, dated mechanism behind why identification rate matters so directly to Klaviyo flows.
- Moving email capture earlier doesn't require being aggressive about it. Two-step popups, engagement-based timing rather than landing-page triggers, and contextual prompts tied to a specific benefit all convert more browsing behavior into identified profiles without feeling intrusive.
- Server-side identification, setting cookies via HTTP response headers rather than JavaScript, avoids Safari's 7-day restriction entirely, since Safari treats those cookies as first-party.
Most DTC brands don't notice until they look at their flow audiences and wonder why browse abandonment is reaching only so few people, or why cart abandonment keeps missing obvious abandoners. The flows aren't broken. The identification is.
Why does identification rate drop on Shopify?
For a few predictable reasons, and most stores have more than one happening at the same time.
| Problem | What it causes |
|---|---|
| Email only captured at checkout | All browsing before checkout stays anonymous |
| Client-side tracking blocked by ad blockers | Key events never reach Klaviyo |
| Safari ITP deletes cookies after 7 days | Returning visitors look like new anonymous sessions |
| Customer switches device between visits | Identity resets, previous behavior is lost |
| Key events fire inconsistently | Flows trigger for fewer people than they should |
The fix isn't one magic setting. It's a set of small improvements that stack.
How do you move identification upstream?
By capturing email earlier in the journey than checkout, without becoming pushy about it.
Most Shopify stores identify customers at checkout. That means everything before it, all the browsing, the product views, the back and forth before someone commits, is invisible to Klaviyo. Moving email capture earlier doesn't mean being aggressive about it. A few ethical ways to do this:
- A two-step popup that asks for a click, "Get 10% off," before showing the email field. This feels less intrusive than an immediate form.
- An intent trigger based on engagement rather than landing. Wait for meaningful time on page, or trigger on exit intent for desktop, rather than firing the moment someone arrives.
- A contextual prompt on the product page that says "get restock alerts" or "send my cart to email." Small shifts in timing and placement can meaningfully increase the share of browsing behavior tied to a real profile.
- Inline forms in high-traffic areas like the header, footer, or post-purchase account creation, converting buyers into identifiable return visitors.
How do you make identification stick across sessions?
Capturing email once is good. Recognizing that same person on their next visit is where identification rate really compounds.
Safari deletes JavaScript-set cookies after seven days. A customer who visits your store, doesn't buy, and comes back two weeks later looks like a brand-new anonymous visitor. For DTC brands with longer consideration cycles, this isn't an edge case, it's most of their returning traffic. This is also directly connected to Klaviyo's own signal specifically: after Apple's April 2023 privacy updates, Klaviyo only receives cart, product, and checkout signals from a Shopify store if the shopper is logged in or has completed an authentication event within the past 7 days.
Server-side identification fixes this. When cookies are set via HTTP response headers rather than JavaScript, Safari treats them as first-party and doesn't apply the seven-day restriction. Aimerce extends that window to up to a year for Shopify brands, meaning returning visitors are recognized and entered into the right flows regardless of when they last visited.
A few ways to make identification more durable on your end:
- Encourage account creation after purchase to track orders faster, or add a "Create Account" CTA on the order status page.
- Use authenticated experiences where it makes sense. Loyalty programs, subscriptions, or saved preferences naturally drive logins.
- Keep your tracking stack tidy. Too many overlapping scripts can cause missed or duplicated events. Aimerce handles deduplication automatically, making things more efficient and accurate.
Durable identification matters most for DTC brands with long consideration cycles, and returning customers who browse multiple times before buying.
How do you make sure your events are actually arriving?
Identification rate isn't only about email capture. It's also about whether Klaviyo is receiving enough events to connect behavior to profiles once someone is identified.
If viewed product, add to cart, and begin checkout events are inconsistent, your flow audiences will be smaller than your traffic warrants, no matter how well you capture email. A quick check: compare your Shopify order count against Klaviyo-attributed purchases for the same period. A large gap usually means holes in your event stream.
When tracking runs server-side, ad blockers and iOS restrictions can't interrupt it. Events reach Klaviyo consistently, which means flows trigger for the people they should be triggering for.
Client-Side vs. Server-Side Identification, Compared
| Dimension | Client-side identification | Server-side identification |
|---|---|---|
| Cookie lifespan on Safari | Capped at 7 days | Not subject to the 7-day restriction, treated as first-party |
| Affected by ad blockers | Yes | No |
| Klaviyo signal after Apple's April 2023 update | Limited unless the shopper is logged in or authenticated within 7 days | Not dependent on login state or recent authentication |
| Deduplication when both browser and server events fire | Manual, requires shared event IDs | Handled automatically |
| Recognizes a returning visitor after weeks away | Rarely, without a durable identifier | Yes, with a durable ID like Aimerce's up-to-1-year window |
How do you know if your identification rate is actually improving?
By tracking a small set of numbers weekly, not by chasing perfect identification.
Track these weekly: the percentage of sessions with an identified profile, the number of profiles entering browse and cart abandonment flows, and revenue attributed to email flows as a directional indicator. You're not aiming for perfect identification. You're aiming for more sessions tied to real profiles, fewer missing events, and flows that reach the audience size they should.
Common mistakes to avoid
- Only capturing email at checkout. Everything before that point stays anonymous, and for stores with longer consideration cycles, that's most of the actual browsing behavior.
- Triggering popups the moment someone lands. An intrusive, immediate ask converts worse than one tied to engagement or exit intent.
- Assuming a cookie-based identifier will still be there next month. Safari's 7-day cap makes that assumption wrong for a meaningful share of returning traffic.
- Chasing perfect identification instead of directional improvement. The goal is more sessions tied to real profiles and flows reaching the audience size they should, not eliminating anonymity entirely.
- Not checking whether events are actually arriving at Klaviyo. A strong email capture strategy still underperforms if add-to-cart and checkout events aren't reaching Klaviyo consistently in the first place.
FAQ
What is identification rate, and why does it matter for Shopify stores? It's the share of site sessions that are tied to a real, known customer profile rather than staying anonymous. It matters because Klaviyo flows, like browse and cart abandonment, can only trigger for identified profiles, so a low identification rate directly shrinks flow audiences regardless of how good the flows themselves are.
Why do returning visitors sometimes look like brand-new anonymous sessions? Usually because of Safari's Intelligent Tracking Prevention, which caps JavaScript-set cookies at seven days. A customer who returns after that window looks like a new visitor to any tracking that relies on browser-set cookies alone.
Does Apple's privacy policy really affect what Klaviyo can see? Yes, specifically. After Apple's April 2023 privacy updates, Klaviyo only receives cart, product, and checkout signals from a Shopify store if the shopper is logged in or has completed an authentication event within the past 7 days.
Should I ask for email immediately when someone visits my site? No. Immediate, aggressive prompts tend to convert worse than ones tied to engagement, like waiting for meaningful time on page, exit intent, or a specific contextual benefit like a restock alert.
Does server-side tracking actually solve the identification problem, or just part of it? Part of it, and it's worth being precise about which part. Server-side tracking solves durability, keeping an identifier alive past Safari's 7-day cap, and event delivery, making sure events reach Klaviyo despite ad blockers. It doesn't replace the need to actually capture email in the first place; that's still a UX and offer question.
What's a reasonable way to measure whether identification is improving? Track the percentage of sessions with an identified profile, the number of profiles entering browse and cart abandonment flows, and revenue attributed to email flows, weekly, as directional indicators rather than aiming for a perfect number.
Is a large gap between Shopify orders and Klaviyo-attributed purchases always an identification problem? Not always, but it's the first place to check. It can also indicate missing or inconsistent event firing further upstream, view content, add to cart, or begin checkout, which limits identification regardless of how well email capture is performing.
Sources
[1] Aimerce, "How Aimerce Durable ID Works" (Apple's April 2023 privacy update and its effect on Klaviyo's received signals) [2] WebKit.org, Apple's Intelligent Tracking Prevention documentation (script-writable cookie lifetime cap)
Related reading

Try Aimerce Pixel Risk-Free
for 30 Days
Most teams see results within 2 weeks.
Money-back guarantee.
It pays for itself, or you don't pay anything.
30-Day Aimerce Pixel Free Trial