Session Enrichment Explained: Better Data In, Better Ads Out

What session enrichment is, what data gets added to every event, and why enriched data improves ad performance for Shopify stores.
June 27, 2026
Frank de Vos
Session Enrichment Explained: Better Data In, Better Ads Out
Latest
Server-side tracking

Session Enrichment Explained: Better Data In, Better Ads Out

Session Enrichment Explained: Better Data In, Better Ads Out

Short answer: Session enrichment takes raw events like PageView, AddToCart and Purchase and enriches them with first-party data: shopper identity, product and cart context, campaign source and cross-session history, before sending them to your platforms. Richer, better-matched signals help Meta, Google, TikTok, Pinterest, GA4 and Klaviyo target accurately, which is the most underrated lever in ad performance.

Most Shopify stores send raw, incomplete event data to their ad platforms. A purchase fires, the platform receives a bare-bones signal, and the algorithm does its best to figure out who bought, where they came from, and what it means.

That's the standard. It's also the problem.

Session enrichment is the process of adding context, identity, and structure to every event before it reaches your ad platforms. It's the difference between telling Meta "someone purchased" and telling Meta "this specific returning customer purchased this product variant at this value, came from this campaign, and has been engaged across three sessions over twelve days."

This guide explains what session enrichment is, what data gets added, how it impacts each platform, and why it's the most underappreciated factor in ad performance.

What Is Session Enrichment?

Session enrichment is the process of taking raw tracking events - PageView, ProductView, AddToCart, BeginCheckout, Purchase - and layering additional data onto each one before it's sent to ad platforms, email tools, and analytics. If you're new to how tracking works at a foundational level, our Data Tracking 101 guide covers the essentials before diving into enrichment.

A raw event captures what happened. An enriched event captures what happened, who did it, what they interacted with, where they came from, whether they've been here before, and how this event fits into a broader customer journey.

Think of it as the difference between a receipt and a customer profile. The receipt tells you what was sold. The enriched event tells the ad platform everything it needs to learn from that transaction and find more customers like the one who made it.

Session enrichment happens server-side, in real time, between the moment an event occurs on your store and the moment it reaches Meta, Google, TikTok, Pinterest, or Klaviyo. Every event that passes through an enrichment layer arrives at its destination carrying significantly more usable signal than events forwarded as-is.

For a broader view of server-side tracking and why it matters: What is server-side tracking and how to install it for Shopify.


Raw Events vs Enriched Events

The easiest way to understand enrichment is to see what a raw event looks like compared to an enriched one.

Session Enrichment Explained: Better Data In, Better Ads Out visual 1

A raw AddToCart event (typical client-side pixel):

  • Event name: AddToCart

  • Timestamp

  • Page URL

  • Currency and value (sometimes)

That's often all a browser pixel captures. No customer identity. No product details beyond a generic content ID. No session history. No campaign attribution.

An enriched AddToCart event (after session enrichment):

  • Event name: AddToCart

  • Timestamp

  • Page URL

  • Currency and value

  • Hashed email address

  • Hashed phone number

  • Hashed name and address

  • Click ID (fbc, gclid, ttclid, or epik)

  • Product SKU, variant title, product category

  • Cart value and item count

  • New vs returning customer flag

  • Session number (first visit, third visit, tenth visit)

  • Device type and browser

  • Referral source and landing page

  • Funnel position (browsing, carting, checkout-intent)

The enriched event gives the receiving platform everything it needs to match the event to a real person, understand the commercial context, and use the signal for algorithmic optimization.

This applies to every event TrackBee processes. PageView, ProductView, AddToCart, BeginCheckout, Purchase - all five core funnel events are enriched with the same depth before they reach any connected platform.


The Five Layers of Enrichment

Session enrichment isn't a single addition. It's a structured process that adds five distinct layers of data to every event.

Session Enrichment Explained: Better Data In, Better Ads Out visual 2

1. Customer Identity

The most important layer. Every event is enriched with hashed customer identifiers: email address, phone number, first and last name, city, state, zip code, and country. All identifiers are SHA-256 hashed before transmission - platforms never receive raw personal data.

Why this matters: ad platforms use these identifiers to match your events to real user profiles. Without them, a purchase event is just an anonymous signal. With them, Meta can connect the purchase to a specific user account, dramatically improving audience building and lookalike modeling.

This is the primary driver behind Event Match Quality (EMQ) on Meta and Enhanced Conversion Coverage on Google.

2. Click IDs and Campaign Attribution

