Monday, August 16, 2010

Gold Medal to Custom Variables

On this occasion I have to give the gold medal to Custom Variables, yes, I've been using Custom Variables in Google Analytics since October last year. I can honestly say they have been the solution to almost every problem (and the answer for every excuse presented to me for not using Google Analytics). Most importantly, after implementing the solution and trying it, they are happy with the results!

Usually I would talk about the coding and the implementation in detail but this time I just want to list and expand on ideas for using custom variables as a solution for some of your needs.

1. First and Last Click Attribution


By default Google Analytics presents the source and medium of the conversion based on the last click that generated the conversion. However, many clients want to know which one was the final touch point that generated the purchase, enrolment, download, etc.. Using custom variables at visitor level we can obtain such information.

Imagine you have different campaigns (not only AdWords campaigns) for a specific product. If visitors come to your site for the first time as a result of an email campaign, you could set two Custom Variables; CVSource and CVMedium. To make this work you will need to add a piece of code to check if the Custom Variable is set or not. If the CVSource and CVMedium are undefined you will need to set them, otherwise don't do anything.

Now suppose a visitor has spent some time on your site but he/she doesn't complete the goal e.g buy the product. Then a few days later, the same visitor comes to your site from a link posted on Twitter and this time he/she completes the purchase. In a normal scenario you would see the purchase came from Twitter which is true but you want to know which campaign generated his/her first visit and maybe analyse why the first one didn't work whereas the second source did?

Using Custom Variables and the technique I outlined above (remember no excuses) you can determine which initial touchpoint started the momentum toward the final conversion. You don't have to give 100% of the credit for the conversion to the last source, you can split it between the first and last source to see which is better and how the campaigns work together.

2. Sections - Categories

Sometimes you have different content to present to visitors and different goals classified by categories in your website. These categories could be presented as part of the menu, lists, sub-menu, etc. You could then set Custom Variables for a session level or in some cases for a visitor level. As a result you can identify the category that has been visited most much more easily than filtering by content in your content report in Google Analytics. This also allows you to check which categories are driving more visitor to complete a particular goal and which ones are the most effective for converting or completing goals.

3. Segmentation by Type of Information

3.1 Demographic

Many sites use forms to collect information required for purchasing products or services. Awareness of trends in the market and understanding customer/client needs are important to targeting the right audience at the right time with a campaign to promote a product or service.

Imagine your marketing team has created two new ads; one targeting young females and the other targeting families. If the customer already has a login and has previously entered information such as age, gender, income and occupation this makes it easy to segment them and target the ads.

3.2 Location

Not all the classifications defined for a location are available by default in Google Analytics because they are not standard for each country. You can see your reports segmented by ontinent, Country/Territory, Sub Continent Region and City but what if you would like to see that information classified by State/Province or by smaller locations inside the City e.g. by suburb. Use Custom Variables! It's up to you to find creative ways of capturing the specific locations your visitors are coming from but if you can access that data you can assign that value to your Custom Variable in a visitor or session scope.

4. Comments and Rating

If you have implemented a plugin or tool to add comments to your articles for example in a blog or rating a product or service. You could use Custom Variables to see how many commentators rate your product, service or blog post 'good' or 'bad'.

Let's say you set a Custom Variable call Ratings_Feedback with two values 'Good' or 'Bad'. Then, each time someone rates a particular element in your website the value will be stored in the Custom Variable. You can then look at your reports and find out: how many ratings you have; how many visitors out of the total using the plugin tool; and how many rate a specific product or service as 'good' or 'bad' etc.

I have found using Custom Variables very interesting and effective for all sorts of challenges, and great for insights into using the e-commerce tracking code and/or event tracking. My final suggestion, before you start implementing Custom Variables across your site is to analyse your needs very carefully. Try to find if you can get the data you want to see with the default dimensions and metrics provided by the UI.

If it is not possible to do it with the standard tracking code, e-commerce tracking code, virtual pageviews and/or event tracking, then take time to define and design the use of the Custom Variable. By following my advice (remember no excuses) you are sure to get the right information you need to segment and analyse your data for great results!

I hope sharing my ideas for using Custom Variables will help you experience the benefits of this excellent feature provided by Google Analytics, and of course make your reports easier, more effective and more impressive!

Wednesday, June 16, 2010

Pivot Tables in Google Analytics

If I ask: how many times have you use Pivot tables, probably you will answer hundreds of times in Excel, but if I ask: have you use pivot tables in Google Analytics? maybe your answer will be, I didn't know GA has pivot tables!. For almost a year this feature has been present in the GA reports, but not many people know it despite of its great benefits. As you know the default view for the reports in GA is table, where you can see the information organized by columns and rows by 1 or 2 dimensions but you can't group them unless you use advanced segments.

