Recently, Google released an upgraded version of Google Analytics as “Google Analytics Premium“. We had been following some conversations on Twitter about it and have been speaking to clients about important features of premium. One of the key features that users of Google Analytics Premium are going to enjoy is having the ability to use 50 custom variables.
This if implemented well, can save tons of hours in analysis, and reporting. IMHO, this is probably the most valuable feature of GA premium compared to other features more shiny features. (if you disagree, feel free to shout out) During several conversations, it struck me that a lot of analysts would have a hard time figuring out how they can use 50 custom variables and I thought it would be great if I just put down, how would I use it in standard ways for different categories of websites. i.e. E-Commerce, Lead Gen & Content.
Therefore, I am starting a blog post series to explain how best to use 50 custom variables in Google Analytics for an e-commerce site, and in the following weeks, would talk about other types of websites.
As we are aware there are three different types of custom variables available:
Visitor Level: Used for tracking interactions of a visitor across multiple session
Session Level: Used for tracking within session activity of a user.
Page Level: Used for tracking page-level activities ie. Button clicks etc.
All custom variable keys & values are stored in cookies and they expire at different times. For e.g. Page level custom variable value gets expired when the user moves to the next page, visit level gets expired when the visit is ended.
Here is the starter list of custom variables for Page Level:
- Page type:
Name the type of page. You can track different page types. One way to do it is to use the research that Gary Angel & team researched on functionalism.
- Search Results Rank:
For all the e-commerce sites, this becomes vital to understand how the internal site search is performing. There are ways to do it, but knowing the search ranking of your internal site search would tell you if you need to tweak there or not. I also had an old blog post on the value of internal site search if you may want to review the importance of it.
- Wishlist ID:
If you have a wish list, you should capture its id there to help measure which products are being added to the wish list. You can have the wishlist ID & the SKU as key-value pairs respectively.
- Product View – Product SKU:
An extremely important data in e-commerce that gets frequently missed is product conversion rate. i.e. ratio of product purchase to product views. The key value pair here could be product view & SKU or product name.
- How much % of the total page, the window is viewing:
A lot of time, you need to understand how much scroll users are doing as most of the time users would not be scrolling down and some of the important communications that are in the second fold of the page get ignored. The key & value pair could be oc-<url of the page> & % of page viewed. You can use some of the nice plugins like this(need to find the link) to achieve this or use analyticsengine.net to get it done. This should be page-level. Here is a good resource to get started
- Product Category:
Product category should be tracked to understand the relative popularity of a given category and since this is tracked only on a category page, the key-value pair could be product-cat & category name/category id.
- Variation/Size of Product:
Often lifestyle stores would have additional items that a visitor needs to select. For example, size in the case of clothes/shoes. This should be an onclick type of call that should fire setcustomvar function.
- Color of the product:
Again this is more applicable for lifestyle e-tailers, but significantly important as different colors can fetch different pricing.
- Filter Type/Sort By:
Often on a category page or similar page, your e-commerce stores may be displaying products in the default way, but you may have the functionality to display prices from low to high or something similar. You must track if there is a change in the filter. Key Value pair could be filter type-> values in dropdown.
- Internal Promotion ID:
A lot of large websites have multiple sites, and multiple divisions owning different web properties. If there are internal promotions that are carried out, you need to track them specifically. The key value pair here could be IPID & nomenclature that is used for internal promotions.
- Cart Add -Product SKU:
A brilliant understanding of shopping cart behavior could be possible when you understand how many & which products are added to a shopping cart by users. The key value pair would be cartadd & product sku/product id/product name.
- Cart Remove – Product SKU:
Similar to the above, it would be a great understanding to learn which products are being removed from the carts and what do people after removing the cart. A key-value pair for custom variables could be cartremove & product SKU/product id/product name
- Cart View – Product SKU:
Another super duper dimension that you can generate with the Cart View is to understand how many times the cart is viewed without another product being added. A key value pair here could be cartview & product sku/product id/product name
- Add to Compare – Product SKU:
If your website is having comparison ability, you have to understand which SKUs are getting compared the most & you need to track this information.
- No.of Search Results:
Google Analytics has great tracking abilities for internal site search; however, one critical thing to understand is # of search results for a given search within the site. When you see 0 results or fewer results for any keywords, that will be a great pointer to understand. A key value pair could be SR count & integer displaying no.of search results.
- Product SKU- Product Ratings:
If you are using services like Bazaarvoice or similar which provides product ratings, you should track it to understand if there is any correlation between higher product ratings & increase in the revenue of the product which I believe there is. A key value pair would be rating & SKU/product id/product name.
- URL – Action (Print, Share, Email, Favorite ):
This is very subtle, but a lot of product pages have a few actions that some of the users do perform that are not social in nature, but important to know. They are generally, printed, shared, emailed, or mark it as Favorite. To track this the key-value pair could be the URL & action name.
- Discount % on the product page:
If you are offering a discount you should track it to understand how different discount works. The key value pair here could be product SKU & % discount.
- Product Brand Name:
It has been very interesting to know the X & Y dimension of any links that being clicked. You can always identify where on a page the link is placed has a higher likelihood of getting clicked. The key could be the Link location & value could be x & y coordinates. If you are selling products of different brands, and you would like to know which brand is more popular, you should have key-value paired with the brand & values of a brand name that exists on the product page
- Link Location on the page:
Most of these are suggested as page-level variables but you can have at least some of them used as visit levels and have it expire on the transaction page as well if you want to. There are benefits to it and disadvantages as well, but I’d talk about them at some other time.
Visit level Custom Variables
- Coupon used:
If you are a heavy player on coupons, you ought to understand how the coupons are used. Are users just redeeming or also purchasing after redeeming as well. The key-value pair could be coupon – coupon_name+discount.
- No.of browser Plugins:
If your target market is technology-related website visitors, it would be interesting to understand their browser usage via how many plugins they have downloaded. With this script, it tells me that I have 18 plugins installed, and I am fairly technical so you classify, how many users with strong technical backgrounds visited your website. The key value pair could be no.of plugins & integer value coming out of that script.
- Local hour of the day:
The hour of the day report in google analytics reports at what hour (“from the standpoint of your timezone”) how many visits have come or how many leads / Revenue has been generated on a specific day in an hour. However, what you need to know is the visitors’ local time. So if you are in New York, it’s 1 pm, whereas, at the same time you are in San Francisco, you would have 9 am coffee. You need to understand, what’s the local time when people buy your product, irrespective of what timezone they are in. This will provide a huge understanding to you about your user’s buying patterns in terms of when they buy. Key Value pair could be local_hour & integer representing the hour. Further, you can also have value as morning/afternoon/evening/night defined based on different values of the hour for further simple analysis.
Often if you have a store that sells to more than one country knowing which currency the user bought your product with is more important. You can set it as a visit-level custom variable to be expired at the end of the transaction & start it to be populated when the user is seeing a product page.
- Recommended or normal product view
A lot of e-commerce stores have the ability to show product recommendations, Most web shop owners don’t realize how much important it is for them. Placing a custom variable to know whether the product view is recommended or not, helps a lot.
- No.of bookmark items in the browser:
# of bookmarked items provides the information about maturity of the user. The more items bookmarked, the more mature the user is & more likely to share your content.
- Google Search Results Position:
- Shipping Method:
The shipping method provides a highlight into what kind of shipping method is more likely to be used by users. If you are considering free shipping, you can also revise the workaround to get this going.
- Payment Type:
When users are presented with different modes of payment, it is very likely that these different payment methods cost you different charges associated with them, but knowing which payment method brings different volumes would yield, huge insights on what kind of plan to choose for payment type.
- No.of Cart Items:
At any stage visitors if you know the # of items present in the cart is an interesting fact to know. It also helps to figure out how users add the second product to the cart & how long it takes them to do so. You may have to rewrite some cookies here if you choose this as a session variable.
- Value of Cart Items:
Related to #30, if you know the value of cart items during different visitor activities, it helps you identify, what is the avg. wallet-size users are willing to shell out for your products.
- Minutes to Complete Purchase:
It would be interesting to know & to evaluate the effectiveness of webpages leading to product pages to understand how long it takes to have a user complete the purchase starting from a session. If you see that it takes less than a minute for users to finish it, you might want to break it down by a count of visits to see if these are repeat visitors who are just coming back to buy something that they already have planned.
- Minutes to add the product to the cart:
Similar to #32, it would be a great help to understand how long it really takes users to add a product to a cart. This information measures the effectiveness of category pages & product details pages.
- Shipping City:
Knowing the shipping state & if broken down by city helps you figure out whether users are buying your products for themselves or they are buying for others.
- Product Stock Status (in stock, out stock)
Quite often when a product goes out of stock a webmaster would get a notification & it would be taken away. A smarter way is to keep it there and add a couple of lines “Notify me when this is available”. When you track such things you are aware of the popularity of some of your products that are out of stock.
- Name of Product Manager/Brand Manager:
For large corporations, different sets of web properties and products/brands are handled by different brand managers. Even product promotions have different strategies. At the end of the day, it boils downs to a single person. Brand Manager/Product Manager. To know how effectively the web has been used by the brand manager & compare it with others, you may want to put the Name of the product/brand manager in the custom variable of course abbreviated.
- Product Margin type (high, low, medium):
Different e-commerce products have different margins knowing margins and how users react to products with different margins, would be a huge insight for a web analyst to promote different products. You don’t necessarily have to add the exact % of the margin just keep it at high, medium & low.
- Day type (weekday vs. weekend):
There are products that get sold on weekdays Or a few products, especially on weekends. Most people do not know about it, when you break this information with what has gotten sold or what’s the revenue proportion between weekdays or weekends, it would help immensely in devising new product launch strategies. You can also append it to have information on whether this day is a holiday or not to understand if your product is bought more when people are at work or whether it is bought when people are at home.
- Location Type (metro vs. Non- metro):
Geography, when classified appropriately, i.e. metro area vs. non-metro area, it helps to figure the difference in avg. order value. You can change your Adwords strategy based on it.
- Market Type:
Most large companies have their own defined market types, done in a variety of ways that are beyond my imagination. Having market type placed in Google Analytics would help to measure market type performance within Google Analytics itself.
- Deal of the Day:
Most e-commerce sites these days offer the deal of the day, knowing that this product is sold via the deal of the day will help you figure out what kind of products to be offered for the deal of the day. The same strategy of measurement can be used if you have a deal of the week instead of a deal of the day.
Visitor-type custom variable
- Visitor ID:
Hugely important if you are doing some custom analysis or prediction for data collected, having a primary key is of utmost importance. However, as per TOS #7, you can not use it to match it with any personally identifiable information of users.
- Registered/Non-Registered User:
Lots of times, you have buyers who may have registered earlier, but now coming back to buy a second time. If you are doing some analysis like, customer life cycle value, categorizing visitors based on registered or non-register would be hugely helpful.
- Password reset:
Sounds very trivial but to me, it’s most important. These days, people don’t bother to remember less than a critical password, if a lot of users are sending reset password requests, this might be alarming to you might want to consider guest checkout or may be signing up with Facebook.
- Buyer Type (new buyer vs. returning buyer)
You can always have data about whether this visitor is a repeat visitor or not, but it’s seldom the same as a new buyer vs. returning buyer. The new buyer is the one who registers with you to buy the product whereas returning buyer is the one already registered with you to buy the product. You can have more criteria to decide whether this is returning buyer or a new buyer, but whatever they are, an important fact is, you have to know whether this transaction is by a repeat buyer or a First-time buyer. What this essentially means is that you ought to have a better methodology to identify a repeat buyer than just Cookie 🙂
Got it, so where does the rest of the 5 other variables exist? I thought hard about it and realized that if you have read this far, You would have certainly a few ideas that I couldn’t think about, if you do, share them and we can make the rest 5 custom variables together :)!
Hope you enjoyed it! let’s give a few more custom variables to the next reader 🙂
Thanks Ravi; that was a great list. I am going to print this. I also like that you guys are now sending newsletters. Keep up the good work!
Great list of variables! I would also recommend tracking website performance metrics.
We know that a slow website leads to lower conversion rates, but we have never been able to quantify it. In modern browsers, you can now find out how long the page took to load. So, it should would now be possible to co-relate page load times to conversion / dropout rates.
This page has some additional information on this – http://calendar.perfplanet.com/2011/a-practical-guide-to-the-navigation-timing-api/
Thanks Ravi for this amazing post…
I want really want to play with google analytics and i want to customize it more for a static website. Is it possible to customize it for a static website..?
Wow. And this is indeed informative. After analyzing this list, I realized that maybe I was mistaken in some of the features of this service. It is worth trying this time to do everything right. Thanks you.
Thanks for reading!