Author Archives: Ravi Pathak


Ravi Pathak

About Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

How to make tagging plan for Google Analytics|Google tag manager

A Tagging plan is a running document that web analysts and implementation teams uses to keep track of data collected from respective web analytics tool. When starting some engagement for Google Analytics, many times, I have seen enthusiastic developers firing GA events everywhere and the possible claim being we are tracking everything, but when asked for why it is getting tracked, most of them lack proper reason. The standard Google Analytics tracking code works great for basic tracking. And most online businesses can benefit from careful planning and using the advanced tags, such as Events or Custom Variables, Custom Dimensions etc. Documentation in such cases is very very important to keep a good control over your web analytics tool.

Why A Good Tagging Plan Is Important ?

1. Data Quality & Testing
All your great data analysis & reporting is a function of good data. Good data will enable your team to take fruitful(in our case ROIData Quality generating) data based decision. As a web analyst, I see this as a huge win for carrying out other heavy duty analysis.

In absence of good documentation support, what tags are firing, and what data-points are collected will not be coherent. Often as an analyst, you will not know/remember what tags are firing on what page and eventually, lose the track of data collected and its meaning.

Moreover, with good tagging plan, you can use tools like hubscan to make it easy for tools to carry out automated testing of data collection & improve the quality of data collected by Google Analytics/Adobe SiteCatalyst.

2. Smoother Entry To Your Analytics Team
A good tagging plan ensures that every analyst/developer within the organization will know which tag fires on what pages related conditions for it.

This ensures smoother entry for any new analyst. Quite often analyst would have backgrounds in statistics & data analysis theoretically but not how to practically carry out data analysis and what tools or techniques facilitates the same. This sort of plan helps them understand what data is available and how they can make use of this data for their analysis.

3. Agency CollaborationAgency Collaboration
When you have many agencies working for you for different campaigns, having different teams follow one standard practice of data collection is of huge advantage. With a good tagging plan & standard guide, you can just ship it over to agency who is launching new site so that Agency IT team exactly knows what are they suppose to do for different tags.

What Is The Content Of Good Tagging Plan?

1. Analysis And Regular Reporting
A tagging plan must have a background information of what analysis & reporting is required. This way tagging plan can ensure that the required data is being collected in the desired format. A tagging plan must have report samples and current & future analysis planned so that data collection is smooth.

2. Coverage Of Domains, Pages
A good tagging plan must have coverage defined in form of which all domains a given tagging plan covers & what are pages (URI)are covered for customization. This should be generally in form of a spreadsheet that has at least following details.

3. Naming Convention & Standards For Custom Implementation
A standard naming convention helps in ensuring that data collected is consistent across multiple sites. For e.g. when we work with clients, we have following global rules that we follow:
a. Never use space in passing values
b. Always use lower case values for variables
c. Always use names with less than 30 characters
d. Always use names rather than IDs (e.g. use product name vs.product id)

When such global rules are set as an analyst, it is easy for new developer to develop new tags, or a new analyst to start new analysis project.

4. Configuration Details
Often what & how your data is available in your web analytics tool is decided by some configuration parameters for e.g. if you use filters & profiles in Google Analytics, you can see the entire URL of the page vs. the path that you normally see in content reports. Having a centralized repository for knowing the configurations, helps analysts to know in exact details as to what data he/she is seeing. Generally to start with Google Analytics it should contain the following:

List of goals & the URLs associated with it
List of profiles & associated filters with a purpose for each filter/profile
Settings summary (different settings for GA)

5. Campaign Tags
Most successful online business run a variety of campaigns e.g. adwords campaign, email campaign, publisher driven campaigns. Very likely these campaigns would run via different agencies or different internal teams. But data collection happens at a central place i.e. your web analytics tool. To ensure that all the campaigns are tagged properly so that campaign ROI is successfully measured, it is imperative that your tagging plan includes the details as to how different campaigns should be tagged. If you are using Google Analytics, this boils down to how you use the UTM parameters to track different pieces of incoming traffic to your website. A generic policy that we use is as follows:

Medium: Should be the simplest way to describe the general channel being used to draw visitors.
cpc (as a proxy for “paid search”), display, content-text (for contextual text ads), social, email, affiliate, pse (product search engine), video, local
Source: Should be a clear indication of where the traffic originated from. Should not include www. or .com (for consistency)
Campaign: Should describe the common feature(s) of a marketing effort, such as the name of the media campaign, target audience or geography, or the desired outcome
Content: Should provide any additional valuable context that could be used for optimization: ad copy and format, time sent (for social media or email), etc.
Term: Should only be used for paid search, but could include category targeting for display