However, an easier way to use a multi - dimensional view and compare results in a same table is using the pivot table feature. Using this feature you can rearrange significant information without exporting the data and importing it to an external spreadsheet. More important, you can do this on the fly because you are interacting with updated information directly in the application. Now, you can find this feature in many reports at the 5th column of the list of Views.

Although the pivot table is available in most of the reports, I have taken the time to check for you each section. Below there is the list of the reports where you can use the pivot table view.

Section
Sub - Section
Report
Visitor
Main Level
News Vs Returning


Languages


Custom Variables

Browser Capabilities
Browser


Operating System


Browser and OS


Screen Color


Screen Resolution


Flash Version


Java Support

Network Properties
Service Providers


Hostnames


Connection Speeds

Mobile
Mobile Devices


Mobile Carriers
Traffic Sources
Main Level
Direct Traffic


Referring Sites


Search Engines


All Traffics

AdWords
AdWords Campaigns


TV Campaigns


Keywords


Campaigns


Ad Versions
Content
Main Level
Top Content


Content by Title


Top Landing Pages


Top Exit Pages

Event Traffic
Categories


Labels


Actions


Trending
Ecommerce
Product Performance
Product Overview


Product SKUs


Categories

Main Level
Transactions

Let's look at some ideas where you can use this report. Imagine you want to see the visitor trend by type (news vs returning) grouped by Browser, and to compare the performance of each one of them, maybe number of visits vs pages/visits or bounce rate, so you can go to the news vs returning report and choose the view 'Pivot Table'. Then you will have the option to select the dimension to pivot by, in this case we select Browser, and as metrics visits and bounce rate.



However, you want to see the same information but showing in the same screen the top 10 browser. What you can do then is to go to the Browser report and pivot by Visitor type this time.


I've found very useful the pivot feature when comparing keywords, adgroups and/or campaign performance. For instance, if you go to the report Keywords and click in the view pivot you could pivot by Visitor type as we did in the last example.

Interested in more information tips for GA? Visit www.analyticsresults.com

Tuesday, March 23, 2010

Suburb Matchmaker & Land My Business Waiting for You


At the end of 2009, Suburb Matchmaker, an application that I created with two friends, won the Best Student Entry price in a contest sponsored by the Government 2.0 Taskforce. Once again, Suburb Matchmaker has been submitted to another contest after some additional work that has been done to improve it. This competition is called apps4nsw, and it has the aim to promote the development of creative and innovative applications on web using data from the public sector.

There are three categories available: Ideas, Ideas (students) and Applications. In this opportunity we are participating with an idea that we called 'Land My Business' and with 'Suburb Martchmaker' as application. Although we wanted to submit 'Land my Business' as application after creating the idea last Saturday ( 20th of March 2010) and being nominated as one of the two winners at the recent apps4nsw Hackfest, the submissions were open until yesterday and it was not possible to get ready the domain ready on time. However, we believe that our idea is very useful and we would like to continue developing it as we did with Suburb Matchmaker.

If you want to know more about Suburb Matchmaker and Land my Business, we have posted two short presentations that could give you an idea of both concepts.

- Land My Business Presentation
- Suburb Matchmaker Presentation with Audio

You can find our entries in the contest for Suburb-matchmaker as Application and for Land-my-Business as Idea.

We are open to receive comments, suggestions and any feedback that can help us to improve both concepts.

Friday, January 8, 2010

Asynchronous Tracking Code - Google Analytics

Google Analytics announced a couple of weeks ago the new Asynchronous Tracking Code. Before starting to explain how the new snippet looks like, we would like to tell you why you should use it. When you talk to clients and general users of Google Analytics about installing the tracking code in their sites, some of the concerns that come to mind are:
  • How long time their sites take to be loaded?
  • How many JavaScript functions are they using in their website?
  • How much data I could lost bearing in mind that other JavaScript functions can affect my Google Analytics Tracking Code (GATC)?
  • How much the right execution of the GATC depends of the other JavaScripts installed in the sites?
With the new Asynchornous Tracking Code you no longer have to worry about these issues. Before, the Tracking Code was executed sequentially following the program flow and within the rest of the code included in the website. Using this alternative the tracking code will be executed independently, which means that it does not affect the execution of other processes being processed to load the page correctly.

If you are using heavy custom scripts that makes your website slow to load, you have a site with rich media content and long data or you just want to improve the accuracy of your data collection? Then, we recommend you to migrate from the traditional tracking code snippet to the asynchronous one. It is just an option, you can continue using your traditional tracking code, but you can get lots of benefits with the asynchronous snippet. The next are some of the benefits listed by Google Analytics:

