Upcoming LunaMetrics Seminars
Washington DC, Dec 1-5 Los Angeles - Anaheim, Dec 8-12 Pittsburgh, Jan 12-16 Boston, Jan 12-16

Author Archive

Form Engagement Tracking with Google Tag Manager

blog-form-engagement

Do you know how people are completing forms on your site? Are there certain fields that get skipped frequently or that cause users to drop off?

Almost two years ago, I wrote a post showing how to use a simple script to track form abandonment in Google Analytics with event tracking. I’ve gotten a lot of great user feedback (and requests) about that script, and wanted to share an updated version that is a little more elegant.

This new version more effectively handles fields that are completed or skipped. I’ve also modified this script and included instructions for how to add it to your site through Google Tag Manager.

Use this script to see which fields get the most completions, but also use it to compare to the amount of forms that get submitted successfully. If you find that people are starting to complete the form but failing to submit it, you may need to look into ways to improve the user experience.
(more…)

Analyzing Changes to Your Site Navigation

blog-navigation

The Problem

You just optimized the main navigation on your site to make it easier for users to find the more “popular” pages. But did the changes do the trick? Did they improve the user experience? Your boss is breathing down your neck to get answers to these questions.

The Solution

The Navigation Summary report in Google Analytics. This is a little-known report, tucked away in the Behavior > Site Content > All Pages report.

The Navigation Summary report is perfect for this type of analysis. It lets you choose a page (e.g. the homepage), and will show you the previous page a user was on before getting to that page, and the next page they went to. For example, we can focus on the homepage, and see where our users went next. (more…)

The Death of UTM Campaign Parameters

blog-utm

UTM campaign parameters. We love them. We hate them.

They make it easy to track both online and offline marketing efforts. But they aren’t very pretty to look at, and they’re difficult to implement reliably, especially for a layperson (i.e. non-technical person).

Often, there’s a situation where we want to track a number of different approaches or people contributing to a campaign. Imagine the pushback you’ll get when you suggest each person modifies their UTM parameters to personally identify themselves or the approach they’re using.

Fortunately, there’s an easier way to track certain types of activities without having to resort to including all those UTM parameters. We can use a simple URL hash and some Google Tag Manager magic to uniquely identify each person.

(more…)

Campaign Tracking with a Dynamic Source

Where-do-you-come-fromDo you want to track your press releases or distributed content (widgets, infographics, embedded content, etc.)? I’m going to show you a much better way to do that with campaign tracking in Google Analytics.

I was recently asked a question by an attendee to our Google Analytics training in Los Angeles about using campaign tracking in Google Analytics:

We distribute press releases that get distributed and posted on various websites.  I want to be able to track any traffic generated by those pickups as part of a campaign, but also know from which sites the traffic is coming.  What happens is I simply leave utm_source out?

(more…)

Share Your Goals in Google Analytics

First there was the honorable GoalCopy plugin for Firefox, which ruled the kingdom for many (internet) years. This tool gave you the magical ability to copy goals from one profile (remember when that’s what they were called?) to another with ease. And the peasants rejoiced.

But then came v5 of Google Analytics, and with this new design the failings of the old king. GoalCopy was dethroned by it’s Chrome extension cousin,  GA Copy and Paste. It was visusally appealing and worked in the new interface. And the peasants rejoiced.

GA Copy and Paste met with its untimely demise when Google Analytics rolled out changes to the Admin, including Goals configuration. The Kingdom fell into chaos, with no ability to copy goals from one View to another. Until now.

Now we have learned of a noble warrior with a true bloodline, claiming the throne. This new leader calls itself by no name, it just sits there ready to copy your goals at a moments notice, either one at a time or in bulk.

You don’t have to download it. It isn’t browser specific. It’s a new feature in Google Analytics.

You can now share your goals. (more…)

Hands Free Google Analytics – “OK GA”

What do you do if you need to use Google Analytics, but you have a broken hand (or two)?

broken hands
This is the problem we were faced with last year, as two of our analysts were involved in separate bicycle accidents. Using a mouse and keyboard to navigate the reports in Google Analytics proved difficult, if not impossible, with hunks of plaster covering our hands and fingers. (more…)

Cross-Domain Tracking With Google Tag Manager

Keep calm and _setAllowLinker on
Cross-domain tracking has been the bane of any analyst’s experience for, oh, just about ever. It is probably the hardest thing to get right in a Google Analytics implementation, and in our experience, more people ask us for help with this one issue than any other.

Over the years we’ve dealt with this problem in different ways. jQuery made it easy to drop in a couple lines of code to track behavior across domains, but even then it wasn’t exactly automatic.

Then along came Universal Analytics and Google Tag Manager – the perfect 1-2 punch combo to knock out cross domain tracking once and for all. We held a webinar to show people step-by-step how to implement cross-domain tracking in Google Tag Manager. Below is a recording of the webinar, along with the written step-by-step instructions.
(more…)

Free Webinar: Cross Domain Tracking in Google Tag Manager

Cross Domain Tracking with Google Analytics

UPDATE: Due to events beyond our control, the webinar has been postponed until Tuesday, November 5th at 1:00pm EST. Our sincere apologies.