To automatically append bulk URLs with these parameters, you can use this tool.

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Calender Heatmap with Google Analytics Data

As data analytics consulting firm, we think we are fortunate that we keep finding problems to find. Recently my team mate found a glaring problem of not having any connector for R with Google. With the inspiration from Michael, Ajay O, it soon become a worth problem to solve.

With RGoogleAnalytics package now, we have solved the problem of data extraction into R from Google Analytics a new breed of ideas started emerging primarily around visualization. I have been playing with GGplot2 has been great package to convert data into visualization. Thanks Dr. Hadley Wickham. Once you have Following this blogpost, you are with the code there in position to have data required to get these calendar heat map done. Take up below given code and paste into R console and play around to see if you find it easy working thru. If you have trouble, feel free to reach out to us.

Here is the code for extracting the Google analytics data using R-google analytics package. Before running the following code, download RGoogleAnalytics package and install it.

#Load RGoogleAnalytics library
library("RGoogleAnalytics")
 
# Create query builder object
query <- QueryBuilder()
 
# Authorize your account and paste the accesstoken 
access_token <- query$authorize()  
 
# Create a new Google Analytics API object
ga <- RGoogleAnalytics()
ga.profiles <- ga$GetProfileData(access_token)
 
# List the GA profiles 
ga.profiles  # select index corresponds to your profile and set it to query string 
 
# For example if index is 7 of your GA profile then set ga.profiles$id[7] in 
# query$Init() method given below
# Build the query string 
query$Init(start.date = "2010-01-01", # Set start date 
           end.date = "2012-12-31", # Set end date
           dimensions = "ga:date",
           metrics = "ga:visits,ga:transactions",
           max.results = 10000,
           table.id = paste("ga:",ga.profiles$id[6],sep="",collapse=","),
           access_token=access_token)
 
# Make a request to get the data from the API
ga.data <- ga$GetReportData(query)  # data will be stored in this data frame
 
# Set date in format YYYY-MM-DD (to use into heatmap calender)
ga.data$date <- as.Date(as.character(ga.data$date),format="%Y%m%d")

For this example of Calender heatmap, I am using data of an e-commerce store with having data for more than 2 years in business. I will be plotting visits as well as transactions on calendar so that I’d get perspective on how they interact viz-a-viz timeline.

Here is the code for plotting the heat map after you get data and have it store in 'data'. This frame is used to reference the source of data for the visualization below.

# Recommended R version - 2.15.1 or higher 
# install required  library by using the command install.packages(“libraryname”)
# For example install.packages(“ggplot2”)
# Required library
library(“quantmod”)
library(“ggplot2”)
library(“reshape2”)
library(“plyr”)
library(“scales”)
 
# Set extracted data  to this data frame
data <-  ga.data 
 
# Run commands listed below
data$year <- as.numeric(as.POSIXlt(data$date)$year+1900)
data$month <- as.numeric(as.POSIXlt(data$date)$mon+1)
data$monthf <- factor(data$month,levels=as.character(1:12),
                      labels=c("Jan","Feb","Mar","Apr","May","Jun",
                               "Jul","Aug","Sep","Oct","Nov","Dec"),
                      ordered=TRUE)
data$weekday <- as.POSIXlt(data$date)$wday
data$weekday[data$weekday==0] <- 7
data$weekdayf <- factor(data$weekday,levels=rev(1:7),
                        labels=rev(c("Mon","Tue","Wed","Thu","Fri","Sat","Sun")),
                        ordered=TRUE)
data$yearmonth <- as.yearmon(data$date)
data$yearmonthf <- factor(data$yearmonth)
data$week <- as.numeric(format(as.Date(data$date),"%W"))
data <- ddply(data,.(yearmonthf),transform,monthweek=1+week-min(week))
 
# Plot for visits
P_visits <- ggplot(data, aes(monthweek, weekdayf, fill = visits)) + 
  geom_tile(colour = "white") +
  facet_grid(year~monthf) +
  scale_fill_gradient(high="#D61818",low="#B5E384") +
  labs(title = "Time-Series Calendar Heatmap") +
  xlab("Week of Month") +
  ylab("") 
 
# View plot
P_visits
 
#Plot for transactions
P_transactions <- ggplot(data, aes(monthweek, weekdayf, fill = transactions)) + 
  geom_tile(colour = "white") +
  facet_grid(year~monthf) +
  scale_fill_gradient(high="#D61818",low="#B5E384") +
  labs(title = "Time-Series Calendar Heatmap") +
  xlab("Week of Month") + 
  ylab("") 
 