• Faster tracking code load times for your web pages due to improved browser execution
• Enhanced data collection and accuracy
• Elimination of tracking errors from dependencies when the JavaScript hasn't fully loaded

Now, that you know why using the Asynchronous Tracking Code is a good idea, lets have a look to the changes in the snippet and the steps you should follow to do the migration.



Yes, I know, it looks very different, but don't worry, after you finish reading this post you will be able to make the migration and understand how does it work compared to the traditional snippet. We have highlighted the most important change in the snippet, which are related to the initialization of the page tracker object and the call to the trackPageview method.

First of all, for the traditional tracking code we use the variable _gat and for the asynchronous _gaq. Both of them are global objects and perform similar functions but are called different. Secondly, in the traditional form, we declare a variable pageTracker and we initialize the page tracker object using the method _getTracker, which has as parameter the web property ID (Account to track). Subsequently we call the method _trackPageview which extracts the cookie values from the URL, and create or update the document object.

In the asynchronous tracking snippet we create a global variable _gaq, which will call the method push but with different parameters. The mothod push is used in the new tracking snippet to execute the commands passed as parameters, where the each parameter is an array of commands. The first time we call push we pass the array ['_setAccount','UA-XXXXX-YY'] to set the account, and the second time we call push we pass the array ['_trackPageview']. What we can see until here? well, comparing the traditional and asynchronous snippets we can figure out that in each array passed as parameter to the function push, the first element of the command array is the method we want to execute and the rest are the parameters for that method. For instance, UA-XXXXX-YY is the parameter for _setAccount and_trackPageview in the standard mode doesn't have any parameters.

The methods used above are for the simplest or standard use of the tracking code; however, all the functions available in the traditional tracking code can be implemented with the asynchronous snippet. You only need to pass to the method 'push' the right command arrays. For example, if you are using cross-domain or tracking multiple domains you could pass as parameter to the push method ['_setDomain', 'none'] and ['_setAllowLinker', true], which would be equivalent to pageTracker._setDomainName('none') and pageTracker._setAllowLinker(true) in the traditional snippet.

We know that most of you are already using the GA with other tools such as Website Optimizer. Don't worry you can continue using them with asynchronous snippet. The next is an example of Asynchronous GATC with GWO for a multivariate experiment.



Although we could show you hundred of examples showing the equivalent functions between the traditional and the asynchronous snippets, we have decided to give you a brief description and idea of the benefits you will get with the asynchronous tracking code as well as some tips in case you decide to install it.

By experience, the easiest scenario is if you don't have installed any Google Analytics Tracking Code (GACT). In that situation you just have to put the asynchronous tracking snippet shown above at the bottom of the head tag in your website. However, if you have installed GACT already, we suggest to follow the next recommendations or tips to be sure that the migration is performed successfully.
  1. Choose a simple page or website where you want to try the asynchronous tracking code by first time.
  2. Take a backup of the pages you will modify with the new snippet and then remove any existing tracking code you have in them.
  3. Forget about placing the GACT at the end of your web page (before closing the tag) because the Asynchronous will be installed at the top of the page, just after the head tag. If you have more calls to scripts included in the head section, put the tracking code as the last script in that section.
  4. Because of the function push is used all the time, you could simplify the code, passing several command arrays in the same call to the push function. e.g _gaq.push(['_setAccount', 'UA-XXXXX-X'],['_setDomain', 'example.com'],['_trackPageview']);
  5. If you want to use event tracking and e-commerce visit the Asynchronous Tracking Usage Guide for more information.
I hope you can start using the asynchronous tracking code, and enjoying the benefits of this.

Wednesday, January 6, 2010

2009: A Year To Remember?

After all, yes. 2009 it's a year we will not forget specially for those like me that became immersed in the world of Web Analytics. Different vendors were really busy during 2009 trying to provide the best for their clients and to beat competition. I recog the hard work done for most of them bearing in mind the fast changes in Web Analytics trends.

Let's see which features where launched in 2009 from some of the biggest vendors.

Google Analytics
  • Track Google Site
  • Integration of AdSense and GA
  • Integration of Google Ad Planner and GA
  • Share custom reports and advanced segments
  • Advanced Segments for Event Tracking
  • Google Analytics Export API
  • Increase number of Goals and new Goal Types
  • Expanded Mobile Reporting
  • Advanced Table Filtering
  • Unique Visitor Metric
  • Multiple Custom Variables
  • Analytics Intelligence Report
  • New Asynchronous Tracking Code
  • Annotations
To see more information about it, last 31st of December the Official Google Analytics Blog posted a month by month breakdown of new features launches from 2009, being the last quarter of the year the one with more significant features launched.

