Expand my Community achievements bar.

SOLVED

Use counter evar or event for numerical product meta data

Avatar

Level 2

I want to store certain values in adobe analytics product string like Available quantity, Price, Discounted/sale price, reviews count, etc. Should these values be stored in counter evars or events.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

I would store them in a standard string eVar personally.

 

Events are counters... just like Page Views, except you are choosing something specific to count... event when you use a "Numeric" event, you are just telling the counter to increment by a specific number. For example, let's say I am using a simple tracking for impressions of recommended content, on page A I have 3 so I would use my numeric event to pass 3 (event1=3), and I have another page that shows 5, so on that page I pass 5 (event1=5)... if I look at my data, my event will show 8 impressions. 

 

Numeric eVars, despite the name, still store the values as text... the real benefit to these is being able to use the +x designation... so let's say I want to track the number of product pages a person visited, but I also want to be able to see on which depths the person add to cart. On my product page I would use eVar1=+1 (the first products will be 1, the second will be 2, etc), but when I correlate my product name to eVar1, I will still see "1" or "2" respectively on the products, and with attribution, if the user adds the product to the cart, I will still see the corresponding "1" or "2". However, the data is still stored as a string... 

 

Neither of the above use cases seem to fit your needs....

 

The big question is, do you only need that information on the Product page, or will you also need it on the Cart page (for multiple products) or on Purchase? If yes, then you will want to use Merchandising eVars and pass them in the Products List notation. Some of these you may want in all places (price, discounted price, available quantity, etc - and these values could change by the time the user is on the cart or making a purchase, so you would need to grab the up-to-date information for each product - you wouldn't want to rely on attribution from when the product was viewed), others you may only need on the product pages (number of reviews, etc - this may change by the time the user is on the cart, or making purchases... but since they can't see if, do you really need it at this point?). 

View solution in original post

7 Replies

Avatar

Correct answer by
Community Advisor

I would store them in a standard string eVar personally.

 

Events are counters... just like Page Views, except you are choosing something specific to count... event when you use a "Numeric" event, you are just telling the counter to increment by a specific number. For example, let's say I am using a simple tracking for impressions of recommended content, on page A I have 3 so I would use my numeric event to pass 3 (event1=3), and I have another page that shows 5, so on that page I pass 5 (event1=5)... if I look at my data, my event will show 8 impressions. 

 

Numeric eVars, despite the name, still store the values as text... the real benefit to these is being able to use the +x designation... so let's say I want to track the number of product pages a person visited, but I also want to be able to see on which depths the person add to cart. On my product page I would use eVar1=+1 (the first products will be 1, the second will be 2, etc), but when I correlate my product name to eVar1, I will still see "1" or "2" respectively on the products, and with attribution, if the user adds the product to the cart, I will still see the corresponding "1" or "2". However, the data is still stored as a string... 

 

Neither of the above use cases seem to fit your needs....

 

The big question is, do you only need that information on the Product page, or will you also need it on the Cart page (for multiple products) or on Purchase? If yes, then you will want to use Merchandising eVars and pass them in the Products List notation. Some of these you may want in all places (price, discounted price, available quantity, etc - and these values could change by the time the user is on the cart or making a purchase, so you would need to grab the up-to-date information for each product - you wouldn't want to rely on attribution from when the product was viewed), others you may only need on the product pages (number of reviews, etc - this may change by the time the user is on the cart, or making purchases... but since they can't see if, do you really need it at this point?). 

Avatar

Level 2

Thanks for your response it's helpful. I did a similar research at my end as well and i think i should use merchandising evar with product and map corresponding value as text string type evar for storing details like price and all. Every page or success event will have its own values at that time so last attribution would work for me. I have a doubt that i get these values as numeric or double in datalayer so is it necessary to convert value or directly mapping it with string type evar in xdm will work.

 

Also, i have certain Boolean values like instock status or backorder status which come as True/False in datalayer. I think this make more sense to be mapped as a custom event and assign 1 or 0 based on value. 

 

Does it make sense or should i go with evars for these type of boolean values and if yes what should be the preferred event type selected in workspace? 

Avatar

Community Advisor

