Session Enrichment Explained: Better Data In, Better Ads Out

What session enrichment actually is, what data gets added to every event, and why enriched data directly improves ad platform performance for Shopify stores.
March 16, 2026
Latest
Server-side tracking

Session Enrichment Explained: Better Data In, Better Ads Out

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.

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.

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.

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.

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.

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 doesn't work in isolation. Its power comes from being built on persistent shopper profiles - the third core function of TrackBee's infrastructure.

A persistent shopper profile links the same person across multiple sessions, devices, and time windows. When a visitor first arrives on your store from a Meta ad on their phone, TrackBee creates a profile. When that same person returns three days later on their laptop through a Google search, TrackBee recognizes them and connects the sessions.

This is what makes enrichment so effective. Without persistent profiles, each session starts from scratch - a new anonymous visitor with no history. With persistent profiles, the enrichment layer can attach accumulated context to every event: this is their fourth session, they've viewed eight products, they added to cart in their last visit, and they originally arrived via a specific Meta campaign.

The practical result: every event sent to your ad platforms carries the full weight of the customer's history, not just the current session's data.

For more on cross-device recognition: Cross-device tracking for Shopify: how to get a complete customer view.


The Measurable Impact

Session enrichment is the primary reason TrackBee captures 30-40% more usable conversion data than standard tracking setups. "Usable" is the key word - it's not just about event volume. It's about events that carry enough identifying information for platforms to actually match and use them.

An event that arrives at Meta without any customer identifiers can't be matched to a user profile. It counts as a conversion in aggregate reporting, but it doesn't help the algorithm learn who your buyers are. An enriched event with hashed email, phone, and address data matches at rates above 95%. That matched event becomes a training signal that improves audience modeling, bidding accuracy, and campaign efficiency.

The compounding effect is significant:

  • More events reach platforms (server-side delivery)

  • Each event carries richer data (enrichment)

  • Platforms match more events to real profiles (higher EMQ / Enhanced Conversion Coverage)

  • Algorithms train on a larger, more accurate dataset

  • Bidding improves, audiences sharpen, and spend efficiency increases

This is what "data advantage" means in practice. It's not a single feature or metric. It's the cumulative effect of structurally better data flowing into every platform, every day, for every event.


Frequently Asked Questions

Does session enrichment require any manual configuration? No. TrackBee handles enrichment automatically for all connected platforms. Once your store and ad accounts are connected, every event is enriched with all available data before being sent. There's no manual mapping, no tag configuration, and no ongoing maintenance.

Is the customer data used in enrichment GDPR compliant? Yes. All personal identifiers (email, phone, name, address) are SHA-256 hashed before being sent to any platform. Platforms receive hashed strings, not raw personal data. TrackBee also respects consent signals through Consent Mode V2 - when a user declines consent, events are still sent but without personal identifiers, allowing platforms to model conversions without violating consent preferences.

Does enrichment work for orders without a click ID? Yes. Click ID enrichment is one layer. Customer identity enrichment (hashed email, phone, etc.) works independently. Orders from view-through conversions, direct visits, or organic traffic still get enriched with all available identity and context data. Platforms like Meta can use those hashed identifiers to attribute the conversion even without a click ID.

How quickly does enrichment start working after setup? Immediately. From the moment TrackBee is connected and the App Embed is enabled, every event is enriched in real time. Platform-side improvements (higher EMQ scores, better Enhanced Conversion Coverage) typically become visible within 48-72 hours as the platforms process the enriched data.

Can I see the difference enrichment makes? Yes. On Meta, check your Event Match Quality score in Events Manager - enriched events consistently score 8.5-10. On Google, check your Enhanced Conversion Coverage metric. On Klaviyo, compare your abandonment flow trigger volume before and after TrackBee. The TrackBee Accuracy page also shows all tracked orders with their associated click IDs and attribution data.

What's the difference between session enrichment and server-side tracking? Server-side tracking is the delivery method - sending events from server to server instead of browser to server. Session enrichment is the data processing that happens before delivery. You can have server-side tracking without enrichment (forwarding raw events server-side), but you can't have enrichment without a server-side infrastructure to process and enhance the data. TrackBee combines both: server-side delivery with full session enrichment.

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:

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.

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.

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.

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.

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.

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 doesn't work in isolation. Its power comes from being built on persistent shopper profiles - the third core function of TrackBee's infrastructure.