WebTrends
  • Social Media Measurement
  • Multivariate Testing
  • Analytics 9 that came with Annotations, real-time update for key metrics, and streamlined graphics.
  • WebTrends Self Service Access and Collection API
  • Mobile Measurement
Coremetrics
  • Campaign Cloning feature
Omniture
  • Social Media Measurement with the SiteCatalyst Extension
  • Twitter tracking application
  • Omniture SiteSearch
After a complete year of changes and introduction of great features, what most of the vendors coincide is that 2010 comes with new needs to measure our online marketing and websites performance based on Social Media and Mobile Tracking.

Wednesday, December 16, 2009

Suburb Matchmaker - Best Student Entry Winner


Few weeks ago, two friends and I participated in a contest called Mashup Australia organized by The Government 2.0 Taskforce with the aim to help them ‘show why open access to Australian government information is good for our economy and society’.

Our application was called Suburb Matchmaker and won the Best Student Entry prize. How was Suburb matchmaker born? Our team was only formed at the Open Australia Hackfest at Google where people with different skills developed mashups using data from the government for the benefit of citizens. Although we all had a number of ideas, we had a common interest in the data related to crime statistics from http://data.australia.gov.au/.

We believe that information is only as powerful as the application that is given to it. We decided to use government data to help citizens find the best suburb for them by providing their preferences in a number of factors (more families with children, with no children, more single people, etc). At that point we had one week to finish the mashup. We also used crime data to provide information about the crime classification and incidents in each area of NSW.

One of the benefits of Suburbmatchmaker is that not only can people find the area of their dreams to live based on the suggestions from the application; but also, those who are not looking for a new suburb to live in can find out more information about their area and to connect with it. Such information and trends are displayed in a text mode and in more detail with a dashboard. Also, you can see the key findings of Crime victimization in Australia, based on results of a survey conducted by the Australian Institute of Criminology in 2004.

Another benefit of this mashup is that it allows citizens to interact with the information by providing a space to promote events and post pictures of their area. This part of this application could be of particular interest for isolated communities interested in attracting more visitors and people to settle in the community.

Go to visit Suburb Matchmaker and/or follow us on Facebook

Saturday, December 5, 2009

Google Analytics - Intelligence Report 2nd Part

In the last post (Google Analytics - Intelligence Report) I started talking about the Business Intelligence report in Google Analytics. But I just highlighted the main features of that. However, that is not everything, now that you know that you can create custom alerts where you can specify to Google Analytics what to watch for, we would like to tell you how to create and manage custom alerts.

There are two ways to create custom alerts:

1. The easiest one is from the Intelligent report, clicking '+ Create a Custom Alert'.
That action will take you to a new page where you specify the conditions to trigger the alert.

1.1 Enter the alert name
1.2 Specify to the profiles that you want to apply the alert using the drop-down menu
1.3 Select a period (day,week,month) to apply the alert.
1.4 Select the check-box if you want to receive an email when the alert is triggered.
1.5 Create the conditions for the alert. The conditions are divided by dimensions and metrics.

Lets say that you launched a new campaign in three regions and you want to know if there is an impact for only the visits that come from a specific city, and when they exceed certain number. In order to do that you will select as dimension city and as condition the city you want to monitor.


And then you select the metric and value which will decide when to trigger the alert.





1.6 Finally you click 'Create Alert' and this would be displayed in your Intelligence report when the alert is triggered. A difference with the automatic alerts is that custom alerts are applied to the report since the moment that they are created. For example, if the number of visits for that city was greater than 1500 yesterday but the custom alert was created today, the user will not see that custom alert in the report. If the number of visits is exceed for the same conditions in a future and the custom alert is still applied to that profile they will be shown in the report.

2. The other way to create custom alerts is accessing the 'Manage Intelligence Alerts' panel found at the left hand of the screen under 'My Customizations' menu



In this panel you can not only create a new alert, but also import alerts from other profiles. See other alerts created under that account, and being there you can delete them, hide them or edit them.

2.1 To import an alert from other profiles click 'Import alerts from other profiles'. This action will display a dropdown list with other custom alerts created.

You will see the new alert imported and several action that can be applied to that alert.
As you can see in the image you can edit, copy, share, delete and hide from profile the alert imported. 'Avg. Time on Site > 10'.



NOTE: Delete an alert means that you are going to delete the alert not only from this profile, but also from all the others that it has been applied. While Hide From Profile in other words means delete the alert only from this profile.


2.2 You can also display Other Alerts for that account and add them to this profile.
2.3 Finally you can see the alert templates and copy and then edit them for our own purposes.