Google Analytics Custom Reports

dimensions New features arrive in little bursts with Google Analytics and in the last burst along with Advanced Segments was Custom Reports.  The first thing I did with GA when these arrived was play around with Advanced Segments until my list of custom segments was so unmanageable that I had to start using two logins to manage the different types of segmentation I wanted to do!

Custom Reports became a bit of a poor relation.  When it first came out I couldn’t think of a good reason to create a custom report – so I left it well alone.  After a while of using Advanced Segments I was pleased with myself as I had worked out how to follow a tagged email campaign link through to any transactions associated with it (and therefore revenue) and the products that were purchased.  This was great – the ability to see exactly what items were purchased after somebody had clicked on a specific email link in a campaign.

It was a tedious process though, you had to identify the link in the campaign that had generated revenue (taunted by the not-hyperlinked ’15 transactions’ it was associated with), then create an Advanced Segment for that link (it was tagged using utm_term, which is presented in the ‘keyword’ dimension), then apply that segment and look at the Ecommerce transactions to see which transactions (and therefore products) were associated with that link.  Long winded huh?  Especially if you wanted to investigate several revenue-generating links.

Custom Reports to the rescue!  Using Custom Reports, it is simple to set up a report that uses ‘Campaign’ as the main dimension, then drills down to the ‘keyword’ dimension, followed by ‘transaction’, followed by ‘product’.  Drop the metrics you want to see along the top, and you’ve got a drill down report that begins by listing your campaigns, and allows drill down all the way to product level.  Fantastic.

Easy to create a drill down report

Easy to create a drill down report

No more laborious Advanced Segments to create!


Google Analytics Advanced Segments: fuzzy understanding

Something is bugging me.  A respected web analytics expert, blog writer and Google Analytics evangelist Avinash Kaushik has disturbed my equilibrium on the subject of Advanced Segmentation in this post.

To cut a long blog-comment-ping-pong game short, I drilled down to a single fact/assumption that underpinned his analysis which I’m not 100% sure about.   The assertion is most easily explained with an example:

1. A visit to the website occurs 30 days ago from a ppc campaign “randomCampaign”.  You can set up an advanced segment to constrain your reports by “Campaign=randomCampaign” so you can see visits to the website from this campaign.  All good stuff.
2. Now imagine that the same visitor decides to visit your website again, but this time as he knows the url he types it into his browser and for this visit is therefore “direct”.
3. In a couple of days we run a report on Google Analytics constrained by the “randomCampaign” segment for a time-span of say, 5 days.

Underpinning the methodology Avinash is using, he is expecting that the report in step 3. includes the visit that occurred in step 2., despite that visit being a “direct” visit and not a “randomCampaign” visit.

My understanding is that the segmentation will act on the visits that occurred in that time-period and the dimension that is being segmented by must apply to those visits, not previous visits outside the date range.

Now we don’t seem to agree on this, but luckily it is something we can test.  So starting today, I’ll begin an experiment to test the above and I’ll report my findings here in a week or so…


Couple of days later…

So here is the quick test I ran:

1. I cleared all the cookies from my browser.
2. I visited my website from a referral:  I made sure I knew which page I visited.
3. The next day, I went to the website again, but this time I typed the URL directly.

My original thinking was that visit in step 2. would be a source=referral, and the visit in step 3. is a source=direct.  Wrong wrong wrong!!

Despite the visit in step 3. being a ‘direct’ visit, GA is clearly reporting the source for both visits as the original source that is associated with me.  This explains why when you set up an Advanced Segment, say for this example where ‘source =’, both visits in steps 2 and 3 will appear in your segmented reports.  Which validates Avinash (surprise surprise) and forces me to accept a whole new paradigm…

So in summary: when you view the ‘direct’ report in GA, the visits that are registered may or may not have been ‘direct’ – only their very original visit to the website was ‘direct’…  This applies to any of the source dimensions – which poses several interesting questions…

Edit: further clarification here at Justin’s Epikone blog on how GA tracks bookmark visits.

Premium version of Google Analytics

Before you get excited, no, there isn’t a premium version of Google Analytics yet.

Edit (29/09/11): They released it yesterday: and according to a couple of sources, it’s going to cost about $150k per year. 

But I sincerely hope that they are working on one – I’ve mentioned before that it’ll be great news if Google release a version of Google Analytics that you have to pay for.

So here I’m beginning to compile a list of the things that I come across every day that I wish is in Google Analytics, and would be happy to pay for:

In no particular order…

  • Advanced Segmentation: I would love for AS to be enabled for Goal Funnels…
  • “This report is based on sampled data.  Learn more.”  I would really like to not see this message.  It means that the numbers I’m looking at are not the real numbers.  Even if it took a little longer for the report to run, I’d like the ability to see the complete picture and not their “sampled data”.
  • Data backup.   One day it might happen – someone with administrator access on my account accidentally (or maliciously – eek!) deletes my GA account.  Disaster!!!
  • Retrospective filters.  You apply a filter and it acts on your data retrospectively Implemented with Advanced Segmentation.  Thanks!
  • Multiple dimensions.  At the moment you can set a ‘user defined’ variable, but you cannot add several custom dimensions that you can use to slice and dice your data
  • Annotation.  Like the charts you see on Google Finance or Google Trends, I’d like to be able to annotate my charts with significant events that I know of that might explain certain trends etc.  Done!
  • More AdWords integration.  Sometimes there are campaigns and AdGroups that you see in analytics that confuse you – which ad is that again?  To be able to click through to see the ad text and other details would be nice
  • On charts overlay profiles (or segments as they might be called) – so if you have multiple profiles set up for a single website with each profile having a different filter applied (you might have one that shows organic search only and another with paid search only), I’d like to be able to take any chart and add data to it from another profile.  So you’d get a data series for each profile you added. Implemented with Advanced Segmentation
  • Related to the previous one – it would help enormously if you could duplicate a profile from an existing profile – that way you don’t have to set up your goals etc all over again… Implemented with Advanced Segmentation
  • Ecommerce transactions.  These are a must for any website that sells stuff online.  When you look at a particular report, you can click the Ecommerce tab and see the revenue associated with that referral source, or region etc.  It even tells you the number of transactions that are associated with that record.  What I’d *love* to be able to do is then click on the ‘transactions’ value, to arrive at the list of those transactions so I can identify the products purchased.  I will then be able to quickly ask the question: “what do people that come from X tend to buy the most”.  Instead what I have to do now is set up an Advanced Segment constraining the report by X in order to see what the transactions were, and whilst this works, it is a very time-consuming process.

Google Analytics feature request…

For a free package, you cannot beat Google Analytics. But now surely we are getting to the point where the clever engineers behind the scenes are building a list of new features that will be bundled into a ‘premium’ package, where a subscription fee will be levied.

Personally, I would be over the moon if this were to happen, because then we would be able to request features with more of an expectation that they will take them seriously (not that they don’t now, it’s just that if we paid for it then they would have to take us even *more* seriously).

One of the good things about GA is that they keep your analytics data for a very long time. We’ve had our account with them since 2006, and being able to go back that far to analyse traffic and behaviour is very powerful. Sometimes though, it would be nice to be able to delete or ignore some data – for instance one particular institute in Tempe, US, decided to build a bot that executes javascript and then crawl all over our site. For the most part, we can happily use GA in the knowledge that most spiders don’t execute javascript, but this javascript-executing-bot now appears in my GA data (as GA data-collection is javascript driven).

So I’ve got this nasty spike of data that I’d just like to be able to select, then hit the ‘ignore forever’ button.

Annoying bot

I guess, that when Google do decide to tap into the thousands of organisations that really want more features and are happy to pay a premium, this would be one of the many features I’d ask for… as well as more Goals, better page-flow analysis, page-rendering-time data, more than one custom dimension, the ability to break out traffic from Google across the country-specific domains, etc etc etc… 🙂

Google analytics – zero visitors but 30,000 pageviews?

Surely something wrong here – look at the following graphs: circled in red are the visitors and pageviews for Monday – how have we got 30,000 pageviews with zero visitors? Zero visitors, but 30,000 pageviews

Edit: Ok – this is me getting too keen to see the data before it is ready.  Apparently, the visitors number is updated less frequently than the pageviews number so it is possible that visitors hasn’t been updated at all for that day, but the pageviews has. So, if this is true, later on today I should see the visitors number climb upto normal levels…  Funny, I’ve been using GA for years and this is the first time I’ve noticed this.

Google Analytics goal conversion reported inconsistently

If you look at the screenshot of the Goal Funnel, you can clearly see that the % conversion on the graph (Goal4 conversion rate) is different (about half the value) to the % conversion detailed below in the funnel. I have constrained this to just one day of data for simplicity. There is something wrong here I think. Our Omniture reports are consistent with the funnel conversion figure of 79% – I’ve no idea where the 36.9% figure comes from…

GA Goal Funnel

[edit] Ok, so having posted on the GA forum, I’ve been informed that the chart is reporting the percentage of visitors that reached the end goal, regardless of whether they met the funnel entry criteria.  I don’t think the page is clear – it is a page reporting on the goal funnel so I didn’t expect site-wide metrics in there…