A persistent shopper profile links the same person across multiple sessions, devices, and time windows. When a visitor first arrives on your store from a Meta ad on their phone, TrackBee creates a profile. When that same person returns three days later on their laptop through a Google search, TrackBee recognizes them and connects the sessions.

This is what makes enrichment so effective. Without persistent profiles, each session starts from scratch - a new anonymous visitor with no history. With persistent profiles, the enrichment layer can attach accumulated context to every event: this is their fourth session, they've viewed eight products, they added to cart in their last visit, and they originally arrived via a specific Meta campaign.

The practical result: every event sent to your ad platforms carries the full weight of the customer's history, not just the current session's data.

For more on cross-device recognition: Cross-device tracking for Shopify: how to get a complete customer view.


The Measurable Impact

Session enrichment is the primary reason TrackBee captures 30-40% more usable conversion data than standard tracking setups. "Usable" is the key word - it's not just about event volume. It's about events that carry enough identifying information for platforms to actually match and use them.

An event that arrives at Meta without any customer identifiers can't be matched to a user profile. It counts as a conversion in aggregate reporting, but it doesn't help the algorithm learn who your buyers are. An enriched event with hashed email, phone, and address data matches at rates above 95%. That matched event becomes a training signal that improves audience modeling, bidding accuracy, and campaign efficiency.

The compounding effect is significant:

  • More events reach platforms (server-side delivery)

  • Each event carries richer data (enrichment)

  • Platforms match more events to real profiles (higher EMQ / Enhanced Conversion Coverage)

  • Algorithms train on a larger, more accurate dataset

  • Bidding improves, audiences sharpen, and spend efficiency increases

This is what "data advantage" means in practice. It's not a single feature or metric. It's the cumulative effect of structurally better data flowing into every platform, every day, for every event.


Frequently Asked Questions

Does session enrichment require any manual configuration? No. TrackBee handles enrichment automatically for all connected platforms. Once your store and ad accounts are connected, every event is enriched with all available data before being sent. There's no manual mapping, no tag configuration, and no ongoing maintenance.

Is the customer data used in enrichment GDPR compliant? Yes. All personal identifiers (email, phone, name, address) are SHA-256 hashed before being sent to any platform. Platforms receive hashed strings, not raw personal data. TrackBee also respects consent signals through Consent Mode V2 - when a user declines consent, events are still sent but without personal identifiers, allowing platforms to model conversions without violating consent preferences.

Does enrichment work for orders without a click ID? Yes. Click ID enrichment is one layer. Customer identity enrichment (hashed email, phone, etc.) works independently. Orders from view-through conversions, direct visits, or organic traffic still get enriched with all available identity and context data. Platforms like Meta can use those hashed identifiers to attribute the conversion even without a click ID.

How quickly does enrichment start working after setup? Immediately. From the moment TrackBee is connected and the App Embed is enabled, every event is enriched in real time. Platform-side improvements (higher EMQ scores, better Enhanced Conversion Coverage) typically become visible within 48-72 hours as the platforms process the enriched data.

Can I see the difference enrichment makes? Yes. On Meta, check your Event Match Quality score in Events Manager - enriched events consistently score 8.5-10. On Google, check your Enhanced Conversion Coverage metric. On Klaviyo, compare your abandonment flow trigger volume before and after TrackBee. The TrackBee Accuracy page also shows all tracked orders with their associated click IDs and attribution data.

What's the difference between session enrichment and server-side tracking? Server-side tracking is the delivery method - sending events from server to server instead of browser to server. Session enrichment is the data processing that happens before delivery. You can have server-side tracking without enrichment (forwarding raw events server-side), but you can't have enrichment without a server-side infrastructure to process and enhance the data. TrackBee combines both: server-side delivery with full session enrichment.

Latest

Discover other Blogs

Explore our collection of informative and engaging blog posts.

11
min read
6
min read
6
min read
Start using TrackBee today
Better campaign performance and accurate insights
Track 100% accurate data in less than 5 minutes
Get started