Every event is matched to the click ID that initiated the session - if one exists. For Meta, that's the fbc parameter. For Google, it's gclid, gbraid, or wbraid. For TikTok, ttclid. For Pinterest, epik.

Click IDs are the strongest attribution signal. They allow platforms to connect a conversion directly to a specific ad click. But iOS and browser restrictions frequently strip these parameters from URLs or prevent their storage. Server-side enrichment recovers and preserves click IDs that would otherwise be lost.

3. Session Context

Each event carries session-level metadata: whether the visitor is new or returning, which session number this is, what device and browser they're using, what referred them to the store, and what their landing page was.

The new vs returning distinction is particularly valuable. TrackBee sends separate NewCustomerPurchase and ReturningCustomerPurchase events to Meta and Google, enabling audience exclusion strategies and acquisition-focused campaigns. More on that: How to stop wasting Meta ad budget on returning customers.

4. Product and Cart Context

Events carry full commercial context: product SKU, variant title, product category, item price, cart total value, and number of items. This goes beyond the generic content_ids that browser pixels send.

For platforms using value-based optimization (Meta's value optimization, Google's target ROAS bidding), accurate and complete value data is essential. Every purchase event includes the correct order value, and every AddToCart carries the real cart total - not an approximation from a page-level script.

5. Funnel Position

Each event is contextualized within the broader customer funnel. A PageView from a first-time visitor browsing the homepage is fundamentally different from a PageView from a returning customer checking their order status. Enrichment adds this context.

Funnel signals help platforms understand intent depth. A BeginCheckout event from a customer who has viewed five products across three sessions and added two items to cart carries more intent signal than a first-touch BeginCheckout. With enrichment, platforms receive this context rather than treating all BeginCheckout events identically.

For a complete view of funnel tracking: Full-funnel tracking for Shopify.


Why Enrichment Matters for Each Platform

Different platforms use enriched data differently. Here's what enrichment specifically improves for each one.

Session Enrichment Explained: Better Data In, Better Ads Out visual 3

Meta

Meta's algorithm optimizes on event quality, not just event volume. The Event Match Quality (EMQ) score - rated 1 to 10 - measures how well Meta can match your events to real user profiles.

Enrichment directly drives EMQ. Every hashed identifier you attach to an event increases the probability of a match. TrackBee enrichment raises EMQ by an average of 3-4 points. A documented improvement from 8.6 to 9.3 reduced CPA by 18%, increased match rate by 24%, and lifted ROAS by 22%.

Higher EMQ means Meta's bidding algorithm trains on more confirmed conversions, builds better audience models, and delivers your ads to higher-intent users.

Google's Enhanced Conversions feature uses hashed first-party data to improve conversion measurement. The more customer identifiers attached to a conversion event, the higher your Enhanced Conversion Coverage score - and the better Google's Smart Bidding performs.

TrackBee enrichment adds hashed email, phone, name, and address to every conversion sent via the Google Ads Conversions API. The result: an average 17.1% increase in measured conversions. That's not additional revenue - it's revenue that was always there but previously invisible to Google's bidding algorithm.

TikTok

TikTok's Events API uses the same matching logic as Meta's CAPI. Enriched events with hashed identifiers achieve higher match rates, giving TikTok more confirmed signals to optimize against.

With enrichment, stores see approximately 19% more captured events and a 15% improvement in CPA. For a platform still building its optimization capabilities, giving TikTok richer data has an outsized impact on performance.

Pinterest

Pinterest users often convert days or weeks after initial engagement. Without enrichment, the connection between a pin view and a later purchase is lost - the conversion can't be matched back to the original interaction.

Enriched events with persistent identity data bridge this gap. The result: 14% lower CPA and 28% more attributed conversion volume, according to Pinterest's own data.

Klaviyo

Klaviyo's abandonment flows depend on identifying who performed an action. If Klaviyo can't match a browse or cart event to a known profile, the flow doesn't trigger.

Enrichment solves this by attaching identity data to events that Klaviyo would otherwise treat as anonymous. This is why TrackBee customers typically see 2-3x more abandonment flow triggers - the events were always happening, but without enrichment, Klaviyo couldn't act on them.


Forwarding vs Enriching: The Critical Difference

Not all server-side tracking solutions work the same way. The architecture divides into two fundamentally different approaches.

Session Enrichment Explained: Better Data In, Better Ads Out visual 4

Forwarding:

Raw events are captured server-side and sent to platforms as-is. The event reaches Meta or Google through a server-to-server connection (good - it bypasses ad blockers), but the event itself carries the same limited data a browser pixel would have sent. You solve the delivery problem but not the data quality problem.

