Google Analytics SDK for Windows 8 and Windows Phone

The Google Analytics SDK makes it easy to connect your Windows 8 and Windows Phone apps to Google Analytics using its new Google Analytics Universal Analytics service.

On 3/22/2013, Google "reimagined" their analytics API and introduced the new Universal Analytics service. If you are building an app for Windows 8 or Windows Phone that uses Google Analytics today, this library is for you.

Specifically, if you created a new Google Analytics property after 3/22/2013, use this SDK.
If you created your Google Analytics property before 3/22/2013 and you don't want to create a new one, use a different SDK such as Google Analytics for WinRT (Windows 8 "Metro" apps), Google Analytics for Windows Phone 7 and 8, or GoogleAnalyticsTracker
This SDK is only compatible with newer Google Analytics properties, the other libraries listed above are only compatible with older "Classic Analytics" properties.

A brief history of Google Analytics

Google Analytics was originally built to track websites. Apps were allowed to participate by pretending to be websites. Over time, Google was able to hide this from developers by building SDKs for iOS and Android along with adding the ability to create new analytics properties without requiring a valid domain name.
Recently, Google overhauled the service and shipped the public beta of it's newer Universal Analytics service. Along with this update, they invented the new measurement protocol. The universal analytics service (and underlying measurement protocol) were made with both websites and apps in mind and offers a variety of great features to help app developers track application usage better than before. Nice work Google!

So how do app developers take advantage of this new service and protocol?

If you're an iOS or Android developer, Google ships SDKs for these platforms:
Google Analytics SDK for Android
Google Analytics SDK for iOS

But what about Windows 8, Windows Phone, and other platforms?
This is where the new measurement protocol comes in. Any app on any platform can utilize the analytics service in the same way that the iOS and Android SDKs do as long as it adheres to the measurement protocol spec and policy. The good news is, you don't have to do it yourself. This project makes it easy to add the latest and greatest version of Google Analytics to your Windows 8 (JS and Xaml store apps) and Windows Phone apps just like you can in iOS and Android today.

What about other existing Google Analytics libraries out there for developers?

There are already some fantastic libraries out there today for the Google Analytics classic service (aka UTM or Urchin Tracking Module). These libraries will continue to work today and tomorrow. However, UTM does not support all the great features that the newer universal analytics service provides. Furthermore, Google no longer appears to support creating new UTM based properties for apps So if you haven't already created your property on the Google Analytics site, you must now either supply a real domain or use the new measurement protocol.

OK, So what is so great about the new universal analytics service and measurement protocol for apps?

Here are a few features that have stood out to me:
  • You can now create a single property for your app and create unique profiles to filter per platform and/or version of your app. This cleans up your GA account and allows you to easily compare and contrast performance on various platforms.
  • Application exception tracking!
  • E-commerce (in app purchase) tracking
  • Timing tracking to measure app performance at critical moments of your app.
  • Improved custom dimensions & metrics
You can also read more here and here.

About this SDK

This SDK is intended to have feature parity as well as API similarity (adjusted for .NET best practices) with the official Google Analytics SDK for Android. Download today or peruse the docs -- and don't forget to leave feedback in the discussion forum. Start tracking your apps today!

Last edited Jul 4, 2013 at 10:15 PM by timgreenfield, version 26