Shopify Google Analytics Integration

The following is the tale of some investigative work I did for a company which approached me to help them with their Google Analytics tracking for their online store. This company, like so many others, sells items on the Internet and wants to be able to properly attribute their sales to the correct channel using Google Analytics. Not surprisingly, in addition to having subdomains they were using a third party shopping cart and needed to have cross domain tracking configured.  Pretty simple.  Or so I thought…

  Shopify Homepage

As it turns out, the third party shopping cart they were using is called Shopify.  As far as being an intuitive user interface that makes it easy for non-technical users to set up their store, I certainly see a lot of positives with Shopify.  Unfortunately, Shopify also tried to make setting up Google Analytics “dumb proof.”  In the end, trying to figure out why I couldn’t properly set up a simple, working basic GA tag led me to be “dumbfounded.”   Shopify has a very simple interface where one simply needs to copy and paste their Google Analytics tracking code in order to get started.  

shopify pasted GA code  

However, as soon as you save the file, Shopify takes the Google Analytics code and rewrites it to match their own settings. In particular, they are choosing to _setDomainName to “none”, adding _setAllowLinker (which would indeed be  required for cross domain tracking) and switched to dc.js.  (I am not sure if the folks at Shopify paid attention or not, but to use the DoubleClick cookie, users are supposed to Continue reading Shopify Google Analytics Integration

Where did my traffic go?

A question that is commonly asked of analysts is “WHERE DID MY TRAFFIC GO?!”  (Yes, even occasionally emailed in all caps).  🙂  Indeed, this is a question that I received from a publisher recently, though they were very polite and didn’t use all caps.  For publishers especially, this question is directly tied to their bottom line as advertising revenue is linked directly to pageviews (CPM models etc).  So, I rolled up my sleeves and got ready to do a bit of analysis to see where their traffic went.

The following is simply a recounting of a bit of my process.  The purpose of this post is to share some of my methods with a target audience of beginner to intermediate level analysts.  This is a “how to” oriented post; nothing particularly new or groundbreaking here.  Just some good old fashioned analysis of a common client question.

spoiler-alert (SPOILER ALERT:  They had a tagging problem, not a traffic problem).

Continue reading Where did my traffic go?

Measuring Profit using Google’s Universal Analytics

Leveraging Custom Dimensions and Custom Metrics to gain insights into Merchandise and Profitability.

profit report lead

I spend a bit too much time on Twitter. It’s not a terrible thing, as in addition to Twitter being a forum that truly keeps me informed about what is happening in my industry allowing me to stay on the cutting edge for my clients, it is also a social outlet that helps keep me from completely getting swallowed by work.  🙂   That said, sometimes it is hard to wade one’s way through all of the chatter in order to find the good stuff.  One of the people out there who is almost always tweeting quality things is Kevin Hillstrom, @minethatdata.  It just so happens that yesterday seemed to be a minor “@minethatdata appreciation day” with some other industry peeps giving Kevin a well-deserved thumbs up.

minethatdata appreciation

One of the things that Kevin consistently wants others in the digital measurement industry to think about is merchandise and profit. A simple search on his timeline for July 2013 shows that he mentioned profit no less than 43 times and merchandise at least 28 times.
kh profit tweet

Continue reading Measuring Profit using Google’s Universal Analytics

DudaMobile Google Analytics FIX

DudaMobile + Google Analytics = #Fail 

Sometimes I find myself really bothered by 3rd parties who claim to have Google Analytics integrations not take the care to make sure that is done correctly.  Indeed, one of those companies is DudaMobile.
mobile analytics
image from the DudaMobile site

The strange thing about the DudaMobile situation is that they have some sort of official partnership with Google Analytics.  Indeed, when you search for Google Analytics and DudaMobile, there are lots of articles about this relationship out there.  I didn’t take much time to read into exactly how this partnership works, but my understanding is that it is different from the actual DudaMobile product.

DudaMobile makes it really easy for webmasters to create a mobile site which is hosted by DudaMobile.  That’s a great thing.  I love it.  But in order to get a user to the mobile site, they provide webmasters with some javascript which does a 302 redirect.  Oy vey. 302…  <shutter>  In addition to the SEO problems that are bound to pop up, especially as there is now lots of duplicate content problems for webmasters since they have a 2nd site hosted on a DudaMobile domain.  But I digress… Continue reading DudaMobile Google Analytics FIX

The Importance of Clean and Meaningful Google Analytics data

Ever since returning from Superweek in beautiful Galyateto, Hungary, I’ve been thinking a lot about data and the utility of Google Analytics as a tool.  Yes, I know, I spend a lot of time thinking about those things, but the conference was particularly inspiring in those regards.  Google Analytics is not different than any other digital analytics tool insomuch as it is critical to understand what the values that get reported actually mean and how they get there in the first place.  But that’s not enough.  When we analyze data, we need it to be presented in a meaningful way.  Data visualization is tremendously important in this regards, and I believe that one of the reasons why Google Analytics has such great adoption and market penetration (besides the enticing $0.00 entry price point) is because the UI is crisp, FAST, and easy to use.

One catalyst for this post is a response to this post entitled “Are You Being Misled by Google Analytics?”  While I am about to critique the post, I do want to point out that one of the ideas that Tien Nguyen has (who Chris mentions in his article as the source of this idea)  is indeed insightful.  Namely, that without configuration Google Analytics may not provide as much visibility into traffic sources that one needs.   While I urge you to take a look at the article, I’ll briefly summarize the main idea here. Continue reading The Importance of Clean and Meaningful Google Analytics data

Google Analytics Bounce Rate (actually) Demystified

Bounce Rate in Google Analytics

Every few months of so, I see a (re)tweet pointing to this infographic from KissMetrics. Here’s a snippet:   Kiss Metrics Bounce Rate Infographic (Update: to learn about content engagement and calculating time on page in Google Analytics, see this post).

The thing that frustrates me the most about this infographic is that the definition of Bounce Rate is wrong.   (Well, at least for GA).  Yes, I know that the definition is directly from the Google Analytics Help Center.  But a bounce in Google Analytics is NOT a visit with a single pageview.  A bounce is a visit with a single engagement HIT.  (Justin Cutroni has a great post explaining these hit types and how to understand Google Analytics time calculations based upon undertstanding how these hit types work).  To briefly summarize here, there are currently 6 types of hits that can be sent to the Google Analytics server.
  • Pageviews (sent via _trackPageview)
  • Events (sent via _trackEvent)
  • Ecommerce Items (sent via _addItem)
  • Ecommerce Transactions (sent via _trackTrans)
  • Social (sent via _trackSocial)
  • User Defined deprecated, though functional (sent via _setVar)
As Justin explains, 5 of these hit types are used in calculating some form of engagement, thereby impacting time on page / time on site calculations as well as bounce rate.  With regards to bounce rate in particular, an additional Pageview, Event which hasn’t been set to non-interactionor Social Media share (that is configured to be tracked in GA) are all things that can impact your bounce rate.
Here is an example of why understanding this technical principal is important when it comes analysis.  In the example below, we see that this client’s Paid Search campaigns have a particularly low bounce rate. bounce rate analysis 1 Continue reading Google Analytics Bounce Rate (actually) Demystified

How “Unique” are Unique Visitors in Google Analytics

“Unique” Visitors 25%-39% inflated

I’ve been working on implementations with a number of clients who have a need for visitor level tracking in Google Analytics so that they can start using GA to measure things like customer loyalty and (try to) calculate Lifetime Customer Value. I understand that there are a number of data models available to approach these sorts of questions, and that either Custom Variables or Events can be used (using either visitor level vars, or session level vars populated from server-side values).

In general, I like pushing the _utma cookie value back into Google Analytics, as it uncovers every single visit in the API. There are lots of benefits to doing this. Justin Cutroni wrote a nice post about merging GA data with a data warehouse. This is just one (powerful) thing that can be done using this method.   Google Analytics UTMA Cookie What interests me in this post is “how unique are ‘unique’ visitors?” We all know that a unique visitor is nothing more than the value of the _utma cookie’s unique ID. I don’t know about you, but I certainly access websites from multiple browsers from multiple computers. I don’t find it unreasonable for a “person” to indeed have 6 or 7 unique “visitor” values. Start adding in users who clear their cookies and/or Private Browsing and the meaning of “uniques” really begins to degrade.

Luckily, I have access to data where, in addition to capturing _utma values, we’re also capturing obfuscated member ID values. These values are set as a custom variable upon login. This means that a user will maintain their ID whether or not they switch browsers or clear cookies. Here are some of the numbers that I pulled.
Unique Visitors vs Actually Unique Visitors

Number of Unique Members is 61% of "Unique Visitors"

The data set that is decently large and no data sampling has been applied to these numbers. At first glance, it appears that the number of unique logins is 61% of the number of GA’s unique visitors. Two things that stuck out at me were the number of visits in a 28 day period by some of the most active users. The top ten most active users average 11.68 visits per day. Also, line 7 had a large ratio of unique visitors to visits. Was this one user who cleared cookies often? Was this shared login information?

In order to make sure that this made sense among users who visited the site less often, I filtered by logins that had less than 3 visits per day, 2 visits per day, and visits once every 2 days. The numbers were pretty consistent for members who came 3 times a day or less, though users who visited once every 2 days or less saw a higher percentage of unique visitors to login IDs.          

The Bottom Line:
The “unique visitor” metric was never meant to describe the number of “unique people” that visited a site. Admittedly, this terminology can be confusing for the average person. While web analysts have known that ‘unique visitors’ refers to a count of unique cookie values in the browser, I find it quite nice to be able to quantify this in numbers.  Indeed, from the data above, it appears that the number of unique visitors reported is somewhere between 25% – 39% greater than the number of people who visit a site. If you have any additional data, please feel free to share below.  

Google Analytics Updates How Visits are Calculated

Google Analytics Updates How Visits Are Calculated

In a recent blog post, the Google Analytics team made announced that they are changing the way that visits (sessions) are calculated. Interestingly, they said that, “Based on our research, most users will see less than a 1% change.” Unfortunately (imho), they didn’t cover their bases with that statement as the comment section of the above cited blog post shows that lots of people are going pretty crazy about these changes.

**Update** On August 16th, the Google Analytics Team announced that there was a bug in the way visits were recorded after they launched the change. Now, people should be going less crazy as numbers are making a bit more sense. Nevertheless….

Bottom line, this is really a significant change and it seems that people aren’t understanding what is going on. The main things that people seem to be complaining about are:
  • Increase in visits
  • Increase in bounce rate
  • Decreased average time on site
  • Decreased pages per visit

Surprisingly (maybe), I didn’t see a lot of people complaining about a decrease in conversion rate. Hmm… In any case, one comment that I saw rise above the negative spew in the GA blog comment section was by Peter at L3 Analytics. He linked to his blog post which does a nice job discussing some of the implications of the change to the way sessions are calculated. I decided to add to the discussion with this post. Some of what I’ll be saying has already been formulated by Peter. Other things will hopefullly be new , including a number questions I have based on some data in GA that I am still not understanding based upon my current knowledge of the change.

**Side Note** It upsets that people can get so negative in their comments made in forums and blog posts, especially since most of their complaints stem from a lack of understanding. Simple questions in the comment section such as “I don’t understand why 123xyz is happening….” would be nicer to address than “this data is useless, (sarcastic) thanks alot!!”

Understanding the change.

Google Analytics receives hit level data and then calculates all metrics based upon that hit level data. Every time there is a pageview, event, or transaction, a gif request is sent to the Google Analytics servers with information about that hit. Part of that gif request includes session information, and other parts of that gif request include visitor level information. I’m not going to go into the UTM gif requests in depth here, but if you really want to know what is going on check out the RUGA (Really Understanding Google Analytics) series of posts from Cardinal Path. (Kent – it would be great if you could add inner linking between posts on the blog, it’s a great series).

Here is a graphic I quickly put together. (As you can tell, I’m not much of a graphic designer).

The idea that this is trying to illustrate is a visit (session) is made up of hits. A visitor can visit the site multiple times. When a “visitor” has two or more visits, they change from being counted as a “New Visit” to a “Returning Visitor.”

**Side note: We use the term “visitor,” but technically this means “__utma Cookie.” Cookies are browser specific. So if I, Yehoshua Coren, visit in a 5 minute span from 3 different browsers, GA reports that 3 “unique visitors” came to the site. Similarly, if 3 different people in my household visit at different times throughout the day, this is 1 “unique visitor.” Lastly, if I visit a website repeatedly using Private Browsing (Firefox) or Incognito Mode (Chrome), etc, my cookies are cleared on browser close so I’ll be an additional “unique visitor” (with a ‘new visit’) on every subsequent visit.

So how does Google Analytics calculate visitors and visits?

Continue reading Google Analytics Updates How Visits are Calculated

Multi-Touch Attribution with Google Analytics.

Multi-Touch Attribution with Google Analytics

It is well known that Google Analytics relies on last touch campaign attribution.  In short, this means that conversions and transactions are attributed to the most current traffic source of the visit (i.e. the ‘last touch’).  It goes without saying, but you should read  Avinash Kaushik’s Web Analytics 2.0 (attribution models are discussed chapter 12) if you haven’t done so already.  It’s a great intro to the issue at hand.  Additionally, there has been lots written about this already, with a number of different solutions given for how to overcome the limitation in Google Analytics.  After many hours of scouring the web, I must admit that I didn’t find a solution that adequately met my needs for Google Analytics.

To be fair, I just came across which uses it’s OWN cookie to pass data into GA using event tracking (use a 2nd tracker so you don’t skew your bounce rate).  I’m interested in trying it out.  I especially like how YourAmigo has a number of out of the box reports that automate a number of attribution models.  Very cool.

Also, what we’re about to see here isn’t really an attribution model. The *value* assigned to the first touch, middle touches, and last touch aren’t addressed here. What this post does address is the lack of visitor level data in GA. Using the method below, you’ll be able to IDENTIFY all of the touches that bring visitors back to you site. So while branded keywords may indeed be the best converters on your site, wouldn’t it be nice to know how many of those visitors first visited your site after clicking on a PPC ad?

In any case, here’s how I push VISITOR level data back into GA (which of course can and should then be sliced and diced via advanced segments and custom reports – yummm!!!).

The UTMA Cookie.

Google provides an excellent introduction to the cookies that GA uses here.  If you are new to the cookies, definitely watch the presentation.  Here is a screen cap of the __utma cookie info. ( © 2008 Google)
Google Analytics UTMA Cookie The UTMA cookie is central to a TON of the reporting in Google Analytics.  Visitor Loyalty, Visitor Recency, Days to Purchases, Visits to purchase, etc etc… all of these metrics rely on this visitor level cookie.  As can be seen in the image above, every visitor who comes to your site is assigned with a random unique ID. Continue reading Multi-Touch Attribution with Google Analytics.

Google Product Search (for a fee)

I recently discovered a discrepancy between the way that a client’s Google Merchant Center account was performing on Google Product Search and Google Product Ads.

When I first set up Google Product Ads, I had assumed (oops!) that I would see the Adwords campaign in Google Analytics like the rest of my auto-tagged campaigns, complete with click and cost data applied.  I was wrong.  Nothing there.  (For now, cost data for Product Ads is being shown exclusively in Adwords, not in GA).  So I thought I wasn’t getting any clicks on the campaign, as I tend to look at Google Analytics first and only later delve into the Adwords interface for additional data I might need. What I did notice in my GA account was that my Google Merchant Center Feed (which I tagged as Googlebase), took a big hit in traffic recently.

Google Product Search traffic in Google Analytics

I did my due diligence, and started asking questions in the organization  like, “did anyone update the feed recently?” etc, and almost wrote off the dip in traffic as an algorithm change in Product Search. When I checked my Google Merchant Center backend, I found a big surprise…

Google Product Search Disapproved

My feed was DISAPPROVED, but I was still getting impressions.  Huh?

Disapproved Feed

When looking at my individual product performance, what Google told me was that my feed was good enough for Adwords Product Ads, but NOT good enough to keep sending me free traffic.   While I’m not showing the product names in this next image to honor my client’s privacy, note that each line in this chart represents an individual product.

Product Search - Dead

WOW – a lot of checks for Product Ads (paid), but the free clicks are all offline. Google Product Ads I guess that quality of this product feed is good enough to make Google money, but (recently) not quite quality enough to include in their product listings.