Enriching:

Events are captured, processed through an enrichment layer that adds identity, context, and commercial data, and then sent to platforms with significantly more signal. You solve both the delivery problem and the data quality problem.

The distinction matters because ad platforms don't just need more events - they need better events. A purchase event that arrives server-side but carries no customer identifiers, no click ID, and no product context gives the algorithm very little to work with. The same event enriched with hashed identity data, the originating click ID, full product details, and session context gives the algorithm a complete training signal.

This is why two stores can both run "server-side tracking" and see dramatically different results. The tracking method is the same. The data quality is not.


How Enrichment Connects to Persistent Shopper Profiles

Session enrichment depends on identity. To enrich an event with a customer's email, you need to know who the customer is - even when they are not logged in and even when they are visiting for the first time in a new session.

This is where persistent shopper profiles come in. TrackBee maintains a profile for every visitor, linking their sessions across visits and devices using available identifiers. When a returning visitor lands on your store, TrackBee recognizes them and can enrich their events with the identity data gathered in previous sessions - even before they take any action that reveals who they are in the current session.

Without persistent profiles, enrichment only works for events where the customer actively provides identity (like checkout). With persistent profiles, enrichment works across the entire journey - including the anonymous browsing sessions that precede a purchase.

This is what makes enrichment powerful for top-of-funnel events. A first-session AddToCart from a returning visitor can carry full identity data, because TrackBee already knows who that visitor is from a prior session.


The Bottom Line

Session enrichment is the difference between sending your ad platforms raw signals and sending them complete, structured intelligence about every interaction on your store.

Server-side delivery solves the problem of events reaching the platform. Enrichment solves the more important problem: making those events useful once they arrive. The platforms reward better data with better performance - higher match rates, more accurate optimization, more efficient spend.

If your current tracking forwards raw events without enrichment, you are leaving the majority of the available performance on the table. The events are arriving, but they are not carrying the signal the algorithms need to do their best work.

TrackBee enriches every event with five layers of data before it reaches any connected platform - automatically, in real time, for every Shopify store. See how it works.

In this article
Boost Your Revenue
Track Missing Conversion Data
Lorem Ipsum

Boost Your Revenue

Track & Enrich
Missing Conversion Data

Try for free
Share this:

Short answer: Session enrichment takes raw events like PageView, AddToCart and Purchase and enriches them with first-party data: shopper identity, product and cart context, campaign source and cross-session history, before sending them to your platforms. Richer, better-matched signals help Meta, Google, TikTok, Pinterest, GA4 and Klaviyo target accurately, which is the most underrated lever in ad performance.

Most Shopify stores send raw, incomplete event data to their ad platforms. A purchase fires, the platform receives a bare-bones signal, and the algorithm does its best to figure out who bought, where they came from, and what it means.

That's the standard. It's also the problem.

Session enrichment is the process of adding context, identity, and structure to every event before it reaches your ad platforms. It's the difference between telling Meta "someone purchased" and telling Meta "this specific returning customer purchased this product variant at this value, came from this campaign, and has been engaged across three sessions over twelve days."

This guide explains what session enrichment is, what data gets added, how it impacts each platform, and why it's the most underappreciated factor in ad performance.

What Is Session Enrichment?

Session enrichment is the process of taking raw tracking events - PageView, ProductView, AddToCart, BeginCheckout, Purchase - and layering additional data onto each one before it's sent to ad platforms, email tools, and analytics. If you're new to how tracking works at a foundational level, our Data Tracking 101 guide covers the essentials before diving into enrichment.

A raw event captures what happened. An enriched event captures what happened, who did it, what they interacted with, where they came from, whether they've been here before, and how this event fits into a broader customer journey.

Think of it as the difference between a receipt and a customer profile. The receipt tells you what was sold. The enriched event tells the ad platform everything it needs to learn from that transaction and find more customers like the one who made it.

Session enrichment happens server-side, in real time, between the moment an event occurs on your store and the moment it reaches Meta, Google, TikTok, Pinterest, or Klaviyo. Every event that passes through an enrichment layer arrives at its destination carrying significantly more usable signal than events forwarded as-is.

For a broader view of server-side tracking and why it matters: What is server-side tracking and how to install it for Shopify.


Raw Events vs Enriched Events

The easiest way to understand enrichment is to see what a raw event looks like compared to an enriched one.

Session Enrichment Explained: Better Data In, Better Ads Out visual 1

A raw AddToCart event (typical client-side pixel):

  • Event name: AddToCart

  • Timestamp

  • Page URL

  • Currency and value (sometimes)