# View plot
P_transactions

Once you run the code, you will be in position to get output like below:

Now that we have a calendar heat map for visits, let me pull it off for transaction. In the above code for Google Analytics data extraction you have use transaction as well as visits as metrics. Since the data is already available in the ‘data’. we are ready by changing in code of visualization to choose the heat map for transaction now.

Its quite interesting now that you can make super nice inferences like I did below:

  • Tuesdays have high visits days but wed has been the day when most transactions occurs
  • Visits increases towards the end of year (shopping season) and then slows down towards year start

Visualization is an interactive process. Based on the feedback received from some of our readers, I tried plotting both the KPIs on the same graph. With ggplot2, it was as simple as adding a line of code. Again some minor tweaks in the background colours and we are ready with another heat map.

ggplot(data, aes(monthweek, weekdayf, fill = visits)) +
 geom_tile(colour="white") +
 facet_grid(year~monthf) + 
 scale_fill_gradient(high="steelblue",low="white") +
 theme_bw() + 
 geom_point(aes(monthweek, weekdayf, size=transactions,alpha=transactions),color="firebrick") +
 theme(panel.grid.minor=element_blank(), panel.grid.major=element_blank()) +
 labs(title = "Time-Series Calendar Heatmap") +
 xlab("Week of Month") +
 ylab("") 

Would you like to understand the value of predictive analysis when applied on web analytics data to help improve your understanding relationship between different variables? We think you may like to watch our Webinar - How to perform predictive analysis on your web analytics tool data. Watch the Replay now!

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Shopping Cart Data Analysis-Ecommerce

Of late we are working a lot on predictive modeling for e-commerce data and implementing interesting ideas using GA. Lot of our analysis leads to one conclusion that the lower end of the funnel is almost always presents lot of opportunities for improvement.

One of the other interesting problems that we encountered was to connect with the product manager who is interesting in optimizing the inventory and making sure that he learns usage patterns at a lower end of the funnel for different product. To tackle this interesting challenge, we had to get lot of data for products SKUs & have user action as metadata for these SKUs.

Data collection

We added following four interesting user actions on product page of an e-commerce stores, with the purpose to get a uniform metadata around product. The way we used the Event tracking here was

_trackevent(category, action, opt_label, opt_value,opt_nointeraction)
nomenclature : _trackevent(pp-product view, gender,product code+brand,price,true)

which can be converted into sample code that can potentially look like this ;

_gaq.push([‘_trackEvent’,’pp – product view’,’women’,’abc12332423’,’1999’,true])
  • Product view
  • Add to Cart
  • Feature selection
  • Wishlist addition

This can easily become a standard to use when user adds product to cart, or selects a color or adds a product to wishlist.

This way we extracted metadata of products along with additional metrics for the product to help product manager gauge what’s going on with the lower end of the funnel, which typically comprises of cart & check out pages.

If you have done several e-commerce implementations you can clearly realize that this method can provide very effective metadata for each product, in form of categorical variables like ,which gender it is aimed towards, brand & action occurring on this product (i.e. view, add to cart, feature selection, wishlist addition). The other additional ordinal variable data that is possible to beget is time spent on product , views, unique views, etc.

We also added similar type of event tracking implementation on cart page, which effectively also helped us provide product metadata

_trackevent(cp-product removed, gender, product code + size+brand,product proce,true)

That eventually translates into values like  below:

_gaq.push([‘_trackEvent’,’cp – product removed’,’men’,’xyz10234’,’1500’,true])

At the end of this implementation you would stand gaining such a beautiful set of data that you can do wonders with. Click on the image below to see the larger version of data yourself.

Product revenue table

[click on image for full-size image]

Above data clearly will help to establish a relationship of each individual products revenue with its # of instances of cart addition, # of instances of removal, # of instances of view as well.

Using this dataset, we can create a visual representation of how the relationship between product views  & product revenue exists as below, thanks to ggplot2 & R

Item revenue in Rs.

All the products which falls in the area of above the curve, ie. High product views but low on revenue, needs work to be done. For such products a different strategy may be required, may be a specific campaign or a discount or something, but these are those products which are getting viewed but not bought.

Additional research can also be done to check what the relationship with product views is & cart add like below:

Cart add - Unique views

