Google Analytics Launches new AdWords Reports & Other Goodies

Today at Emetrics, Brett Crosby announced a number of new features and recapped some recent changes to Google Analytics. Here’s a quick video recap of the announcement and some thoughts on the changes.

Specific things that Brett talked about:

The rebranding of Google Analytics consultants as Google Analytics authorized partners.

This was announced on the AdWords blog and on the Analytics blog. Google is unifying their partner programs. The GAAC is gone, now partners are Google Analytics Certified partners. This should help differentiate partner companies from individual passing the GAIQ exam.

The formal launch of the new Async tracking code.

It’s been out for a while but this was the official coming out for the new version of the tracking code. I wrote a about how the async code works and if you should switch. The async code will now be the default for tracking. Check out the blog post for more information about how it works.

The introduction of the Google Analytics Apps Gallery.

Google is creating a place to showcase apps built on the API. I’ve long felt that the marketplace can innovate more than any Analytics company. GA has more or less become a giant data collector. The gallery should help push more development of analytics tools.

The addition of the AdWords ID to the GA API.

It is now possible to pull actual ad and search query information via the API. This is huge, I think it’s going to lead to a lot of innovation in the search tool marketplace. Vendors like ClickEquations can now connect what happened on a visitors site directly back to the AdWords search query and ad variation. Pretty cool.

New AdWords reports.

Google also announced the addition of new AdWords reports to Google Analytics. I think we all agree that the previous reprots were less than good. The new reports offer additional data, like the actual search term, that was not previous available in Analytics.

Brett also spoke about the recently introduced AdWords Search Funnels. This is Google’s crack at AdWords campaign attribution. My buddy Nick dove a little deeper over on the WebShare blog.

While some might look at this list and shrug that there’s not much new I think these changes hint at things to come. Specifically I think the AdWords API announcement is huge. This tells us Google is pulling more and more data into Analytics. How long before we get DoubleClick data and other types of data in Analytics? Or when will they let us import data into Analytics, like cost data?

Overall, a nice little treat for us analytics users. Thanks to the Analytics team and great job.

As always, I welcome your comments!

Tracking Internal Campaigns with Google Analytics

Internal campaigns are marketing efforts that are run on your site and promote your products and services. Here’s an example from the Boton Red Sox site. They’re using ads on the homepage to promote ticket sales.

Companies should track how people react to these campaigns and which ones are most successful. But what’s the best way to do this with Google Analytics?

Some people use the standard campaign tracking to track internal campaigns. THIS IS INCORRECT AND SHOULD NEVER BE DONE. Using the standard campaign tracking for internal campaigns will cause problems with your source data. So don’t do it!

There are a few correct ways to track internal campaigns. You could use Event Tracking, Custom Variables or Virtual Pageviews. But I like to use GA’s internal campaign tracking tool.

What? You’ve never seen or used the GA’s internal campaign tracker? It’s in the profile settings and it’s called Site Search tracking! Did I fool you ;)

Site Search can easily be configured to track internal campaigns. Let’s walk through the steps to set it up and then the data and analysis.

Step 1: Create a New Profile

Because we’re using Site Search for an unintended purpose it’s best to configure these settings on a new profile. It’s not possible to use Site Search for both tracking internal campaigns and internal site search within the same profile. You need to have a separate profile to track internal campaigns.

Step 2: Tag your Internal Campaigns

Once you’ve created your new profile it’s time to tag your internal campaigns. Internal campaigns need to be tagged in a similar manner to external campaigns: you need to add query string parameterrs to your internal ad.

However, unlike external campaigns you do not use the standard link tagging parameters (utm_campaign, utm_medium, etc.). You get to make up your own parameters!

You can use one or two parameters for internal campaign tracking and you can name then anything you want. The reason you can use one or two parameters is that GA’s site search configuration uses two parameters, one for the search phrase and one for the search category.

Whatever you choose, make sure the parameters are not used for anything else.

TIP: Check your Top Content report for a complete list of your site’s query string parameters. Verify that the parameters you create are NOT in this list.

For the sake of this post I’ll use the parameter icn (shor for internal campaign name). This parameter will holds the name of the internal campaign. I’m going to use the following format for the value of the campaign name parameter

