Google Analytics Custom Dimensions vs Adobe Analytics Conversion Variables (eVar)
pujoljulia March 17, 2016

Each analytics tool, such as Google Analytics or Adobe Analytics, processes data collected in a different way and provides their own variables with their own peculiarities, that’s why you have to understand the Data collection and Variables relation pretty clear to know how convert the business requirements to analytics variables.

Let’s say you are facing to an analytics implementation for a cooking workshop subscription business website, where users can be subscribed to different workshops at the same time. One of the business requirements is analyze how the people is behaving on the website once they are subscribed depending on two variables: number of subscribed workshops and the name of workshops. As we are PRO, we know about Custom Dimensions/Metrics in Google Analytics and eVar variables (Conversion variables) in Adobe Analytics, so we gonna use them to retrieve this information.

The first question that appears is about when we’ve to receive this information from the page? As the users have to be subscribed to get that data, we only can taking this information when users sign in on the web page, then okay, you proceed to open your email inbox and tell to web developers/IT: “Each time the users sign in, please send me that information” (hopefully they’ll do that after 14 releases and 3 months :P).

Next coming question is how this information have to be correlated with other page data that Google/Adobe Analytics is collecting? Well, remember business folks wants to analyze users behaviour based on those two variables, which means they gonna use segmentation to extract the insights, so when he/she select the segment we arrange form him/her:

They have to be able to see all information segmented by users whose have had 3 months subscription and one of the subscribed workshops  is ‘cake’. Let’s say we wanna know what pages they visit under this two characteristics, but we know that we’ve to tell to Google Analytics or Adobe Analytics how long this informations has to be correlated with all other information, and the way to tell it is through the ‘expiration value’ concept.

Google Analytics

Hit expiration value

Hit expiration value means that the Workshop name and Number of months Custom Dimensions will have no memory, as a result will only correlated with the hit information. A hit is each time a group of information is sent to Google Analytics, which are sent each time an interaction wants to be recorded on the tool (i.e page viewed, form sent, product purchased,…). Take a look at next picture.

Custom Dimension Session Expiration activation

Previous picture shows a navigation example within a session (‘session’ term is covered on the next tab), and each user action is translated to Google Analytics as a Hit. Realized that we set up Custom Dimension as a ‘3’ value on Hit number 3, that means the ‘3’ value will only be combined inside Google Analytics reports with this hit information. Above image is a theoretical example, let’s figure out what a hit exactly is and what information it loads.

Google Analytics Hit Debugging

Google Analytics Collection parameters list

Now imagine above two custom dimensions are storing our data example: Number of subscription months and Name of subscription workshops. If we set up this dimension with Hit value expiration, only at the first page the user viewed after login (and all data associated to ‘pageview hit’ such as browser language, page title, page name,…) will be correlated with the custom dimensions, and it basically means that when our marketers friends use the segment we’ve prepared only will view one page, again, that page user lands after login. That’s not a good deal at all as we want to see all pages that users are visiting in their 3th month on cake workshop subscription.

Session expiration value

Session expiration value means that the Workshop name and Number of months Custom Dimensions will have a ‘session’ memory, as a result these dimensions will be correlated with all hits fired in that session. A session is a bunch of hits (remember a hit is each time information is sent to Google Analytics, in fact each action tracked is a hit):

Session Google Analytics

There are two important things to know for well-interpret above image: Session duration and Precedence. Regarding session duration, Google Analytics expires the session if:

  • No new hit is sent to Google Analytics server within 30 minutes from the time when the last hit was sent (means 30 min of user inactivity on the page).
  • A user return to your website via a different campaign source (means ‘utm_source’ value parameter differs than the last one).
  • Session automatically expire at midnight (11:59:59 pm).

About precedence, we just have to keep in mind that each time a Custom Dimension is set up in a middle of session, that value gets precedence and is automatically correlated with all previous hits of the session and the future ones, unless this custom dimension takes a new value, then again all previous hits will be overwritten by the new value and the next ones will apply that new value as well.

Let’s say you activate a session value expiration Custom Dimension as ‘3’ at the Hit number 3:

Custom Dimension Session Expiration activation

After that, what Google Analytics gonna do is correlate this value with all previous hits, therefore with all information these hits have loaded within the same session (Google Analytics doesn’t go through other past sessions).

Precedence custom session dimension

