Tracking campaign effectiveness with Google Analytics
Online advertising is unique because it offers so many opportunities to measure campaign effectiveness. Traditional media-types such as television, radio and print do not provide as many ways to quantitatively measure the effectiveness of your ad-spend. Web analytics refers to the measurement of web-page views and associated variables. Used properly, it can provide very useful information about the quality of traffic coming from different ad campaigns.
There are many web analytics solutions on the market. I will focus on the reporting suite, Google Analytics (GA) for several reasons: it is free, it is fast, it is already installed on many websites, it works. A caveat for this system is that Google will have access to your data. This is unacceptable for many large companies and this forces them to use a paid-service. My experience with paid services such as Omniture's Site Catalyst is one of frustration and anguish, and I wouldn't recommend it unless corporate policy restricts you.
Installing Google Analytics:
Go to the following URL: http://www.google.com/analytics and sign up for the service. You will be asked to place a small piece of javascript on each page you want to track. It is suggested that you use a global include file if possible since you will only have to copy and paste one-time and future changes to the code are easily made. You will need to wait several hours for your first data stream to appear. After the initial wait, data arrives in almost real time, however the default view does not include today's data. You will need to manually change this each time you access your reports if you need current data.
Out-of-the-box, GA provides standard web analytics data such as page views, referral data, search engine keyword data, etc... The interface is fairly intuitive and you can gather a lot of data from the basic installation. If you want to track campaigns and goals, a few modifications will be required.
Tracking campaigns:
Tracking campaigns provides information about visitor activity arising from those arriving at your site through a custom-built URL. GA uses a cookie such that once the visitor arrives at your site through a particular campaign, any future activity will also be tracked. An example of a campaign might be an online banner ad from a certain ad network, or a specific email campaign. You don't need to explicitly create campaigns with GA, simply including what is known as a "query string" to the end of the URL is enough. Here is an example of a query string you might add to the end of your URL:
?utm_campaign=blog&utm_medium=banner_links&utm_source=ionchannelmedia.com&utm_content=banner_a
Practically, the URL would therefore take the following form:
http://www.ionchannelmedia.com/blog/?utm_campaign=blog&utm_medium=banner...
This tells GA that the traffic comes from a blog (utm_campaign), via a banner link (utm_medium), through the ionchannelmedia.com web property (utm_source) and the specific banner was banner a (utm_content). utm_content is an optional parameter and is used if you are doing A/B split testing of different banner creatives, for example. utm_term is another optional parameter that is used if you are bidding on keywords in a pay-per-click campaign, for example. You can use the following tool to automatically create a well-formed URL for campaign tracking:
http://www.google.com/support/analytics/bin/answer.py?answer=55578&topic=11097
Once you allow some time to pass for data to collect, you can track campaign effectiveness by clicking on "Traffic Sources" on the main GA dashboard, followed by the "Campaigns" submenu. You can then segment your data based on over 20 different parameters including source (via utm_source), medium (via utm_medium), and even specific banner (utm_content). You can access these data sementation through the drop-down box labelled "Dimension". Various performance indicators can be viewed including Pages/visit, average time on site, and bounce rate. If you have set up goals (discussed next), you can also view goal conversions for specific segments or campaigns.
[caption id="attachment_15" align="alignleft" width="300" caption="Campaign page for Google Analytics"]
[/caption]
Setting up goals in Google Analytics
If you want to track campaign goal conversions such as filling out a contact form, or accessing a certain page, you need to set up goals in GA. To set up goals, you need to go to the main page that shows a summary of all your websites. Go to this URL: https://www.google.com/analytics/settings/home
[caption id="attachment_16" align="alignleft" width="300" caption="Main GA page that shows a summary of all websites."]
[/caption]
You then click on edit for the site for which you want to set up goals. The resulting page will have a table called "Conversion Goals and Funnel". You can create up to 4 goals for each site. Click on the edit tab next to an empty goal.
The next step is confusing for some, and involves defining the specific URL that should trigger a goal. The way to define this URL can be thorugh 3 different matching types:
- Exact match
- Head match
- Regular expression
We will just concentrate on the first 2 for the purposes of this article. Use exact match when the goal URL does not contain a query string ('question mark' followed by name value pairs). Use head match if there is a query string and you want to define the part of the query string that is constant for all visitors reaching that particular goal. So, for example you might choose head match and enter the goal URL as ^/1/thanks\.html which defines the thank-you page when a user submits a contact form. (see https://www.google.com/support/googleanalytics/bin/answer.py?answer=7228...). The caret (^) substitutes for the domain (http://www.example.com) portion of the URL. It is your choice whether to include the domain portion. The /1/thanks.html defines the portion of the URL after the domain (eg, http://www.example.com/1/thanks.html). The backwards slash before the period is required for all URLs. It is an escape character and allows the URL to be processed by the javascript; it cannot be omitted.
If your URL has a query string at the end, you will need to use a head match. For example if the goal URL is http://www.example.com/checkout.cgi?page=1&id=uniqueuserid, you would enter "http://www.example.com/checkout.cgi?page=1" since this is the portion of the goal URL that is constant. You can then name the goal, alter case sensitivity, and assign a goal value. The goal value is treated like a dollar value, but you can also assign it as a dimensionless number such as 1.0.
Defining a funnel for the goal is optional and includes the pages that lead up to the goal URL. For example, in a shopping cart, the goal URL will be the thank-you page and the funnel URLs might be the shipping page, followed by the payment page, followed by the confirmation page etc... This will allow you to visualize drop-outs (ie, those who were going along the conversion path, but did not complete the goal.
One you have set up one or more goals, you can track those that complete certain actions. I like the GA approach to goals because you don't need to tag specific pages with javascript like you need to with Omniture Site Catalyst. This allows you to create goals on the fly with minimal code maintenance.
I would like to make one final comment about campaign tracking. While the quantitative results can provide very good information about traffic quality and return on investment, it cannot tell you about more intangible benefits of an ad campaign such as branding or purchases that occur offline, after a long delay, or through a different computer without the cookie set.
Feel free to contact me if you have any questions about implementing Google Analytics on your site.
- Christian Hesketh's blog
- Login or register to post comments
- Printer-friendly version
- Send to friend
- PDF version

Comments
flash ad referrals
I've heard that Google Analytics has problems tracking the referring site if I'm using flash advertising.
Is this correct?