icn=[internal-campaign-name]

I mentioned that you can use two paramters. You don’t need to use two, but GA’s site search can be confiugured to track the internal site search phrase and a site search category. We’ll use the category paramter to track the internal campaign name.

I’m going to name the second paraeter ici (short for internal campaign info). Again make sure the parameter you’re using does not already exist. This second parameter let’s me collect details about the ad the visitor clicked on and the location of the ad.

Here’s a basic format:

ici=[ad-creative]_[location-on-the-page]

You can see that I’m stuffing a lot of information into the parameter. You can put whatever you want and GA will gladly suck it in. By adding more information we’ll get a granluar view of how the internal campaigns perform and which locations and variations lead to tbe most conversions.

If you don’t have different types of internal ads, or just don’t care about this level of detail, then you can ignore the add internal campaign info parameter. It blank, it’s up to you!

Now you need to define the values for all the ads. Thic can get messy if you’re running a lot of internal campaign. But you can do it, just be organized! Use a spreadsheet to keep track of all the values you use.

Once you’ve got al your parameters it’s time to tag your links. The exact process depends on your site. You may need to change static links, like this:

< a href=”/internal-page.php?icn=2010-spring-sale&ici=stubs_home-roller >

Or if you have complicate flash ads you may need to get inside the Flash code. It depends on your site.

The bottom line is when somone clicks on an internal ad you want to see your internal campaign parameter on the next page. If you don’t see the parameter in the URL then you did something wrong.

You can use the sample spread sheet below to track the different parameters you use for your internal campaigns. The spread sheet also has a formula in column D to automatically add the parameters to your URLs.

NOTE: There is an iFrame in this post. If you can not see it, you can view the original post here or view the Google Spreadsheet here.

Once youe’ve got the parameters added to your links it’s itme to configure the Site Search settings.

Step 3: Configure Site Search Settings

Remeber, we’re configuring these settings on a new profile so we don’t break the site search in our main reporting profile.

Site search has three settings. First, turn site search on.

Next, tell GA the name of the paramter that holds the site search phrase (in this case it’s out internal campaign name) by adding the parameter to the ‘Query Parameter’ filed.

Next, choose Strip Query String Parameters. This setting will remove the parameter from the URL after GA processes the data. This is a good idea because it reduces duplicate pages in your top content reports.

TIP: You probably want to exclude your internal campaign name parameter, and internal campaign information parameter, from your other profiles. It can really mess up your pageview data.

If you’re using an internal campaign information parameter configure the Site Search Category settings the same way. Just make sure you use your internal campaign info parameter in the ‘Category Parameter’ setting.

Here’s how the settings look using the parameters from my example:

That’s it! Let’s look at the data.

The Reports

Let’s start by answering a simple question: do people who respond to internal camapigns convert more or less than those that do not respond to internal camapigns? To answer this question use the Content > Site Search > Usage report. Here we can see that there were only eight visits that clicked an internal campaign. Sad! But it’s just test data.

Now let’s drill deeper ad identify which inernal camapigns are most effective. Use the Content > Site Search > Search Terms report. Rather than search phrases this report contains the names of all internal campaigns. Again, what was the response to the campaign? Was it worth the effort? Don’t forget to check the Goals tab and the Ecommerce tabs (if applicable) to measure outcomes!

But let’s drill deeper to understand which ads within those campaigns are working. Click on a campaign name and choose Category from the Analyze drop down.

Now we’re looking at all of the information that we put into the ici query string parameter for this particular campaign name. If we had multiple internal ads we’d be able to differentiate ad placements and creative variations.

Don’t forget to use the Goals and Ecommerce tabs to measure outcomes! This is what most people want to know: did internal campaigns, and specifically which internal campaigns, generated revenue and conversions?

But we can do more. Now change to the Content > Site Search > Start Pages report. Now you can see which page people were on when they click on an internal ad. Again, more insight into where visitors responded to an internal campaign.

And for all those marketing folks that are so concerned with internal campaigns, how about creating a nice custom report and automating the delivery or, better yet, use the Custom Report Sharing feature to share this report with others. People will love this because you can change the wording so it does not say Site Search it says Internal Campaigns Report.

