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.
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
Adobe's Product dimension is very powerful, but also one of the more complex topics within the Adobe architecture:
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.
Adobe's Product dimension is very powerful, but also one of the more complex topics within the Adobe architecture:
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.
Hi @Jennifer_Dungan ,
Thanks for the detailed response, this really helps. I will go through to understand and implement.
Thanks
Srikanth
Good Luck...
The best thing you can do is try things in a QA or Dev suite.... try different combinations... look at how the data presents, test building reports, etc....
By using different events, you can use Product as the breakdown, then each of your events (either global ones like scAdd, purchase, event1 as above), and your merchandising events (event2 and event3 as above) as columns in your table...
You can breakdown products with your merchandising eVars.
This is how I started with products... playing with different scenarios and data and seeing what worked and what didn't.
Views
Replies
Total Likes
Hi @Jennifer_Dungan ,
We have implemented your suggestions, I have a follow up question on one scenario where user selected filters(checkboxes) are populated in a prop which is list enabled with delimiter comma(,). For example filter1,filter2,filter3.... When I am trying to create a report in Analytics Workspace, using this list prop as a dimension, I still see comma-separated values. Our aim is to find out which individual filter has more hits or been selected most of the times.
Can you please help here.
Thanks in advance
Srikanth
Views
Replies
Total Likes
Oops, sorry @srikanthpogula I missed this...
If you are still seeing the values in your prop like this:
"filter1,filter2,filter3"
it means that you didn't enable "list" mode, or didn't set the proper delimiter on your prop in the Traffic Variable configuration:
Views
Replies
Total Likes
Can we skip quantity and price for product string on all other events except purchase?
Views
Replies
Total Likes
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.
Views
Replies
Total Likes