Data Tracking Best Practices: View_Item

Data Tracking Best Practices: View_Item

Data Tracking Best Practices: View_Item

1. Why should eCommerce teams track and maintain a clean view_item event data flow?

🎩GIF 0:17  - when a Product page is loaded, a view_item is tracked
🎩GIF 0:17 - when a Product page is loaded, a view_item is tracked

The act of viewing a product in an e-commerce store is important. It is a precursor for a visitor to turn into a customer. It is also not a given that product views happen, if a visitors starts a session. On a typical e-shop, only around 55-65% of customers that start a session actually view a product on site.

As you can see from the example below in a period of a month there occurred 1.4M unique session_starts 58.3% of which or cca. unique 819k visitors viewed a product out of which only 15.7% or cca. unique 129k visitors added something to their cart.

How many % of your sessions end up viewing a product? To be able to tell it is necessary to track the view_item event behavior when a customer loads a product display page.

image

View_item events are also an important data point into the insight of customer behavior on site. These insights can help you better design the browsing experience of your web.

When we analyzed the data of 6 participating e-shop over the course of half a year we found out that 87% of all e-commerce sessions view 3 or less products. That means that from the many sessions that you drive onto the site, in most cases you have only 1-2 products to capture the attention of a customer to keep browsing and eventually shop on your e-shop. Having only a few products in any given sessions to offer to a customer, it raises the importance of what kind of products you promote at key touchpoints. Additionally, thanks to CDXP software like Bloomreach Engagement, Synerise or Algolia you can also personalise the kinds of products that customers see at those key touchpoints.

image

1.1. This guide

Tracking and maintaining a clean data flow of view_item events is important for an e-commerce team for two main categories of use-cases. In this guide we will cover what these use-cases are and how the view_item event relates to it.

  1. Internal Data Analytics & Reporting
  2. User facing Automation & Personalization

The implementation of tracking view_item events and then maintaining it over the years can be tricky. We have worked with 25+ e-commerce teams and over the course of the 5 years we have come across 8 common issues that can happen when implementing view_item events. In this guide we will cover these issues with examples to watch out for when implementing and maintaining your own view_item events.

Lastly, we have created a data planning sheet for the view_item and view_item_variant events with our recommended event attributes to keep in mind when tracking them. Additionally, there is a Maintenance Sheet that we recommend filling in during the QA of your implementation to help you maintain the tracking of the events in the long-term. We use these sheets internally when working with clients to design and maintain their view_item event tracking and use-cases.

2. Common Use-cases

From a high-level perspective, view_item tracking is crucial in the functioning of four types of use-cases → 1) Data Analytics 2) Reporting 3) Automation & 4) Personalization .

2.1 Data Analytics

On a most basic level, tracking view item events provides visibility over which products are being viewed across the shop as well as insights into important customer behaviour and metrics, with which to measure the performance of an e-shop.

With clean view_item events you can answer questions such as:

  • How many products do customers typically view before a purchase in a session?
  • How many unique customers that landed on the site; viewed a product?
  • How many unique customers that viewed a product; added a product to their cart?
  • What is the average number of viewed items in a session?
  • What is the average number of viewed items before a purchase?
  • What is the distribution of viewed products across different types of products such as:
    • size
    • material
    • collection
    • brand
    • gender
    • price intervals
    • categories
    • subcategories
    • colors
    • and other relevant item product type attributes (depending on e-shop)

2.2 Reporting Use-cases

  • Advanced Product Performance Evaluation. In best practice ecommerce teams view_items are a vital input into the calculation of product performance. Thanks to a CDP database information about which customers viewed which products across the shop are stored and can also tell us whether they have purchased the item they have viewed. This can then be used to calculate the Profit Per View Metric. More on that in this gumroad piece.
  • Down the funnel campaign evaluation for Email and PPC - In best practice email and online ad teams, campaigns are not just evaluated based on high-level platform metrics, but also take into account what the sessions that were generated by those campaigns actually did on the website. When we got 10,000 clicks from a PPC campaign promoting Product A, what products did the customers actually view as a result of the campaign? More on that in this gumroad piece.

2.3 Automation

  • Browse Abandonment Email Automation. This common and reliable revenue generator, sends a reminder email for customers who have abandoned the site to come back. The email typically features the last browsed items and sometimes also recommended items based on their browsing history. This automation is triggered and personalized based on view_item event tracking. More on that and other email automated use-cases in this gumroad piece.
  • Back In Stock Email Automation - This email reminds customers of products they have shows interested in by selecting their size, that the product has been restocked and is now again available for purchase. The email typically contains the product that is back in stock. This automation requires view_item_variant event to be tracked. More on that and other email automated use-cases in this gumroad piece.