But wait, there’s more! What about using a secondary dimension to view the external marketing campaigns (or sources, or mediums) that drive visitor to react to internal campaigns. Perhaps the extrnal creative has some influence over how visitors react to the internal campaign creative. The data isn’t so hot in the image below, but you get the idea.

And finally, the ultimate in analysis, internal campaign attribution. We can use the Search Term Refinement feature if visitors click on multiple internal campaigns. Google Analytics will track all subsequent site searches, but in our case follow up site searches are actually additional internal campaigns that the visitor responded to. Honestly, I have never found any insights from this type of analysis, but you can do it if you want!

Ok, I’ve officially entered nerdville.

I think you get the idea. By adding all this data you can do many different kinds of segmentation and analysis. More than enough to understand the behavior of your site visitors and how your internal campaigns perform.

Last but not least, I’ll mention that you can track internal campaigns using events and custom variables. But both of those solutions require coding. And that requires working with IT. Using Site Search, in most cases, will not require any code changes to your site.

Google Tackles Campaign Attribution with AdWords Search Funnels

There’s been a lot of debate in the analytics community about campaign attribution and how to assign value to the various marketing touch-points that lead to conversions. If you’re new Campaign Attribution you should check out the book Web Analytics 2.0, it has a good, functional overview of the attribution challenge.

Throughout the discussion it has become clear that the classic first click and last click attribution models that many web analytics tools use are flawed. The problem is no one has come forward with a better solution to the attribution issue… until now.

Google has taken a very low-risk move by tackling campaign attribution for AdWords only. The new AdWords Search Funnel reports help marketers understand which cpc ads people see and click on prior to converting.

If you’re looking for details about the reports and how to use them check out the video below from Google. The new Search Funnel reports have not been rolled out yet so no one has had a chance to play with them. Hence no real description here :)

We’ve long known that people see a lot of different cpc ads during a sales cycle. Avinash Kaushik calls these keywords “upper funnel” keywords. They are used by people that are early in the buying cycle. While many of these keywords don’t always lead to a conversion they help educate a potential customer and move then closer to purchasing a product or service.

Even though they do not directly generate revenue there is some value in bidding on upper funnel keywords.

Up until now we haven’t had many ways to help us understand the true value of upper funnel keywords. Sure, we can use time on site or pageviews per visit to measure “engagement”, but that was a bit of a hack. We can also create all sorts of custom JavaScript to store the first click and last click in a Custom Variable. But again, these are just hacks.

The Search Funnel reports are a well thought out way to understand how people interact with AdWords ads prior to conversion and thus help us understand the ROI of our AdWords spend. The reorts provide insight into which keywords

I think this is a good first step by Google. They took reliable set of data that was just sitting around a data center and created some reports that will help marketers understand the real value of different types of keywords. This is all very low risk for Google with very high potential (read: more AdWords revenue).

The Google Analytics Path

But these new reports are also a good test of how users, and the overall analytics market, will respond to Google’s version campaign attribution reporting. Real attribution models are very complicated to create. They involve a lot of data about different types of campaigns (banners, cpc, email, etc.).

[Side note: Why is it that we haven't seen any DoubleClick data in Google Analytics yet? Pulling that data into GA will be critical for real attribution measurement.]

In addition to the data complexities, every business will have their own way to weight certain marketing activities in an attribution equation. For example, some companies may value email more than paid search. This business logic will be difficult to implement. Not impossible, but difficult.

At the end of the day the new AdWords Funnel reports are exciting. But I’m excited to see how Google takes information about how these reports are used and tackles the bigger challenge of true campaign attribution!

New Google Analytics Goals

We all know that it’s critical to measure conversions, or goals, for our website. But for a long time Google Analytics limited the number of conversions, and types of conversions, you could track with Google Analytics. All that changes today (October 20, 2009).

You can now create up to 20 goals per profile in Google Analytics. I can literally hear the applause at eMetrics :)

In addition to expanding the number of goals Google has expanded the types of goals to include ‘threshold’ goals for pageviews per visit and time on site.

I think we all know the importance of tracking goals, so I’m not going to get too deep into why you should use goals. If you’re not using goals you should start NOW!

