views:

467

answers:

6

Is there an R package that connects to the Google Analytics API? Does anyone have any pointers otherwise?

+5  A: 

Well, there's one option (that i am aware of) for explicitly connecting the two (Google Analytics & R).

This option requires R-DCOM (an interface to COM and DCOM to access R); you can get that here.

So i guess this is limited to Windows/.NET and C# (or any .NET language, i suppose).

I haven't used it (incompatible OS) but i have set it up for someone else; at least install & set-up are fairly straightforward:

  • install DCOM

  • then config--begin by executing the "dcomcnfg" in the console window

  • this launches a component mgr; search StatConnectorSrv in DCOM components for 'properties'

  • update the permissions--done.

There's a also complete tutorial, source code included (C#), for DCOM setup/install and building a small App that has programmatic access to Google Analytics and R, available here.

But if all you want to do is get the data into R, all the pieces you need are readily available, e.g., my workflow:

  1. export the data i need from the GA main panel. GA delivers your data in XML.

  2. parse the raw data using the XML library (not part of the base distro, but available on CRAN)

  3. (also pretty obvious) i store my data in an R dataframe (for analysis only, later it's broken up into tables and stored in a PostgreSQL database, using the RPostgreSQL package, which provides the drivers and R interface (DBI) to the pg database).

Lastly, it's not GA but another Google data resource with an R interface: the Omega Project has a fairly new R Package that provides an interface to GoogleTrends (called 'RGoogleTrends'), available here.

doug
Doug, I think we spell it 'RPostgreSQL' not 'R-PostGreSQL' :)
Dirk Eddelbuettel
Yes, thanks Dirk, editing now. Perhaps because i am not a native English speaker, words which have capital letters in the middle are a constant source of confusion for me. In the future, if you find it quicker/easier, just edit my post.
doug
so this is a correct answer but unfortunately i'm an os x user however i'll reward the thorough nature. I could export the data manual but I'd like to automate the workflow. It looks like I'll be building an R wrapper for the Google Analytics API.
Dan
+1  A: 

It would be fairly simple to create a wrapper using the RCurl and XML packages (very similar to the nytR or RGoogleDocs packages).

Shane
" fairly simple " depends on who is creating the wrapper...
Tal Galili
+1  A: 

The Google Analytics API site has an example on how to retrieve analytics data using curl http://code.google.com/intl/fi-FI/apis/analytics/docs/gdata/2.0/gdataProtocol.html so supposedly you should be able to modify the examples and use Rcurl to retrieve the data.

There is a nice python package for getting data from GA that might give you some hints: http://github.com/clintecker/python-googleanalytics

Matti Pastell
+3  A: 

I'm actually building one now, i'll aim to get it onto CRAN as soon as possible

Mike Pearmain
Wonderful! Once you'll get it ready, I'f be very glad to know about it (and maybe write about it on r-statistics.com): [email protected]
Tal Galili
Very excited to see this as it develops!
Btibert3
Thanks Tal, that will be fantastic!
Mike Pearmain
+1  A: 

Just to give an update, i've now created the base script, which currently does the following:

Create a new export object. Authenticate with your Google Account. Return an account profile for an authorised Google Account. Create a new API query Use the query to return a data.frame populated with metrics.

I've also built in some low level error handling of the parameter types, but on some of the more complex parameters like segment, i've left the errors to the GA API.

I just need to build out the unit tests and package this up, and we should be good to go.

Mike

Mike Pearmain
link to it when you can please.
Erik Vold
A: 

A new package has just been announced:

http://github.com/sorenmacbeth/googleanalytics4r

Tal Galili