2.4 Personalization

  • Customer Affinity Calculation - Customer affinity calculation decides which customer is “is interested in a particular category” or in fashion a common concern → which gender of product do they have preference for? Do they also ship for Kids? View_items, are a crucial bit of data for this calculation especially for customers who have not purchased yet.
    • Email - this affinity customer attribute can then be used in email campaigns as an audience.
    • Web - this affinity customer attribute can then be used to target different recommendations of products, or different order of recommendations of products. It can be used for re-directing at first page_visit load to reduce friction. Pre-filter category pages to ensure only the preferred sizes of the customers are showing.
    • PPC - this affinity customer attribute can then be sent to platforms such as Facebook Ads and Google Ads and used as an audience to target in campaign settings.
    • More on that and other email automated use-cases in this gumroad piece.

  • Product Recommendations Engine Training / Filtering - view_item is a key data input for the recommendation engines that decide which product to recommend to a visiting customer. If view_item event are not being tracked or view_items are being tracked with errors, then the engines will recommend products sub-optimally.

3. Common Tracking Errors

Despite the critical importance of view_items in many personalization and analytics use-cases, many e-commerce teams underestimate the importance and complexity in the data tracking of this event. As a result many work with

  • there are instances when the e-commerce marketing teams would like to implement a personalization or to do an analysis, but end up realizing they have something missing in their view_item event data architecture.
  • due to missing data, analytics and reporting that take into account view_items, are misleading
  • use-cases stop working or are working sub-optimally

Implementation of the tracking of view_item events can be difficult. A best practice implementation requires the participation of three team members - the developer, the data analyst and the website owner. The developer is responsible for ensuring the code is implemented to expectations. The website owner is responsible for knowing what values do we need to track for personalization purposes? The data analyst is responsible for designing the view_item event attribute architecture based on business needs and ensuring the correct data is tracked. What makes it even more difficult is the fact that each e-commerce will have its own structure of the website and its own data needs depending on their product selection.

For these reasons, we would like to cover these 11x areas of common errors to look out for when tracking view_item data and view_item attributes data. Having implemented or audited the tracking of view_items in 25+ e-commerce companies

3.1 Product IDs

Make sure you are tracking product IDs correctly. If you have a single product_id, make sure it is unique to each product that you sell to customer.

Some e-commerce shops have a multi-layered product structure. Many product types have “variations” → where the core product is the same but it is slightly different due to size, color, packaging, volume, etc. These variant products are what is ultimately being sold. In these e-shops it is important to distinguish between product_ids that are “parents” and that are “children”. This causes confusion.

To put it simply the parent ID are the product identification for a set of products, that do not ultimately “exist”. Each child ID is associated with its parent ID. Child_id are often referred to as variant_ids. These are the actual unique product_id that is sold to customer, if an e-shop uses a multi-layered product id structure.

PARENT: Shirt A

  • parent_id: 111

This product has three variants based on size:

CHILDREN: Blue Shirt - Small

  • parent_id: 111
  • variant_id: 221

CHILDREN: Blue Shirt - Medium

  • parent_id: 111
  • variant_id: 222

CHILDREN: Blue Shirt - Large

  • parent_id: 111
  • variant_id: 223
⚠
In these instances the “variant_id” must unique to each variant. E-shops can also have more levels of product_ids. The “lowest variant tier” is always the “most unique” of the ids.

Example in Practice

Chiller Boardshorts 17" - Mixtape Gold

  • product_id: 171
  • variant_id: N/a

Chiller Boardshorts 17" - Mixtape Gold - 28

  • product_id: 171
  • variant_id: 271

Chiller Boardshorts 17" - Mixtape Gold - 30

  • product_id: 171
  • variant_id: 272
image

3.2 No event tracking related to picking an item size

⚠
This event is necessary. for the Back in stock email automation and customer affinity calculation use-cases

Many e-shops forget to track an important customer interaction on the product page. Especially on fashion websites there are variants of products that the customers must select before they add the product to the cart. It is very useful to track this selection of a product variant as an event in order to capture customer preference for a given variant (size / color).

image

3.3 Tracking all touchpoints

A common tracking error is to not make sure that every touchpoint that allows a user to view a product should be tracked upon the user loading the page. Sometimes the tracking for mobile is forgotten because on occassion it needs to be done separately. In the example screenshot below, no view_item is tracken when a product is viewed in a pop-up frame, that opens up when a customer clicks on a Homepage Hero Placement.

image

3.4 Commonly missing view_item product attributes:

Each e-commerce divides and classifies their products based on different product attributes. Depending on what the e-shop is selling, the products can often be grouped based on category, color, size, material, author, etc. It is important to define as a team which of these attributes are important to the business from reporting, marketing and personalization perspectives.

Typically this is often underestimated and not all possible and useful product attributes in view_items are tracked. Very often about half of the valuable item attributes are missing. In the example below, we can see that a number of item product attributes are missing in the context of a sports fashion e-commerce.