Let’s talk about this new feature.

Goal Sets

Goals are now organized into four sets. Each set of goals can contain up to five different goals.

Google Analytics Goal Sets

Sets have been introduced as a way to accommodate all the new data in GA. In the report tabs, rather than one goal tab there can be up to four goal tabs in a GA reports.

New Google Analytics Goal sets in a report

When creating a goal you can place it in any set as long as there is room. Once you place a goal in a set it’s best to NOT MOVE IT. Google Analytics sees this as a NEW goal and does not move the previously captured conversions to the new goal.

TIP: I like to organize goals by business function i.e. put goals that are related together. For example, if you’re a content site, you might create goals for spending a certain amount of time on site (1 minute, 2 minutes, etc.). I would group these goals in a set all related to time.

Goal Types

In the old days a goal was a pageview that represented the completion of some high value process, like a thank you page. Now goals can be based on actions that have nothing to do with viewing a page. Conversions can be based on how much time a visitor spends on the site or how many pages the visitor views.

Time Based Goals

Time based conversions are triggered after a visitor has spent a certain amount of time on the site. To configure a time based goal enter the hours, minutes and seconds that a visitor must spend on the site before a conversion is counted. Once the visitor reaches that amount of time on the site then a conversion is triggered.

Creating time based goals in Google Analytics.

What’s interesting here is that you can create a time based goal if a visit does NOT reach a certain amount of time. If you choose ‘Less Than’ Google Analytics will trigger a goal if a visit does NOT reach a certain length.

Less Than Goals in Google Analytics

Why on earth would you measure this? I like to think of ‘Less Than’ goals as ‘Failure’ metrics. We often define success metrics, like Conversion Rate, but rarely define metrics to measure our failures!

Using failure based metrics really packs a punch when you’re talking to co workers or clients. For example, when you configure a failure goal you can easily measure and say, “Did you know that 97% of our traffic does not spend at least 2 minutes on our site? We suck!”

Abandonment rate is another well know failure metrics.

Time on site can be configured as a Goal in GA

Time based goals can also be very useful if you’re trying to MINIMIZE the amount of time people spend on your site. For example, if you have a support section on your site you may want to understand what percentage of traffic spends a certain amount of time on your site. Long term you can try to reduce the number of visits that are too long.

How about setting up a goal set for various time intervals and then try to move visitors from one “goal” bucket to the next. 10 minutes, to 7 minutes, to 5 mintues… You guys are bright, you get the idea :)

Remember, time based goals can be affected by creating virtual pageviews and events. Both of these activities send data to Google Analytics and can change how visit length is calculated.

Pageview Based Goals

Another new goal type is pageviews per visit. Like time on site goals this this type of conversion is triggered when a visit exceeds a certain number of pages. I can literally hear all the advertisers clapping out there!

Pageviews goals are set up in the same manner as time based conversions. Just specify a condition (greater than or less than) and the number of pageviews in a visit.

Pageviews per Visit Goals in Google Analytics

Like time goals, pageview goals can also be affected by virtual pageviews. If you’re creating a lot of data using _trackPageview() you need to understand that this can change your overall goal calculation.

URL Destination Goals

The old standby! ‘Traditional’ goals are now called URL Destination Goals. You can still use a regular expression, head match or exact match to identify a page that represents a goal. This functionality has not changed (you can learn more about goals in this old post.)

URL Destination Goal in Google Analytics

Now that we have 20 goals we can easily measure all of those micro conversions (RSS subscription, email signup, reaching product page, downloading white paper… etc, etc, etc).

And yes, you can still use a virtual pageview as a URL Destination goal.

Funnels

Google did spend some time tweaking the interface. The old interface always showed 10 steps in the funnel. Now you can choose the number of fields the funnel form displays. You’re still limited to 10 steps in total. This isn’t such a big deal.

New Funnels interface in Google Analytics

But think about the bigger picture. Do we really need funnels if we have so many goals? With 20 goals we can use a goal to represent each stage in a process, rather than a funnel step? So do we still need funnels?

Yes. Funnels provide a nice visualization of critical processes, so I think they are still relevant. Plus, you need to configure a funnel if you want to measure Abandonment rate, a very nice failure metric that can make people squirm :)