Also Google Analytics gonna correlation this value in the next possible hits within the same session, without be necessary set up custom dimension again.

Session custom dimension next hits correlation

If there is the necessity to change this value within the same session, then the custom dimension value will be overwrite all previous hits value within the same session with the new value, and apply this value on the next possible hits.

Overwrite Session Custom Dimension value

Coming back to our example, if we store Name workshop and Subscribed months in a session custom dimensions, apparently it’s gonna work as those values will be correlated one each page of the session but web developers will have to inform those values each time user returns to page once has been subscribed. So far, this option is obviously better than the Hit value expiration.

User expiration value

User expiration value means that the Workshop name and Number of months Custom Dimensions will have a ‘user’ memory, as a result that dimensions will be correlated with all hits fired in that and the next sessions. A user is a bunch of sessions (remember a new session appears each time user comes back to website with a different source campaign, remains on page more than 30 min without any interaction or is navigating during midnight).

A user is the closest concept to a person as identify one device with one browser together as a one person concept. Following the session example, let’s imagine that we set up a Custom Dimension on Hit number 3 of the first session:

Custom Dimension User level

After that, like as the sessions, what Google Analytics gonna do is correlate this value with all previous hits, therefore with all information these hits have loaded within the same session (Google Analytics doesn’t go through other past sessions neither for user level dimensions).

Custom Dimension User level Precedence

Now imagine a user that has fulfilled the subscription form, and an appropriate confirmation email has been sent. In the email, user clicks on confirmation link that takes he to configuration page in order to establish his username and password (from 5th hit of 1th session to 1th hit of 2th session). As you already know, each time user comes back with a different source, new session is created and since our Custom Dimensions are user level, the value is correlated with the first hit (and with the next ones) of the second session without the necessity of web developers send again those values.

Custom Dimension User level next hits

But… what happen if in the 2th hit of the 2th session we change the Custom Dimension value? Well Google Analytics only will overwrite the current session hits as he never goes through past sessions:

Custom Dimension User level next hits

Coming back to our example, if we store Name workshop and Subscribed months in a user custom dimensions, apparently it’s gonna work as those values will be correlated one each page of the current and future session without web developers have to inform those values each time user returns to page once has been subscribed. This approach is better than the other ones, so simplify the thing and web developers only has to inform the value when it changes, and that’s all!

Product expiration value

Product expiration value means that the Workshop name and Number of months Custom Dimensions will have a ‘product’ memory, as a result that dimensions will be correlated with all product information (important, only product information) sent on a hit. Value expires once hit has been triggered, so if we want to correlate an extra information with a product each time user interacts with it, that custom dimensions have to be sent on each hit.

Custom dimension product expiration

Above image shows how in each hit where a product is involve (View Product, Checkout Step and Purchase), we should attach a custom dimension with ‘3’ value and by doing that we will be able to correlate this value with this product on Google Analytics product reports. In our example, this expiration makes no sense since we want to bind Name workshop and Subscribed months to someone not to some product.

Adobe Analytics

Hit expiration value

Hit expiration value in Adobe Analytics means exactly the same that on Google Analytics, which is the Workshop name and Number of months Conversion Variables (eVars) will have no memory, as a result will only correlated with the hit information. A hit is each time a group of information is sent to Adobe Analytics, which are sent each time an interaction wants to be recorded on the tool (i.e page viewed, form sent, product purchased,…). Take a look at next picture:

eVar Hit expiration Adobe Analytics

Previous picture shows a navigation example within a visit (‘visit’ term is covered on the next tab and equals to ‘session’ term in Google Analytics), and each user action is translated to Adobe Analytics as a Hit. Realized that we set up Conversion Variable (eVar) as a ‘3’ value on Hit number 3, that means the ‘3’ value will only be combined inside Adobe Analytics reports with this hit information. Above image is a theoretical example, let’s figure out what a hit exactly is and what information it loads.

Adobe Analytics Hit Debugging

Adobe Analytics Collection parameters list

Now imagine above two conversion variables are storing our data example: Number of subscription months and Name of subscription workshops. If we set up this variable with Hit value expiration, only at the first page data the user views after login (and all events/conversion variables associated to ‘pageview/event hit’) will be correlated with the conversion variables, and it basically means that when our marketers friends use the segment we’ve prepared only will view one page, again, that page user lands after login. That’s not a good deal at all as we want to see all pages that users are visiting in their 3th month on cake workshop subscription.