That's often all a browser pixel captures. No customer identity. No product details beyond a generic content ID. No session history. No campaign attribution.

An enriched AddToCart event (after session enrichment):

  • Event name: AddToCart

  • Timestamp

  • Page URL

  • Currency and value

  • Hashed email address

  • Hashed phone number

  • Hashed name and address

  • Click ID (fbc, gclid, ttclid, or epik)

  • Product SKU, variant title, product category

  • Cart value and item count

  • New vs returning customer flag

  • Session number (first visit, third visit, tenth visit)

  • Device type and browser

  • Referral source and landing page

  • Funnel position (browsing, carting, checkout-intent)

The enriched event gives the receiving platform everything it needs to match the event to a real person, understand the commercial context, and use the signal for algorithmic optimization.

This applies to every event TrackBee processes. PageView, ProductView, AddToCart, BeginCheckout, Purchase - all five core funnel events are enriched with the same depth before they reach any connected platform.


The Five Layers of Enrichment

Session enrichment isn't a single addition. It's a structured process that adds five distinct layers of data to every event.

Session Enrichment Explained: Better Data In, Better Ads Out visual 2

1. Customer Identity

The most important layer. Every event is enriched with hashed customer identifiers: email address, phone number, first and last name, city, state, zip code, and country. All identifiers are SHA-256 hashed before transmission - platforms never receive raw personal data.

Why this matters: ad platforms use these identifiers to match your events to real user profiles. Without them, a purchase event is just an anonymous signal. With them, Meta can connect the purchase to a specific user account, dramatically improving audience building and lookalike modeling.

This is the primary driver behind Event Match Quality (EMQ) on Meta and Enhanced Conversion Coverage on Google.

2. Click IDs and Campaign Attribution

Every event is matched to the click ID that initiated the session - if one exists. For Meta, that's the fbc parameter. For Google, it's gclid, gbraid, or wbraid. For TikTok, ttclid. For Pinterest, epik.

Click IDs are the strongest attribution signal. They allow platforms to connect a conversion directly to a specific ad click. But iOS and browser restrictions frequently strip these parameters from URLs or prevent their storage. Server-side enrichment recovers and preserves click IDs that would otherwise be lost.

3. Session Context

Each event carries session-level metadata: whether the visitor is new or returning, which session number this is, what device and browser they're using, what referred them to the store, and what their landing page was.

The new vs returning distinction is particularly valuable. TrackBee sends separate NewCustomerPurchase and ReturningCustomerPurchase events to Meta and Google, enabling audience exclusion strategies and acquisition-focused campaigns. More on that: How to stop wasting Meta ad budget on returning customers.

4. Product and Cart Context

Events carry full commercial context: product SKU, variant title, product category, item price, cart total value, and number of items. This goes beyond the generic content_ids that browser pixels send.

For platforms using value-based optimization (Meta's value optimization, Google's target ROAS bidding), accurate and complete value data is essential. Every purchase event includes the correct order value, and every AddToCart carries the real cart total - not an approximation from a page-level script.

5. Funnel Position

Each event is contextualized within the broader customer funnel. A PageView from a first-time visitor browsing the homepage is fundamentally different from a PageView from a returning customer checking their order status. Enrichment adds this context.

Funnel signals help platforms understand intent depth. A BeginCheckout event from a customer who has viewed five products across three sessions and added two items to cart carries more intent signal than a first-touch BeginCheckout. With enrichment, platforms receive this context rather than treating all BeginCheckout events identically.

For a complete view of funnel tracking: Full-funnel tracking for Shopify.


Why Enrichment Matters for Each Platform

Different platforms use enriched data differently. Here's what enrichment specifically improves for each one.

Session Enrichment Explained: Better Data In, Better Ads Out visual 3

Meta

Meta's algorithm optimizes on event quality, not just event volume. The Event Match Quality (EMQ) score - rated 1 to 10 - measures how well Meta can match your events to real user profiles.

Enrichment directly drives EMQ. Every hashed identifier you attach to an event increases the probability of a match. TrackBee enrichment raises EMQ by an average of 3-4 points. A documented improvement from 8.6 to 9.3 reduced CPA by 18%, increased match rate by 24%, and lifted ROAS by 22%.

Higher EMQ means Meta's bidding algorithm trains on more confirmed conversions, builds better audience models, and delivers your ads to higher-intent users.

Google's Enhanced Conversions feature uses hashed first-party data to improve conversion measurement. The more customer identifiers attached to a conversion event, the higher your Enhanced Conversion Coverage score - and the better Google's Smart Bidding performs.