It’s been almost a year since Google Tag Manager was introduced, and as we scan the product forum, it’s clear there are still many questions about how it works (both generally and specifically). (more…)

How to Filter Bot Traffic From Your Google Analytics

UPDATE: July 30, 2014 – Google announced a feature to automatically filter out bots and spiders. Learn more here.

party crashers

Don’t let bad data crash your analytics party.

One of the benefits of client-side, tag-based analytics (as opposed to server side analytics) is that you generally don’t have to filter out traffic from bots.

However, it seems lately that some bots (*cough, cough* Microsoft) have been showing up in Google Analytics like an uninvited guest, crashing the data party. (more…)

Google Analytics Email Tracking, Part 2


In part 1 of this series, I showed you how to use Universal Analytics and the Measurement Protocol to track whether or not someone opened your email.

Now we’re going to kick it up a notch use email to tag visitors with a unique ID. This will let you track visitors to your site across devices, like below:

Email tracking in Google Analytics with MailChimp

 

We’ll continue from where we left off after the last post, so I’ll assume you’re already using Universal Analytics, and you have a custom metric set up to keep track of email opens. We’ll continue to use MailChimp to walk you through setting this up, but you should be able to apply these steps to whatever email marketing platform you’re using.

Step 1:

In step 1 of the last post, you created a custom metric in the Google Analytics admin interface called Email Opens to track the number of times an email was opened. This time, you’ll create a new custom dimension called Visitor ID to keep track of individual users.

Log in to Google Analytics and go to the Admin section. Select your account and web property, and click on Custom Definitions under the Web Property column. Then click on Custom Dimensions.

Custom Dimensions

In the next window, click on the New Custom Dimension button, and give your custom dimension a name (I recommend Visitor ID) and set the scope to User. Also, make sure the Active check box is checked.

Custom Dimension

Step 2:

Now that you’ve set up your custom dimension, it’s time to start populating it. In our example, we’re going to do that through email marketing. When someone opens your email, it will show up in Google Analytics as an email open from visitor ID 12345 (or whatever their ID is). And when they click on a link in the email, it will show up as a visit from that same visitor ID.

To do this in MailChimp, there’s a feature that we’ll take advantage of called Ecommerce 360 link tracking. You’ll find this in the Setup phase when you’re creating an email campaign – check the box for Ecommerce 360 link tracking:

MailChimp setup

MailChimp Ecommerce 360

So, what is Ecommerce 360? Basically, it makes it possible to track visitors from your email campaigns, capture transaction information, and pass it back to MailChimp.

But that’s not why we’re using it. We’re using it because when you have it enabled and someone clicks on one of your email links, it adds a couple of parameters to the end of your URL. Specifically, these are the parameters:

mc_cid=92383b3a63

mc_eid=9fe8ac1315

The mc_cid parameter is the internal MailChimp campaign ID and the mc_eid parameter is the unique, MailChimp-generated ID for the list member.

In other words, MailChimp is giving you the unique ID to use in your Visitor ID dimension!

Step 3:

To get that ID stored in your Visitor ID custom dimension, you’ll need a tiny bit of script on your page to check for that value in the URL and capture it. If you look at the source code on this site, you’ll see our Universal Analytics code has been updated to include this extra code (lines 9-17):

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

$(document).ready(function() {
  ga('create', 'UA-296882-21', 'lunametrics.com');
   ga(function(tracker) {
	var hash = location.hash;
	var mcId = hash.match('mc_eid=(.*)');
	var cid = tracker.get('clientId');
		if(mcId){
		var vid = mcId[1];
	    ga('set', 'dimension1', vid);
		}
});
  ga('send', 'pageview');
});

</script>

Step 4:

With the script above, plus the Ecommerce 360 option in MailChimp, you’ll now be capturing the user ID of visitors who click on the links in your emails, but remember, we also want to do that if they open the email (without clicking a link).

To do that, we’re going to modify the code from step 6 in the previous post. This is where we’re placing our “fake” image at the bottom of the email that sends the data to Google Analytics:

<img src=”http://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXX-YY&cid=*|UNIQID|*
&t=event&ec=email&ea=open&el=*|UNIQID|*&cs=newsletter&cm=email&cn=062413&cm1=1″ />

The only difference from the previous post (the code above) is that we’re now also going to add the unique ID to the custom dimension. We can do that as follows:

<img src=”http://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXX-YY&cid=*|UNIQID|*
&t=event&ec=email&ea=open&el=*|UNIQID|*&cs=newsletter&cm=email&cn=062413&cm1=1&cd1=*|UNIQID|*″ />

 

The payoff

OK, so I admit that you’ll have to roll up your sleeves and get your hands a little dirty with some code. But your efforts will be rewarded with large sums of money and glory.

You’ll now be able to see the following scenario playing out in your data:

Visitor ID 12345 (which you can match back to John Q. Smith in MailChimp) opened your email on his phone on a Monday. Then he opened the same email from his computer on Tuesday and clicked the link to go to your site, where he browse around but didn’t convert. Then he came back to your site on Thursday and made a purchase (or signed up, subscribed, etc.).

Cross device nirvana!