Dots in above chart represents # of people viewed the product vs. # of people added it to cart. Clearly there are products which people are not adding to cart and require further research as to whether it is due to price, or shipping or competitive pressure that people are not considering to add this product to cart.

In the next post, I’d describe a linear relationship model that is able to predict the quantity of product sold based on factors such as views, alerts set, wishlists etc.

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Shopping Cart Value Vs. Page Depth in Google Analytics

I have been quite interested in machine learning and how the data visualization is expanding using different machine learning languages like R & Octave.

In a recent e-commerce project, one of the needs was to understand how people add & remove product to the cart. The more important question is how often & when the engagement with the site leads to the increase in the cart value.

To understand this we had added to the custom variable which contained cart value that gets fire on each page. That seems like below:

var _gaq = _gaq || [];
_gaq.push(['_setCustomVar',
2, // This custom var is set to slot #1. Required parameter.
'cartvalue', // The name of the custom variable. Required parameter.
'0', // Sets the value of 'Cart' depending on status. Required parameter.
2 // Sets the scope to page-level. Optional parameter.
]);

Above code ensure that a custom variable will fire a call on every page containing value of the shopping cart at a given page.

And we had page depth which is a pseudo indicator of how people progress towards the site.

To understand the relationship between cart value & the page depth, we extracted following data i.e. what is the value of page depth & cart value for different visits.

The data looked like below:

Relationship between cart value & the page depth

(note: we are using R & ggplot2 to analyse the data)

If we plot the chart with page depth as horizontal axis & cart value as verticle axis, It summarizes that after page depth is  20, cart value increases but after 30 till 40, the rate of increases is significantly faster. Also if you notice the brown colored cover around the line is an indicator of variability at that point in axis.

Page depth vs Cartvalue

Interestingly when you plot this chart along the actual revenue vs. page depth chart, you start seeing the difference.  Addition to the cart is a happening after 20 page depth but that doesn’t seem to be translating to the actual revenue.

Page depth vs Cartvalue 2

So is it to conclude that lot of products are getting added to cart after specific amount of pages being viewed but that doesn’t get translated into revenue?

I’d differ here as I unearthed more  relationship of pagedepth & visits as depicted below:

Page depth vs Visits

The drop if you see from 5th Page depth to 20th is significant but that is not as fast a drop that you would see in revenue when you do this. This means that the visitors that are between 10-30th page depth are best of your visitors who are great at getting themselves converting from browser to buyer.

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Launched Multi Profiles feature for Google Analytics Excel Plug-in

Recently, we had some of excellent clients who have been demanding a unique feature that reduces time for analysts who manages larger accounts with more profiles.

The request was to have ability to extract multiple profiles data within one query. The use case was:

“I manage about 38 countries dashboard within one google analytics accounting with 38 profiles dedicated for each country. I have to compare visits, time on site, etcs all the time and the only way to do it is via creating many more queries in excel plugin- Is there a better way “

And we said “yes”. We figured that if we allow the country name to be extracted from list of profile names written in excel, we can pass that in our query and have it extracted from Google Analytics.

Here is the quick video representing the same.

In addition to this, we also have worked out similar solution for advance segment. For e.g. if you have 10 advance segments that you would like to compare for their performance against the same metrics, you can do the same as described in the above video for profiles.

As we continue to build more features, we are more committed to listen to ideas that you are looking forward to automate, please feel free to reach out to us if you have any feedback or feature request for Tatvic google analytics excel plug-in.

Note: To use this feature, you’ll need to update your Tatvic Excel plug-in. Here’s how to do it:

  1. Before loging-in to the tool, click on “Check for update”.

    How to update Tatvic Excel Plug-in

  2. Click on the link that appears at the bottom of the tool.

How to update Tatvic Excel Plug-in

Done, enjoy the feature now.
Thanks again!

Would you like to reduce the amount of time you usually spend on data extraction from your Google Analytics / Google Adwords account? We think you may like to watch our Webinar – How to simplify and automate data extraction process using Tatvic Excel Plugin. Watch the Replay Now!

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

50 Custom Variable For Google Analytics Premium

Recently, Google released an upgraded version of Google Analytics as “Google Analytics Premium“. We had been following some conversation 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 ability to use 50 custom variables.

This if implemented well, can save ton of hours in analysis, 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 to me that lot of analyst would have 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 category of websites. i.e.  E-Commerce, Lead Gen & Content.

Therefore, I am starting of a blog post series to explain how best to use 50 custom variables in Google Analytics for an e-commerce site and in 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 key & value are stored in cookie and they expire at different time. For e.g. Page level custom variable value gets expired when user moves to next page, visit level gets expired when visit is ended.