TrackBee enrichment adds hashed email, phone, name, and address to every conversion sent via the Google Ads Conversions API. The result: an average 17.1% increase in measured conversions. That's not additional revenue - it's revenue that was always there but previously invisible to Google's bidding algorithm.

TikTok

TikTok's Events API uses the same matching logic as Meta's CAPI. Enriched events with hashed identifiers achieve higher match rates, giving TikTok more confirmed signals to optimize against.

With enrichment, stores see approximately 19% more captured events and a 15% improvement in CPA. For a platform still building its optimization capabilities, giving TikTok richer data has an outsized impact on performance.

Pinterest

Pinterest users often convert days or weeks after initial engagement. Without enrichment, the connection between a pin view and a later purchase is lost - the conversion can't be matched back to the original interaction.

Enriched events with persistent identity data bridge this gap. The result: 14% lower CPA and 28% more attributed conversion volume, according to Pinterest's own data.

Klaviyo

Klaviyo's abandonment flows depend on identifying who performed an action. If Klaviyo can't match a browse or cart event to a known profile, the flow doesn't trigger.

Enrichment solves this by attaching identity data to events that Klaviyo would otherwise treat as anonymous. This is why TrackBee customers typically see 2-3x more abandonment flow triggers - the events were always happening, but without enrichment, Klaviyo couldn't act on them.


Forwarding vs Enriching: The Critical Difference

Not all server-side tracking solutions work the same way. The architecture divides into two fundamentally different approaches.

Session Enrichment Explained: Better Data In, Better Ads Out visual 4

Forwarding:

Raw events are captured server-side and sent to platforms as-is. The event reaches Meta or Google through a server-to-server connection (good - it bypasses ad blockers), but the event itself carries the same limited data a browser pixel would have sent. You solve the delivery problem but not the data quality problem.

Enriching:

Events are captured, processed through an enrichment layer that adds identity, context, and commercial data, and then sent to platforms with significantly more signal. You solve both the delivery problem and the data quality problem.

The distinction matters because ad platforms don't just need more events - they need better events. A purchase event that arrives server-side but carries no customer identifiers, no click ID, and no product context gives the algorithm very little to work with. The same event enriched with hashed identity data, the originating click ID, full product details, and session context gives the algorithm a complete training signal.

This is why two stores can both run "server-side tracking" and see dramatically different results. The tracking method is the same. The data quality is not.


How Enrichment Connects to Persistent Shopper Profiles

Session enrichment depends on identity. To enrich an event with a customer's email, you need to know who the customer is - even when they are not logged in and even when they are visiting for the first time in a new session.

This is where persistent shopper profiles come in. TrackBee maintains a profile for every visitor, linking their sessions across visits and devices using available identifiers. When a returning visitor lands on your store, TrackBee recognizes them and can enrich their events with the identity data gathered in previous sessions - even before they take any action that reveals who they are in the current session.

Without persistent profiles, enrichment only works for events where the customer actively provides identity (like checkout). With persistent profiles, enrichment works across the entire journey - including the anonymous browsing sessions that precede a purchase.

This is what makes enrichment powerful for top-of-funnel events. A first-session AddToCart from a returning visitor can carry full identity data, because TrackBee already knows who that visitor is from a prior session.


The Bottom Line

Session enrichment is the difference between sending your ad platforms raw signals and sending them complete, structured intelligence about every interaction on your store.

Server-side delivery solves the problem of events reaching the platform. Enrichment solves the more important problem: making those events useful once they arrive. The platforms reward better data with better performance - higher match rates, more accurate optimization, more efficient spend.

If your current tracking forwards raw events without enrichment, you are leaving the majority of the available performance on the table. The events are arriving, but they are not carrying the signal the algorithms need to do their best work.

TrackBee enriches every event with five layers of data before it reaches any connected platform - automatically, in real time, for every Shopify store. See how it works.

Latest

Discover other Blogs

Explore our collection of informative and engaging blog posts.

A megaphone points at a crowd of clay figures; the ones nearest are bright and engaged, the ones further back have turned grey and worn out, showing an ad audience becoming saturated.
Frank de Vos
Frank de Vos
7
min read
A funnel with data pouring in the top and leaking out through a crack in the side, only a trickle reaching the bottom, showing customers lost in a Shopify checkout funnel.
Frank de Vos
Frank de Vos
7
min read
A shopping bag sends a stream of conversion data along a track toward its destinations, with some of it slipping through a gap and getting lost on the way.
Frank de Vos
Frank de Vos
8
min read