Product Page View Pixel

What are Product Page View Pixels

Product Page View Pixels track the loading or viewing of a product detail page (PDP), such as any product, product bundle, product collection, or SKU set pages.

How to Implement Product Page View Pixels

  • Go to your Product Page Template and add the product-specific tracking parameters in the Global Tracking snippet.
  • When your product page (or portions of it) is loaded dynamically via AJAX, remember to add additional handlers for single page application tracking.

Product Page View Variables Checklist

The following section lists the tracking variables required specifically for product page view pixels. Please note that these must be included in addition to the Global Page View variables.

VariableValue type, exampleDescription
prod_idstring (case sensitive), "prod1234"This is the unique ID that describes a product or product collection. If a product is available in multiple SKUs (e.g., color/size combinations), this field refers to the id shared by all the SKUs for a product. To determine what value to use for your product ID, refer to the Product ID Scenarios.
prod_namestring, "Blue Lace Dress"The name of the product being viewed.
skustring, "sku7778"Unique sku ID representing the selected variant of this product (e.g., size M, color blue of a t-shirt). This must match the SKU ID field in the feed. If your site does not have SKUs, leave this blank.


For a full list of required and optional variables, see Pixel Reference

Product ID Scenarios

The product ID value depends on whether it refers to a single product or to a product collection. The table below outlines multiple scenarios and the corresponding product ID value.

ScenarioProduct ID valueExample value
Product Detail Page (PDP) for a single productEnter the product ID.If your product ID is prod1234:prod_id="prod1234"
Product Collections have their own unique ID and are sold exactly like standalone productsEnter the collection ID. Make sure that this collection ID is sent in the feed as a product ID.If your collection ID is collection5678:prod_id="collection5678"
Product Collections have their own unique ID, but cannot be purchased as a whole; only a collections' individual parts can be purchased. Each of these individual parts have their own IDEnter the collection ID. Make sure that this collection ID is sent in the feed as a product ID.If your collection ID is collection5678:prod_id="collection5678"
Products that are part of a Collection but can be purchased from their own individual product pageEnter the product ID.If your product ID is prod1234:prod_id="prod1234"

Implementing Pixel in a Test Environment

If you are implementing the Pixel in a test environment (development, staging, UAT, etc.), you must add the test_data variable. When set to “true”, this flags pixel data to be ignored during analytics processing. Read more about the test_data variable here.

Tracking Snippets for Product Page View Pixels

The following are the customized tracking snippets for both JavaScript and Non-JS environments. Here ptype is “product” for the product page view pixel.

JavaScript Implementation

<script type="text/javascript">
  var br_data = br_data || {};
  // Global tracking parameters
  br_data.acct_id = "<Bloomreach Provided Account ID>"; 
  br_data.ptype = "product";
  br_data.title = "<title of current page>";
  br_data.domain_key = "";
  br_data.user_id = "";
  br_data.view_id = "";
  br_data.debug = true; // remove for production
  br_data.test_data = true; // remove for production

  // INSERT the Product specific Tracking Parameters in your Global Tracking Script
  br_data.prod_id = "prod1234";
  br_data.prod_name = "Blue Lace Dress";
  br_data.sku = "sku7778";
  // End - Product specific Page Tracking Parameters
  (function() {
  var brtrk = document.createElement('script');
  brtrk.type = 'text/javascript';
  brtrk.async = true;
  brtrk.src = "//{{BloomReach Account ID}}.js";
  var s = document.getElementsByTagName('script')[0];
  s.parentNode.insertBefore(brtrk, s);


Copying Snippet from Events Managment

You can copy the personalized tracking snippet from the Events Management application. We recommend using personalized snippets instead of copying from the documentation page. Currently, only acct_id and debug values are populated in the snippet. In future feature iterations, we will add domain_key, view_id, and other variables to further personalize the snippet for easy click-copy use.

Non-JavaScript Implementation

To integrate Bloomreach pixels in a Non-JS Environment, you can choose one of the following options:

Validate Pixel Implementation

If you’re integrating the Pixel, you can start tracking the test pixel data using Events Management. It gives you a broad overview of your Pixel’s health in an instant. You can continue using this when you go live.


Integration mode in Events Management

If you wish to inspect individual events from your test environment in real time, add debug=true. Such events will be treated as test data and will show in the Integration mode of the Events Management within seconds. Otherwise, you can inspect events in the Live mode with a delay of up to 2 hours.

For web validation
Once Pixel implementation is complete, use the Pixel Validator Chrome Plug-in to validate if the product page view pixel is working as expected. Follow the scenarios listed in the Test Scenarios - Page View guide.


If you’re seeing a large drop in Product Page Views in Pixel reports, debug using this help article.

Monitor and Manage Pixel Data

For long-term monitoring, use Pixel Monitor to get more detailed trend lines and set pixel error alerts. We recommend that you subscribe to pixel alerts.