This past March, I wrote a tutorial that described some techniques of measuring mobile traffic in Google Analytics. Believe it or not, you can’t just set that kind of stuff and forget it. In just the eight months since then, the topography of the mobile landscape has changed, and I wanted to share some changes that I’ve made to improve tracking of mobile devices as a result. The key sign for me was when I logged in and noticed we were missing all the newer smartphones (unfortunately I don’t keep close tabs on this report due to resources) due to a minor issue with the resolution filter I originally described. Collecting and interpreting analytics well requires a fine hand and attention to the metrics and what they mean; using a set it and forget it mentality is better than nothing, but will prevent you from getting at the best information you could collect.
The key problem is that the original screen resolution filter described in the first article operates on a now false premise: mobile devices are sub-VGA in resolution. By now I’m sure you’ve heard of Droid, the new Android 2.0 based smartphone from Motorola. Now, that is just one example, but it’s hitting a whopping resolution of 854 x 480. The HTC Touch Pro2 runs 480 x 800, and even it’s older sibling was 480 x 640. By comparison, the iPhone and iPod Touch’s resolution is 320×480. Higher res. screens on mobile devices are the new trend, one that I’m not entirely convinced that they won’t possibly rival netbook resolutions soon. Sure, we could just add some of these resolutions to our initial filter (which I did), but that doesn’t entirely solve the problem. This is especially true since once you break the barrier of VGA resolutions, you run the risk of sniffing out normal computers.
My solution is now a two pass system in our Google Analytics mobile traffic profile. I’ve kept the resolution filter in place as the starting include filter since that’s still the best and most reliable place to start, and modified it to account for the higher resolutions. I took a simple approach and just added in the main increments that we’ve seen on the upper end of the spectrum: 480, 640, 800, and 854. You could just as easily simplify the entire thing to grab everything 854 and down (you’ll see why this works in step two) as that seems to be the current top mark for phone resolution at the moment. My resulting regex for the new include filter based on the old one is:
A simpler approach (which matches anything 899×899 or less) could just be:
That’s step one. The issue is that you are guaranteed to catch normal Windows users with either one of those filters (Apple machines almost always have higher resolution than that, even older machines, but I’ve learned there are no absolutes in analytics). That’s where the second pass comes in to play. After the first filter, which tells the profile what to include, set up a custom exclude filter on the field “Visitor Operating System Version.” For the pattern, have it exclude matches for:
This will get rid of all relevant versions of normal desktop Windows (Windows 7 reports as NT currently, as far as I can tell) and OS X, and leave you with a nice pool of mobile users to paw through. This should even allow you to scale up the resolution filter as smartphone screens improve and maintain your reporting accuracy, though you might want to add Linux to the exclude filter then too.
If anyone has come up with what they feel is a better solution, I’d love to hear about it in the comments so we can discuss ways to improve upon the method I’ve offered here. So far, I’m very happy with the results this is producing for us, but we also have a pretty small mobile device user base, so it’s not easy for me to tell how well this might work in a larger environment where more variables might come in to play.