Skip to main content
Level 5
June 14, 2023
Solved

Strategy to track and implement analytics on a product listing page

  • June 14, 2023
  • 1 reply
  • 2733 views

Hi,

I am looking for inputs on what should be the strategy to implement and track analytics on a product listing page which has list of products with Buy/Add to cart button for each in-stock product, Compare two or more products, Buying options button if the product is out of stock, filters to narrow down the product list and sort options price low to high, high to low and customer reviews.

 

PS: I am new to analytics solution design and implementation. Any pointers or documentation which I can go through to get an understanding will be really helpful.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Jennifer_Dungan

Adobe's Product dimension is very powerful, but also one of the more complex topics within the Adobe architecture:

 

https://experienceleague.adobe.com/docs/analytics/implementation/vars/page-vars/products.html?lang=en

 

For each product passed, you can have specific merchandising events and evars stitched only to the relevant product...

 

 

So let's say you have a product list page, maybe you want to list ALL products on this page, with say a "product list view" custom event (event1), and maybe you want to track "in stock" or "out of stock" as a merchandising eVar (evar1)

 

The format for each product is:

category;product identifier;quantity;price;merchandising events;merchandising eVars

 

We don't need price or quantity at this stage, and let's just ignore category for the moment

 

You would want to configure an event for your "product list view" custom event (event1), and also set up an eVar as a merchandising eVar with "Product Notation"

 

 

Now you would pass all product on the page like:

s.events="event1"; s.products=";pro-1;;;;eVar1=in-stock,;pro-2;;;;eVar1=out-of-stock,;pro-3;;;;eVar1=in-stock"

 

This will result in each product counting "product list view" once (in context) but at a whole level, you will see 3 impressions in total (for three products being seen on the page)...
pro-1 and pro-3 will correlate to eVar1 with the value of "in-stock" and pro-2 will correlate to "out-of-stock"

IF you need to apply events separately to each product, then you can create a counter event and pass inside the products notation as (event2=1), but for this you shouldn't need it.... however, if you say have a product detail page with "a section of similar products, you might want a custom event for "main product detail page" (event2) vs an event for "similar items on detail page" (event3) - then pass ALL products in the list, but only apply event2 to the main item, and event3 to the other products (event2 and 3 will need to be configured as "numeric" events, as opposed to the default "counter" events):

s.events="event2,event3"; s.products=";pro-1;;;event2=1;eVar1=in-stock,;pro-2;;;event3=1;eVar1=out-of-stock,;pro-3;;;event3=1;eVar1=in-stock"

 

 

Now, on the compare page, you can do the same, passing the products that are being compared, but instead of event1, you would create a new event2 "product compare" (changing all instances above from event1 to event2) - you may or may not need to know in-stock vs out-of-stock in this context, that is up to you... maybe there are other things you want to track that would be passed in their own merchandising eVars.

 

 

When adding products to the cart, you can do something like:

s.events="scAdd"; s.products=";pro-1;;;;eVarX=something|eVarY=something-else";

 

Odds are products will be added one at a time, so only one will be in each call (unless you have an add all to cart, which is possible)... The "scAdd" is a reserved "add to cart" events.

 

There is also a start checkout event that you can use (scCheckout), and on purchase success, you can use the "purchase" event, and now you can make use of the quantity and price areas of the products to pass in the values.... the price should be the price of each product... Adobe should take the quantity purchases and multiply it by the price to add that total to the revenue metric.

1 reply

Jennifer_Dungan
Community Advisor and Adobe Champion
Jennifer_DunganCommunity Advisor and Adobe ChampionAccepted solution
Community Advisor and Adobe Champion
June 14, 2023

Adobe's Product dimension is very powerful, but also one of the more complex topics within the Adobe architecture:

 

https://experienceleague.adobe.com/docs/analytics/implementation/vars/page-vars/products.html?lang=en

 

For each product passed, you can have specific merchandising events and evars stitched only to the relevant product...

 

 

So let's say you have a product list page, maybe you want to list ALL products on this page, with say a "product list view" custom event (event1), and maybe you want to track "in stock" or "out of stock" as a merchandising eVar (evar1)

 

The format for each product is:

category;product identifier;quantity;price;merchandising events;merchandising eVars

 

We don't need price or quantity at this stage, and let's just ignore category for the moment

 

You would want to configure an event for your "product list view" custom event (event1), and also set up an eVar as a merchandising eVar with "Product Notation"

 

 

Now you would pass all product on the page like:

s.events="event1"; s.products=";pro-1;;;;eVar1=in-stock,;pro-2;;;;eVar1=out-of-stock,;pro-3;;;;eVar1=in-stock"

 

This will result in each product counting "product list view" once (in context) but at a whole level, you will see 3 impressions in total (for three products being seen on the page)...
pro-1 and pro-3 will correlate to eVar1 with the value of "in-stock" and pro-2 will correlate to "out-of-stock"

IF you need to apply events separately to each product, then you can create a counter event and pass inside the products notation as (event2=1), but for this you shouldn't need it.... however, if you say have a product detail page with "a section of similar products, you might want a custom event for "main product detail page" (event2) vs an event for "similar items on detail page" (event3) - then pass ALL products in the list, but only apply event2 to the main item, and event3 to the other products (event2 and 3 will need to be configured as "numeric" events, as opposed to the default "counter" events):

s.events="event2,event3"; s.products=";pro-1;;;event2=1;eVar1=in-stock,;pro-2;;;event3=1;eVar1=out-of-stock,;pro-3;;;event3=1;eVar1=in-stock"

 

 

Now, on the compare page, you can do the same, passing the products that are being compared, but instead of event1, you would create a new event2 "product compare" (changing all instances above from event1 to event2) - you may or may not need to know in-stock vs out-of-stock in this context, that is up to you... maybe there are other things you want to track that would be passed in their own merchandising eVars.

 

 

When adding products to the cart, you can do something like:

s.events="scAdd"; s.products=";pro-1;;;;eVarX=something|eVarY=something-else";

 

Odds are products will be added one at a time, so only one will be in each call (unless you have an add all to cart, which is possible)... The "scAdd" is a reserved "add to cart" events.

 

There is also a start checkout event that you can use (scCheckout), and on purchase success, you can use the "purchase" event, and now you can make use of the quantity and price areas of the products to pass in the values.... the price should be the price of each product... Adobe should take the quantity purchases and multiply it by the price to add that total to the revenue metric.

Level 2
December 10, 2023

Can we skip quantity and price for product string on all other events except purchase?

Jennifer_Dungan
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
December 11, 2023

Passing Price and Quantity on anything other than purchase events will be ignored.... Price and Quantity are used to calculate Revenue, and revenue is the money you actually make... viewing a product, adding it to a cart, viewing that cart, etc is not making you any money yet... therefore, there is no point in sending it, and Adobe will protect you from inflating revenue if you do send it.