Here is the starter list of custom variables for Page Level:

  1. Page type:
  2. 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’s research on functionalism.

  3. Search Results Rank:
  4. 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 tweak there or not. I also had an old blog post on value of internal site search if you may want to review the importance of it.

  5. Wishlist ID:
  6. If you have a wish list, you should capture its id there to help measure which products are being added to wish list. You can have wishlish ID & the SKU as key value pair respectively.

  7. Product View - Product SKU:
  8. An extremely important data in e-commerce that gets frequently missed is product conversion rate. i.e. ration of product purchase to product views. The key value pair here could be product-view & SKU or product name.

  9. How much % of the total page, window is viewing  :
  10. Lot of time, you need to understand how much scroll users are doing as most of the times users would not be scrolling down and some of the important communications that is in second fold of the page gets 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 link) to achieve this or use analyticsengine.net to get it done. This should be page level.

    Here is the good resource to get started

  11. Product Category:
  12. Product category should be tracked to understand the relative popularity of given category and since this is tracked only at a category page, key value pair could be product-cat & category name/category id.

  13. Variation/Size of Product:
  14. Often lifestyle stores would have additional items that a visitor needs to select. For example, size in case of clothes/shoes. This should be an onclick type of call which should fire setcustomvar function.

  15. Colour of the product:
  16. Again this is more applicable for lifestyle e-tailers, but significantly important as different color can fetch different pricing.

  17. Filter Type/Sort By:
  18. Often on category page or similar other page, your e-commerce stores may be displaying products in default way, but you may have functionality to display priceà low to high or something similar. You must track if there is a change in filter. Key Value pair could be filter type-> values in drop down.

  19. Internal Promotion ID:
  20. Lot of large websites have multiple sites, multiple divisions owning different web properties. If there are internal promotions that are carried out, you need to track it specifically. Key Value pair here could be IPID & nomenclature that is used for internal promotions.

  21. Cart Add -Product SKU:
  22. Brilliant understanding of shopping cart behaviour could be possible when you understand how many & which products are added to shopping cart by users. The key value pair would be cartadd & product sku/product id/product name.

  23. Cart Remove –  Product SKU:
  24. Similar to above, it would be great understanding to learn which products are being removed from the carts and what do people to after removing the cart. A key value pair for custom variable could be cartremove & product SKU/product id/product name

  25. Cart View – Product SKU:
  26. Another super duper dimension that you can generate with the Cart View 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

  27. Add to Compare – product SKU:
  28. If your website is having comparison ability , you have to understand which SKUs are getting compared the most & you need to track this information.

  29. No.of Search Results:
  30. Google Analytics has great tracking abilities for internal site search; however, one critical thing to understand is # of search results for given search within the site. When you see 0 results or less results for any keywords, that will be great pointer to understand. A key value pair could be SR count & integer displaying no.of search results.

  31. Product SKU- Product Ratings:
  32. If you are using services like Bazaarvoice or similar which provides product rating , you should track it to understand if there is any co-relation between higher product rating & increase in revenue of the product which I believe there is. A key value pair would be rating & sku/product id/product name.

  33. URL – Action (Print, Share, Email, Favorite ):
  34. This is very subtle, but lot of product pages, has few action that some of the users do perform that are not social per nature , but important to know. They are generally, print, share, email or mark it as Favorite. To track this the key value pair could be URL & action name.

  35. Discount % on product page:
  36. If you are offering discount you should track to understand how different discount works. The key value pair here could be product SKU & % discount.

  37. Product Brand Name:
  38. It has been very interesting to know the X & Y dimension of any links that being clicked. You can always identify where in a page if link placed has higher likely of getting clicked. The key could be Linklocation & value could be x & y co-ordinates.
    If you are selling products of different brands, and you would like to know which brand is more popular, you should have key value pair as brand & values of brand name that exist on the product page

  39. Link Location in page:
  40. Most of these are suggested as page level variable but you can have at least some of them used as visit level and have it expire on transaction page as well if you want to. There are benefits to it and disadvantage as well , but I’d talk about them at some other time.

    Visit level Custom Variables

  41. Coupon used:
  42. If you are a heavy play 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.

  43. No.of browser Plugins:
  44. 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. For it 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 background visited your website.

    Key value pair could be no.of plugins & integer value coming out of that script.

  45. Local hour of the day:
  46. The hour of the day report in google analytics report at what hour (“from standpoint of your timezone”) how many visits have come or how much leads / Revenue has been generated at a specific day in hour. However, what you need to know is visitors local time. So if you are in New York, its 1 pm, where as at the same time you are in San fransisco, you would have 9 am coffee. You need to understand , whats the local time when people buy your product, irrespective of what timezone they are in. This will provide huge understanding to you about your users 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 hour for further simple analysis.

  47. Currency
  48. Often if you have a store which sells to more than one country knowing which currency user bought your product with is more important. You can set it as visit level custom variable to be expired at the end of transaction & start it to be populated when user is seeing a product page.

  49. Recommended or normal product view
  50. Lot of e-commerce stores have ability to show product recommendations , Most web shop owners doesnt realize is how much important it is for them. By placing a custom variable to know whether the product view is from recommended or not, helps a lot.

  51. No.of bookmark items in browser:
  52. # of bookmarked items provide the information about maturity of user. The more items bookmarked, the more mature the user is & more likely to share your content.

  53. Google Search Results Position:
  54. There is a nice little nifty javascript available again by John Doherty & Michael King here which helps you to figure out the actual search results position in case of google. There are surely other ways as well, but important is to get this position figured out quickly.

  55. Shipping Method:
  56. Shipping method provides 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 work around to get this going.

  57. Payment Type:
  58. When users are presented with different mode of payment , it is very likely that these different payment method 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.

  59. No.of Cart Items:
  60. At any stage of visitor if you know the # of items present is 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 session variable.

  61. Value of Cart Items:
  62. 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.

  63. Minutes to Complete purchase:
  64. It would be interesting to know & to evaluate the effectiveness of webpages leading to product page to understand how long it takes to have 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 count of visit to see if these are repeat visitors who are just coming back to buy something that they already have planned.

  65. Minutes to add product to cart:
  66. Similar to #32, it would be great help to understand how long does it really take users to add a product to cart. This information measures the effectiveness of category pages & product details pages.

  67. Shipping city:
  68. Knowing the shipping state & if broken down by city helps you figure out whether users are buying your products for themselves of they are buying for others.

  69. Product Stock Status (instock, outstock)
  70. Quite often when product goes out of stock a webmaster would get notification & it would be taken away. Smarter way is to keep it there and add 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 which are out of stock.

  71. Name of Product Manager/Brand Manager:
  72. For large corporations, different set of web properties and products/brands are handled by different brand managers. Even the product promotions have different strategies. At the end of the day it boil downs to single person. Brand Manager/Product Manager. To know how effectively web has been used by brand manager & compare it with others, you may want to put Name of product/brand manager in the custom variable of course abbreviated.

  73. Product Margin type (high, low , medium):
  74. Different e-commerce products have different margins knowing margin and how users react to products with different margins, would be a huge insight for a web analyst to promote different products. You dont necessarily have to add exact % of margin just keep it at high , medium & low.

  75. Day type (weekday vs. weekend):
  76. There are products gets sold on weekday Or few products especially on weekends. Most people do not now about it , when you break this information with what has gotten sold or what’s the revenue proportion between week day or weekend, it would help immensely devising new product launch strategies. You can also append it to have information of 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.

  77. Location Type (metro vs. Non- metro):
  78. 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.

  79. Market Type:
  80. Most large companies have their own defined market types, done in variety of ways which are beyond my imagination. Having market type be placed in Google Analytics would help to measure market type performance within Google Analytics itself.

  81. Deal of the Day:
  82. Most e-commerce site these days offer deal of the day, knowing that this product is sold via deal of the day will help you figure out what kind of products to be offered for deal of the day. Same strategy of measurement can be used if you have deal of the week instead of deal of the day.

    Visitor type custom variable

  83. Visitor ID:
  84. Hugely important if you are doing some custom analysis or prediction for data collected, this having a primary key is utmost important. However as per TOS #7, you can not use it to match it with any personally identifiable information of users.

  85. Registered/Non Registered User:
  86. Lots of time , you have buyer who may have registered earlier, but now coming back to buy second time. If you are doing some analysis like, customer life cycle value, categorizing visitors based on register or non-register would be hugely helpful.

  87. Password reset:
  88. Sounds very trivial but to me its most important. These days, people don’t bother to remember less than critical password, if lot of users are sending reset password request, this might be alarming to you might want to consider guest check out or may be sign up with facebook.

  89. Buyer Type (new buyer vs. returning buyer)
  90. You can always have data about whether this visitor is a repeat visitor or not ,but its seldom same as new buyer vs. returning buyer. 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 new buyer , but whatever it they are , important fact is , you have to know whether this transaction is by repeat buyer or First time buyer. What this essentially means is that you ought to have better methodology to identify a repeat buyer than just cookie :)