Still go with eVars.. for your in stock / out of stock.. but I wouldn't use 1 an 0, keep it the more "positive" value "true" and "false" (as string), or even to a more readable "in stock" and "out of stock" for how it will appear in your reports.

 

First, you cannot pass a "0" event, and again, events are counters.. in stock and out of stock should be tracked as a dimension (eVar).

 

If you need to do classifications on that eVar later, Adobe has issues with "0"...don't want you to find that out the hard way

Avatar

Level 2

 

I currently get these values as boolean True/False but as you said i will try to map with evar and evaluate result. 

 

Is it mandatory to map evars in string data type only while using xdm data element or i can pass numeric or boolean and workspace will interpret it as string only?

Avatar

Community Advisor

I am not using the XDM data stream yet, and I am not sure how CJA interprets the data... but no matter how it gets sent, it it's going into "Adobe Analytics" it will be processed as a string value.

 

You shouldn't have to convert it.. even with the old method (pre-xdm), if I sent a value like:

 

s.eVar1 = 5;

 

In my data in Adobe Analytics I will get a string "5"

Avatar

Level 2

Thanks for your response. I am clear with my doubts.

I want to pass cart value in a currency event with scadd let's say event12=$1000 and want to save same value on cartview or checkout step as well. If i use the same event to store cart value on other events as well then value will inflate like 1000+1000+1000 in reporting. Should i use different event in this case for all steps to see metrics like cart addition revenue, cart view revenue, etc?

Avatar

Community Advisor

$1000 is not an event... it's a dimension. You need to pass this to an eVar.

 

If you pass this as an event, of course it will inflate the value... this is why I've said multiple times that this isn't and should never be an event.

 

Events are counters.

 

For example, the most simple event "Page View" which tracks automatically can be said to work like this:

  • Page A (pageview = 1)
  • Page B (pageview = 1)
  • Page B (pageview = 1)

 

This visit will be 3 pageviews (1+1+1)

 

Just like trying to pass how much your product costs as an event will add up all the values you pass:

  • Product View (event=1000)
  • Add to Cart (event=1000)
  • Cart View (event=1000)
  • Purchase (event=1000)

This will result in 4000, because this is the incorrect way to track this.

 

How much something costs is a dimension, not a metric.

 

If you are using proper merchandising eVars, you will see something like this (eVarX is your "price")

 

  • Product Page - Product 1  (products="prod;product 1;;;eVarX=$1000")
  • Add to Cart - Product 1 (products="prod;product 1;;;eVarX=$1000")
  • Product Page - Product 2  (products="prod;product 2;;;eVarX=$500")
  • Add to Cart - Product 1 (products="prod;product 2;;;eVarX=$500")
  • View Cart (products="prod;product 1;;;eVarX=$1000,prod;product 2;;;eVarX=$500")
  • Purchase (products="prod;product 1;1;1000;eVarX=$1000,prod;product 2;1;500;eVarX=$500")

If you look at Product 1 on Product pages it will show "$1000",if you look at it on Add to cart it will show "$1000", if you look at it on purchase it will show "$1000", if you just look at Product 1 without any segmentation of where it is, it will show $1000.

 

Just like Product 2 will show $500.

 

 

However, in the real world, there will be some variation.. i.e. When I added to my cart it was $1000... when I made my purchase, the item was on sale, therefore it will show $800.. even if eVarX is the "full price", over time, the prices of items will change... inflation or as the product "ages out" the normal price could rise or fall, so over time you will have variation.

 

Using Merchandising eVars allows you to use the same eVar (i.e. eVarX) for the same purpose, whether you have 1 product in your cart, or 1000 products in your cart, each product will have its own instance of the dimension to store the information about that product.

 

 

In the product list, Quantity and Revenue will only be processed by Adobe in conjunction with the purchase event. Passing these values on product views or add to cart will result in these being ignored.

 

Revenue is about the sales you actually make, hence the Price (per item) and the Quantity passed during the purchase event are used to calculate the revenue... (i.e. 5 items at 10 dollars, will be $50 revenue).

 

But, if you need to see how much items cost when they are viewed, added to cart, etc... this is where you eVar comes into play.