image
  • ✅item_category
  • ✅item_subcategory
  • ✅item_brand
  • ❌item_gender
  • ❌item_size
  • ❌item_color

Other suggested, but optional product attributes to track

  • item_material
  • item_collection
image

3.5 Product Categorization is not the URL breadcrumb

A common error, is to mistake the tracking of the product’s page URL breadcrumb as the categories of the products. The problem with this method is that often products can be accessed via different breadcrumb paths - especially if there are custom landing pages and custom category pages such as Sales, Special Edits, Holiday pages, etc. As you can see in the screenshot below, in this instances products are being categorized as being a “Sale”, but viewing the same product through the Womens page would track the category_1 attribute as “Women”.

image
image

We recommend following these rules when designing the logic of your product categorisation:

  • each product belongs to a single category, each category name is unique
  • each product belongs to a single subcategory, each subcategory name is unique
  • each subcategory is unique and only belongs to a single category
  • each subcategory2 is unique and only belongs to a single subcategory (and so on if you have more subcategories)
  • special category groupings like whether a product was on sale, belongs to a certain group of products for other commercial or strategic reasons, should be tagged via the use of different event attributes not called “category”.

3.6 Product Categorization - product variants end up in different categories

Sometimes products are tagged wrong in the back-end. It can happen that two products, which are just variants of the same products end up having different classifications in category attributes. This kind of issue would negatively affect analytics use-cases and category-affinity personalization. Typically, this needs to be rectified in the back-end catalogue directly.

Example Variants Based on Size

  • 330g version of Organic Nougat is classified as a “Creams and Butter”
  • 3x330g version of the same Organic Nougat is classified as a “Value-deal-packaging”
image
image
image
image

Example Variants Based on Color

  • Black version of a Bed Frame ROZALI is classified in the “Bedroom”
  • White version of the same Bed Frame ROZALI is classified in the “Living Room”
BLACK
BLACK
image
WHITE
WHITE
image

3.7 Making sure you are not double-tracking view_items

We have come across situations where, e-commerce teams were tracking view_item events from multiple tracking codes. This would result into a single loading of a product display page generating more than one view_item at the same time (or very similar times).

This would cause many issues. It would inflate any reporting that makes use of view_items. It would cause unexpected behaviour with the Abandoned Browse automation. Similarly to view_item events not always tracking, or not tracking at all - if there are too many view_items vs what is actually happening on the site - that is also an issue.

The reason such duplication of event tracking can happen in the first place is that a single e-shop can have many different software that are affecting the final rendering of the code for the final user. Consider that an average e-shop may have:

  • Active Google Tag Manager
  • Active CDP Tag Manager
  • Website Code Itself
  • Back-end options

All of these code touchpoints could track a view_item event from a page_load and assign in to the correct customer in your customer database. For this reason we recommend “hard-testing” the user journey - meaning having someone on your team identify their cookie and see what exactly was tracked when they loaded a product display page.

Additionally, we recommend keeping a record of where the code relating to the event tracking is stored so when teams are making updates to data tracking (or anything goes wrong with the existing implementation) the team can quickly find out what code and where needs to be edited.

3.8 Issues resulting from having different language and currency domains

⚠
Relevant IF you have multiple domains in different languages or currencies

E-commerce shops that operate in multiple markets have unique data issues resulting from hosting multiple domains. The names, prices and currencies can change between domains for the same products. For this reason, if you function across multiple language domains, we recommend to track “global” attributes that describe the product. If you function across multiple currency domains, we recommend to track “global” attributes regarding prices. You can see the full details of our recommended tracking structure in the excel audit checklist at the end of the guide.

Romanian Domain
Romanian Domain
  • category_1 HU - Nappali bĂștor
  • category_1 RO - Mobila living
  • category_1 Global - Living Room
Romanian Domain Couch Paulita view_item
Romanian Domain Couch Paulita view_item
Hungarian Domain
Hungarian Domain
  • price RO - 2,072 RON
  • price HU - 179,900 HUF
  • price Global - 279 EUR
Hungarian Domain Couch Paulita view_item
Hungarian Domain Couch Paulita view_item

4. View_item and select_item_variant event data planning sheets

  • 3x recommended IDs attributes
  • 4x recommended price attributes
  • 12x recommended product attributes
  • 13x recommended front-end attributes

If you found this post valuable


If you found this post to be valuable, we kindly encourage you to share it with your friends and colleagues who may also benefit from it.

Additionally, we provide a free 45-minute consultation where we can discuss the technical, data collection, and human resource requirements needed to implement data tracking best practices similar to the ones described in this post. To schedule a consultation, please visit this link.

Thank you for your time, and we genuinely hope that the information shared in this brief post proves beneficial to you!