Product list tracking got a major upgrade with LittledataLayer version 9. Check your store is up-to-date for speed and performance
Littledata tracks product list impressions on any Shopify storefront, using Google or Segment's standard product list event properties.
By default we only track product lists on the
We define a product impression as the user viewing a link to a URL containing
/products/, where the parent HTML element contains an image.
e.g. this product will track as an impression, because the anchor tag (
<a>) shares the same parent with the
An impression is counted whenever 80% or more of the product is visible to the user. The list view tracking starts 500ms after the page has finished rendering, for performance reasons.
As the user scrolls down the page, we track any further products visible for at least 200ms after they stop scrolling. This 200ms delay is grounded in psychological studies: it takes the average human at least 200ms to process an image.
list_position of the product view (and click) is the order in which the product links are listed on the whole page.
A click listener is then added to every product which is viewed - a product list click will only be tracked for a product which has previously been recorded as viewed, so the Click-Through Rate (CTR) is correct.
Littledata’s tracking script waits a maximum of 1 second for the image click tags to fire (or less if the network connection is fast) before redirecting to the product details page. If you have issues with this click tracking interfering with other event handles on your site you can disable product list clicks by setting
LittledataLayer.productClicks = false. See our full script readme.
These events and CTR appear under the Conversions...Ecommerce...Product List Performance report in Google Analytics.
You can change the primary dimension above the table to view the list performance by product name or SKU (across all product lists).
You will need to manually edit Littledata's snippet to make any changes.
You can extend tracking to any page by setting the
If you find non-product lists are also getting picked up you can restrict tracking using the
productListLinksHavePrices setting to track only where the product link - or an adjacent link - contains the product price. Or use
productListLinksHaveImages to restrict tracking to where the
<img> tag is contained within the link.
i.e. Your theme would have to display both the product image and the product price for the impression to trigger.