Odds and Ends

A few random thoughts re: new goals:

If you’ve been creating lots of profiles for goals you may want to consider consolidating all goals to a single profile. The benefit is you can have all your conversions in one interface. No more messing with multiple browser tabs and adjusting the date range.

If you need to control the access to certain goals, you may need to create a profile for certain goals and then give only the people who need access to those goals access to the profile.

A visitor can only convert at each goal once per visit. This is the way it’s always been.

And finally, creating new goals will not modify your historical data, only future data. So all those new goals you’re going to create this week will only track from the day your create them onward.

Segmenting Unique Visitors in Google Analytics

Google Analytics now has the ability to EASILY segment Unique Visitors. Some of you may be yawning, but I can hear many, many people saying, “That’s fuc*ing AWESOME!”

Google Analytics can now segment Unique Visitors.

Unique visitors is a critical metric especially in the advertising industry. But it’s also a really hard metric to measure because it take a lot of data processing power. Why? Because of the way unique visitors are identified and measured.

Google Analytics defines a unique visitor as a cookie. For all you nerds it’s the __utma cookie.

Every time a visitor visits a site GA checks for the cookie. If the cookie exists then GA knows the visitor has been to the site before. If the cookie does not exist GA sets the cookie and increases the unique visitor count.

The challenge is that every time you want to view a report that contains unique visitors GA has to literally count all of those cookies collected to find how many are unique. That’s why there was only one GA report with Unique Visitors (Visitors > Visitor Trending >Absolute Unique Visitors report).

But Google figured out some way to effectively count all of the cookies in real time. Now the unique visitors metric that can be added to any custom report.

You can easily add Unique Visitors to any Google Analytics Custom Report.

If you need to segment unique visitors you can simple create a custom report and include this metric.

Here’s an example. Let’s say you’re running a branding campaign for an upcoming movie. You want to measure how many actual people visit your website. You can create a custom report with the campaign dimension and the Unique Visitor metric.

There is one technical limitation. Google Analytics will sample data when a date range for the custom report contains more than 200,000 visits.

Still, I’m completely amazed that they figured out how to make this happen.

Google Analytics Custom Variables Overview

Today Google releases Custom Variables (cv for short) in Google Analytics. This is an evolution of the custom segmentation feature. This post is meant to give you an overview of the feature. We’ll discuss how to use it in a later post.

Like Custom Segmentation, custom variables are a flexible way to add more information to Google Analytics. The big difference is that you can create LOTS of custom variables. How many? In theory you can set an infinite number of custom variables. But GA has some internal limits that keep you to 50,000.

What can we use custom variables for? The possibilities are endless:

  • Segmenting members from non-members
  • Segmenting customers from non-customers
  • Tracking all the campaigns a visitor sees prior to converting
  • Content categorization
  • Segmenting visitors based on landing page
  • Visitor segmentation based on demographic info
  • Customer segmentation based on order history

Google Analytics Custom Variables are like data decorations!

As my friend Phil likes to say, custom variables are decorations that you hang on your data. Almost like holiday decorations hanging on a tree! This is a really good analogy that I’ll continue in this post.

There are four critical attributes of a custom variable that we must understand in order to use them.

Name and Value

The easiest attributes to understand are Name and Value. The Name of a custom variable is literally the name you give to the variable. Each variable can have many, many values. For example, you could define a variable named ‘Baseball Team’ and then add the values:

  • Red Sox
  • Yankees
  • Phillies
  • Giants
  • Angels

This is totally different than the old Custom Segmentation feature. With Custom Segmentation you were limited to one variable (ie one Name) that could contain multiple values. Now you can create multiple variables each of which can have multiple values.

You can view all of your variable names in the new Custom Variables report.

Google Analytics Custom Variables Report

It’s important to note that the name of a variable, plus the value for a variable must be less than 64 characters. Why? The data is sent to Google via a request for an image file. The actual length of the request is limited and Google wants to insure that all of the data makes it to the server.

Scope

Google Analytics custom variables depends on the scope of the variable.