Visit expiration value

Visit expiration value means that the Workshop name and Number of months Conversion Variables (eVars) will have ‘visit’ memory. ‘Visit’ concept means the same than ‘Session’ concept in Google Analytics (there are some differences), but in this case when an eVar is attached into a hit, won’t be any correlation with previous hits on that visit but yes with next hits on that visit.

Visit Adobe Analytics

There are two important things to know for well-interpret above image: Visit duration and Allocation. Regarding visit duration, Adobe Analytics expires the session if:

  • No new hit is sent to Adobe Analytics server within 30 minutes from the time when the last hit was sent (means 30 min of user inactivity on the page).
  • 12 hours of consistent activity. If a user fires hits requests without a 30+ minute gap for 12 hours, a new visit automatically starts.
  • 2500 hits. If a user generates a large number of hits without starting a new session, a new visit is counted after 2500 hit requests.
  • 100 hits in 100 seconds. If a visit consists of more than 100 hits that occur in fewer than 100 seconds, the visit automatically ends.

About allocation, we just have to keep in mind that each time a Conversion Variable (eVar) has been setting up, it’s necessary to indicate what value has to retain an therefore, what value has to correlates when next events take place. As a variable, eVars can take different values, in fact each time we send a new value, it changes. Adobe Analytics provides a feature that allows to chose which one of the multiple possible values the Conversion Variables have to retain:

  • Original Value (First): The first value that an eVar has had is which is correlated when an event takes places, no matter subsequent values the variable has had.
  • Most Recent (Last): The last value an eVar has had is which is correlated when an event takes places.
  • Linear: All eVar values within the same visit will receive equal divided credit once an event takes place.

Let’s say you activate a last value allocation visit value expiration Conversion Variable (eVar) as ‘3’ at the Hit number 3:

eVar Hit expiration Adobe Analytics

After that, what Adobe Analytics gonna do is correlate this value in the next possible hits within the same visit, without be necessary set up conversion variable again.

Adobe Analytics visit eVar

If there is the necessity to change this value within the same visit, then this new conversion variable value will be correlated with next hits and apply this value on the next possible hits but the previous ones, will maintain the ‘event-eVar’ association with the previous eVar value. Notice the difference compared with Google Analytics.

Change eVar value visit

Coming back to our example, if we store Name workshop and Subscribed months in a visit conversion variable, apparently it’s gonna work as those values will be correlated one each event of the session but web developers will have to inform those values each time user returns to page once has been subscribed. So far, this option is obviously better than the Hit value expiration.

NOTE: Realize that in Adobe Analytics the Conversion Variables are only correlated with Events and for example no with Traffic Variables (page name, page section,…) but when we take advantage on segments, tool is capable to know ‘in what pages an specific conversion variables was fired with an specific value’.

Never expiration value

Never expiration value means that the Workshop name and Number of months Conversion Variables (eVar) will have a ‘user’ memory. ‘Never’ concept means the same than ‘User’ concept in Google Analytics, but in this case when an eVar is attached into a hit, won’t be any correlation with previous hits on that visit but yes with next hits on that and next visits. A user is a bunch of visits.

A user is the closest concept to a person as identify one device with one browser together as a one person concept. Following the session example, let’s imagine that we set up a Conversion Variable (eVar) on Hit number 3 of the first session:

Adobe Analytics User eVar hit

Now imagine a user that has fulfilled the subscription form, and an appropriate confirmation email has been sent. In the email, user clicks on confirmation link that takes him to configuration page in order to establish his username and password (from 5th hit of 1th session to 1th hit of 2th session). Let’s imagine user do that afterwards thirty minutes without any page interaction so new session is created and since our Conversion Variable is never expires level, the value is correlated with the first hit (and with the next ones) of the second session without the necessity of web developers send again those values.

user custom variable eVar

But… what happen if in the 2th hit of the 2th visit we change the Conversion Variable (eVar) value? Well Adobe Analytics starts to correlate this new values on that and next hits as he never goes through past hits:

cross sessions eVar

Coming back to our example, if we store Name workshop and Subscribed months in a never exipres conversion variable, apparently it’s gonna work as those values will be correlated one each event of the current and future sessions without web developers have to inform those values each time user returns to page once has been subscribed. This approach is better than the other ones, so simplify the things and web developers only has to inform the value when it changes, and that’s all!