Got it , so where does rest of 5 other variables exist ? I thought hard about it and realized that if you have read this far, You would have certainly few ideas that I couldn’t think about, if you do, share it and we can make the rest 5 custom variables together :) !

Hope you enjoyed ! lets give few more custom variables to the next reader :)

Google Analytics Blog: Introducing Google Analytics Premium

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Launch of Tatvic Google Analytics/Adwords Excel Plug-in Version 2

I am extremely excited to announce the v2 of  Tatvic excel plug-in. We have been working on it for so long and its great feel to see it getting light of real world.

By this blog post, I want to pass on some key features that we’ve built over some time.

More APIs = More data

We are now offering ability to extract data via Adwords API, Keyword traffic estimator on top of Google Analytics data export API. We wanted to remain in direction with the Google Analytics as it firmly integrates with Adwords. You will however need to have Adwords API token and you can only use it for MCC account though.

You can watch an example of how you can extract keywords data via Adwords API below:

How to Extract data from Adwords API?

You can moreover, extract data from keywords estimator tool as well. This is first application in excel which can get you data from Keyword estimator to understand how much traffic that you can get if you go ahead with specific keyword.

How to Extract Data from Adwords Keywords Estimator API?

Save/Share query

With new google adwords excel plugin it’s easy to remember a set of inputs that you provided to pull out specific reports so that you can reproduce it or share it with your colleague. We are also working to add few more APIs e.g. SEOmoz as well but haven’t matured it as yet. If you have an opinion on what other APIs that we should be adding to the excel integration, please feel free to reach out to us. Your opinion is most valuable to us.