The real power of custom variables comes with something called the Scope. Think of scope as the different ‘levels’ of visitor data. When a visitor visits a website Google Analytics collects data at three levels:

  • Pageview level: This is data associated with each page viewed during a visits. Page level data can change from one page to the next.
  • Visit level: This is data associated with the visitor’s entire visit. This data can change from one visit to the next. But visit level data is applied to every page within a visit. This data only exists for the CURRENT visits.
  • Visitor Level: This data is applied to the visitor and every visit and every pageview that the visitor generates. This data persists across all visits that a person creates. How does it persist? Via a cookie.

This means we can set information, ie custom variables, at the page level, the visit level and the visitor level. If we think of custom variables as decorations “hanging” on our data then we could use the following graphic:

GA Custom Variables "hanging" on your data.

So scope is the same as level. Anyone drooling out there?

The ability to control the scope of a custom variable makes this feature extremely flexible. For example, if you want to group all of the content on your site you can add a page level custom variable to every page that identifies the groups that a page belongs to.

If you want to segment visitors by their purchase history you can add visitor level custom variable. The possibilities are truly endless.

Let’s take a look at some of the reporting so you can get a feel for some of the data.

Here’s the Custom Variables report. You’ll notice it looks a lot like the user defined report. This report contains all of the variables that you defined. If you click on a variable you’ll see all of the VALUES for that variable.

So why has google added a scope if we can’t see it in the reports? I’m just going to let you guys speculate. But it’s obviously a critical part of CVs and we should see that data.

Index

The last attribute that we need to discuss is something called the Index. To be honest, it’s really hard to define the index. Basically the index is a technical attribute that helps GA organize all the custom variables on a page.

It’s only used during the implementation, so we’re not going to dig any further in this post.

Speaking of the implementation, you’ve probably noticed that I haven’t talked much about the implementation. To be honest, we’re still playing with CVs. Obviously this data comes from JavaScript. So you have to do some coding to get this data.

But I’m going to hold off on the implementation talk until later. Implementation involves another concept called the Index which is, to be honest, vague and confusing.

Find Out When Your Campaigns Suck with GA Custom Reports

One thing that I like about Google Analytics custom reports is the ability to actually do analysis with this feature. Sure, custom reports is a great way to change how data is displayed (for the annoying manager that only wants to see visits), but the reporting framework also offers a great way to do quicker, relevant analysis. This is done through the segmentation feature.

One challenge that many people face when trying to use custom reports for analysis is determining what data relationships they should create in order to do segmentation.

An easy way to get started is to consider what you have control over. I like to segment by advertising parameters that I can change, like time of day. Why? I can make immediate improvements based on the data in these reports. Let’s take a look.

Google Analytics Custom Reports

You’ve all probably seen the custom reports interface. You can drag metrics and dimensions to create your own report. The columns are different metrics (counts, ratios, etc) and the rows are dimensions, which are the attributes of our visitors and the visits they create.

We can also create a drill down functionality by nesting multiple dimensions in the interface.

Creating the Report

Getting back to our example, let’s segment marketing campaigns by the time of day. Remember, I can run my ads at different times during the day using almost all online advertising tools. Nothing new here, this is called day parting.

Here are the settings for the custom report. Nothing crazy, just a column for visits and a column for conversion rate (in this case a conversion is a sale).

The Data

So this custom report will show all our campaigns and if I click on a campaign we’ll see data for the selected campaign at all hours of the day:

Here we can see the traffic and conversion rate for our chosen campaign at different hours of the day. 6.25% conversion rate at 16:00, not bad! [Website conversion rate is 2.1%]

Now check out this data:

I don’t know about you, but I don’t like paying for traffic that does not convert. Here we can see that traffic sucks from 02:00 – 06:00. We may want to curb our spending at these hours and move the spend to a different part of the day.

[I know, some of the traffic may be 'upper funnel' traffic that is just starting the buying process. But we could easily modify this report to drill down to the individual keywords driving to make that determination.]

I could also create a different visualization that starts with the medium/source dimension, then shows the hour of day, and finally campaign name. This report would be useful if we wanted to look ‘across’ all paid traffic, regardless of campaign, but still retain the ability to drill down to the campaign level.

So here we have some really actionable info. If you’re looking to save some money you may want to see how well your time-based advertising performing at different times of the day.