Product expiration value

Product expiration value in Adobe Analytics means exactly the same that on Google Analytics, which is the Workshop name and Number of months Conversion Variables (eVar) will have ‘product’ memory, as a result will only correlated with the product information. The difference from Google Analytics is that Adobe Analytics has an especial variable for that purpose, called Merchandising Evar. Apart of that, there is another difference as there are two kinds of Merchandising eVars: Product Syntax and Conversion Variable Syntax.

Product Syntax kind is exactly the same concept viewed above for Google Analytics, where on each hit in which a product appears and some extra information is needed, a Merchandising eVar has to be attached in aims to correlate the product information with that Merchandising eVar:

merchandising eVar expiration

Conversion Variable Syntax is used when we want to add extra information to a Product but this information is not available on pages where hits in which products are involved are sent. Coming back to our example, imagine there is a video on page that explains how subscription works and we look for figure out if that video is viewed before a subscription has done and in what workshops the video has been watched more before subscription.

As we don’t have this information on subscription success page we need some mechanism to bind this information previously to subscription takes place and this mechanism is Conversion Variables Syntax Merchandising eVar.

Conversion Syntax Variable Merchandising eVar

When Conversion Variable Syntax Merchandising eVar is set on the video watched hit in above image (with last value allocation), then without send it again, on each hit in where a product appears, the value will be automatically correlated with this specific product, so we will be able to figure out on which workshops the video is contributing to get more subscriptions. In our initial example, this kind of expiration makes no sense since we want to apply Name workshop and Subscribed months to someone not to some product.

Time expiration value

Time expiration value means that the Workshop name and Number of months Conversion Variables (eVar) will have a ‘time’ memory, as a result that dimensions will be correlated with all hits fired in that and the next sessions until time defined arrives. Adobe Analytics allows to expires eVar value on a minute, hour, day, week, month, year or custom (you can define how many days do you want to correlates eVar value).

Values set in time expiration works similar to user expiration ones, the value is correlated until time defined arrives. For example let’s say we send a Custom Variable in the first hit of the first session because a new promotional banner is on page so we wanna correlates eVar value with next events while banner remains on website so with aim to do that, we’ve to expire eVar value when banner campaign finishes.

Below example show what happens when user visits website for the first time when the banner was there and what happens when user comes for second time and there is no banner:

time defined eVar expiration

Coming back to our example, if we store Name workshop and Subscribed months as a time expiration, we prevent correlate these values when there are gaps between subscription times (a gap is considered when a subscription expires and few days goes by until it’s renewed). Following the example, we have to be careful when user renews, so if does it, an eVar should to be sent again with a value. That assumption leads to another question: What if user can renew for specific time? We cannot change dynamically the expiration eVar option so using that kind of expiration in this case could become misleading data.

NOTE: Time expiration variables (eVar) renews expiration time each time an eVar receive a new value. If an eVar is setting up as 60 days expiration, it receives value on the first user hit and if when 30 days have passed we pass a new value, automatically the expiration time will be again 60 days.

Event expiration value

Event expiration value means that the Workshop name and Number of months Conversion Variables (eVar) will have ‘event’ memory, as a result that dimensions will be correlated with all hits until event takes place.

Following our example, this method is definitely the best, so we can expire Workshop name and Number of months Conversion Variables (eVar) when a user unsubscribes:

event defined eVar expiration

Realize that this is the best option, so we activate eVars just when users are signing up and expire them when they are unsubscribed, therefore we’ll be able to correlate only and just only those hits under whose users have been navigating under ‘subscription’ condition.

If you was not familiar with it, I know you are thinking… (my goodness! what I’m doing here?) Keep calm and read it again until you be mindful about the differences, possibilities and implications by choose one or other tool (if you have the opportunity to choose it… unfortunately, usually choose the tool who should not).

There is no best tool between Google Analytics and Adobe Analytics if not that each one simple fits with a certain type of business, and it’s your job guess it! A part of that, there are a lot of more features that will be covered on next posts that could help you to take a good decision.

This is just an example of how complicated the things can be depending the tool you choose and what I really want you to understand is that before any technical decisions about tools, data layer development or whatever stuff, you have to understand business requirements and then know how translate them to Google/Adobe Analytics (or to whatever tool you’re using).

Hope this helps you and please, let me know your thoughts!

Your comment

Your email address will not be published. Required fields are marked *