You can also review new pricing plan which is monthly pricing without any commitment.

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Google Analytics Advance Segment – Frequency Distribution of Time Spent

Consumer buying behavior has been fascinating & Google Analytics is becoming superior every day for such purposes. As usual this blog post is one of the efforts trying to find better ways to create interesting advance segments within Google Analytics.

We generally start looking at any web analytics project from the perspective of web analytics framework that we have developed. So obviously we will start with a business question or hypothesis that we can test using google analytics data.

The business question/hypothesis that that we were aiming to check was

“whether those visitors who are more engaged, ends up buying more. If they do, how much more worth they become.”

We used Time on site per visit as primary metric representing engagement and created multiple advance segments for different time ranges as below.

  • Visit which lasted between 0 to 100 seconds
  • Visit which lasted between 100-199 seconds
  • Visit which lasted between 200-299 seconds
  • Visit which lasted between 300-300 seconds
  • Visit which lasted more than 400 seconds

The image below shows how you can create advance segment for different time range using brand new Google Analytics V5. Each advance segment will become one line item of frequency distribution of website conversion rate and other metrics with frequency as time on site (in seconds) that user is staying on website.

Sample image of advance segment for visits that lasted between 100-199 seconds
Google Analytics Advance Segment for visits
(click on image to see larger view)

Similarly you can create different Google Analytics Advance Segments in the same lines. Once you create them you don’t need to go any far to generate actionable analysis.

Once you check all the advance segments & apply to reports it will result into a frequency distribution against several metrics. I recommend you use it with e-commerce conversion rate & Average order value for this purpose to start with. Here is what your e-commerce dashboard in Google analytics would look like.

Ecommerce Conversion RateAverage Value

These are actual results of a client e-commerce application & it is clear that if we can have tools, application information on the website that increases engagement, the likelyhood of conversion increases.

An inference from this could be if my visitor spends more than 200 seconds of time (close to 3 minutes) he is twice (or more) as much likely to convert than other. Moreover, its not just to convert, its likely that he would buy more items resulting in higher revenue per transaction.

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Challenge to Online Marketers

Working at a web analytics company we have find an interesting pattern of customers and especially those who are decision makers.

Decision makers are alone. They know inside themselves, that there is no perfect world, online or offline. If you face following questions, read along!

  • You fear that you are making decision based on wrong data collected via Google Analytics/Omniture.
  • You don’t trust the data as well as your manager, even if analyst makes hardest effort to convince?
  • You cannot make decision & delay taking a decision since on your google analytics/Omniture data just doesn’t have what you need?
  • You pay for incredibly large amount $$ for Google Analytic/Implementations implementation and don’t know what decision you can take?

 

I say “Welcome to the show” – You are not alone. Its Act 1.

 

Web Analytics tool implementation is sub optimal

Over last several (6years), I have been involved in Google Analytics & Omniture Implementation a lot. Quite a bit of the time, it involved cleaning up the Google Analytics/Omniture implementation done either by agency or client on their website/e-commerce store. A huge learning that we recently relayed internally was the fact that, most of the time either implementation was erroneous, either it lack action-ability , or may be even mistaken. This happened in 85% of the cases of implementation when Google Analytics was implemented by non-GA expert.

Problems with Web Analytics Implementation were not known

However, this problem is sub-optimal implementation of Web Analytics tool is both not known, not identified, well enough. Its normal that if you don’t know the problem, you are less likely to know the impact & you are not going to make any effort to solve that problem.

Challenge to Online Marketers:

Lot of people including you, my reader, may feel above two paragraphs are not right & doesn’t represent your situation as Leader in Analytics in your organization. Great!!

Why don’t you do act 2 then. Here is the challenge.

Show the world what actions did you took which helped your online business. You can be discreet & okay not to disclose the actual figures, but come forward & show the world that whatever was the analytics, you took decision & the online organization was benefitted. I am not saying that it is not possible to take good business decisions based on Google Analytics, I am just saying that its rare.

Comments section is yours. Do you second act my friend!

Okay if you cannot! It’s time to roll up your sleeves and carry out the Google Analytics Audit /Omniture Audit. If you need how to do it, sample reports, download free from Audit section.

Looking forward to Act 2.

 

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook

Conversion Rate by Products in Google Analytics

This post post aims to develop an understanding of how to calculate product specific conversion rate & discuss the potential analysis & insights can be generated from it.

Quite often the business problem or questions that most ecommerce website encounters is very specific to product management as to how much product to stock, which are fast moving ? how can I move some of the product quickly etc.

How to measure how many views different products have received & whether those views are turning into transaction & revenue? What actions can I take based on such data?

What is product conversion rate?

There are many ways to define what we can call the product conversion rate. For example you can check # transaction for any given product divided by # of visits to that specific product. Moreover, you can also use quantity to # of visits ratio to calculate the product conversion rate.

In omniture there is an event called prodview which counts # of pageviews for any given product and then when it is used with revenue or transaction, it gives interesting conversion ratios for different product.

For our understanding we will use ratio of quantity to # of visits for different pr

oduct as a product conversion rate.

Why product conversion rate?

Calculating product conversion rate is very important to understand which product is converting better vs. others? Moreover if you have cost data, you can also find out that whether the profitable products are converting better or not? With such insights, you can modify the e-commerce shop to ensure that the profitable products get more chance to convert etc.

As a normal analytics practice first thing is to build a template of what data we want to calculate the product conversion rate.

For our understanding we will use ratio of quantity to # unique views to product page for different products as a product conversion rate.

The quantity data will be available from the Google analytics interface & we need to get data of quantify & product views for different product.

How to get data from Google Analytic?

There is only small change that is required to calculate the product conversion rate in Google Analytics i.e. by using Google Analytics Events tracking.

Here is the syntax that you can use to generate product views statistic in

event tracking:

pageTracker._trackEvent

(“uniqueproductname”,

“variantname”,

“uniqecategoryname ”,

1)

This needs to fire on all your product pages in Google Analytics.

As a result of this, in your event tracking report you will find product names in event actions and get unique product views as well of total product views of the event via total events and unique event metrics.

Product Conversion Rate-Google Analytics-2

You will find product names in event actions and get count of unique views as well of total views of the event via total events and unique event metrics.

By putting together all the data you have here is what you can get as an output for different product. Please note that in last column you can create conversion rate for your different product.

Obviously, some of the product has very high conversion rate as shown in highlighted portion. These are your winners.

Product Conversion Rate-Google Analytics-2

Plot this conversion data with the product’s revenue and you know whether high converting products are getting sold or not ? You can also use the advance segment to calculate the product conversion rate for different sources which will provide even better insights to what products works and which doesnt work ?! What more ? You can figure out low converting product and reduce them from your stocks  & save the money from warehouse !

Ravi Pathak

Ravi Pathak

Ravi Pathak is a Co-Founder of Tatvic and expert at Managing different web analytics tools. Ravi's actively works on conversion optimization projects to improve conversion rate and test newer hypothesis with e-commerce companies. He regularly tweets via @tatvic or @ravipathak. Please connect with Ravi on Google Plus : Ravi Pathak

More Posts - Website

Follow Me:
TwitterFacebook