Using Google Analytics with R

For the most part, SMB’s tend to utilize free analytics solutions like Google Analytics for their web and digital strategy. A powerful platform in its own right, it can be combined with the R to create custom visualizations, deep dives into data, and statistical inferences. This article will focus on the usage of R and the Google Analytics API. We will go over connecting to the API, querying data and making a quick time series graph of a metric.

To make an API call, you’ll need two things. A Client ID and a Secret ID. You can use this ID over and over again, so you only need to do the following steps once:

  1. Login to your GA analytics account
  2. Go to the Google Developers page:
  3. Create a New Project and enable the Google Analytics API
  4. On the Credentials screen (under the API’s and auth menu), create a new Client ID for Application Type “Installed Application”
  5. Copy the Client ID and Client Secret

In R (I’ll be using RStudio), load the necessary packages:

With the packages loaded, we will run the oauth call to the Google API:

**Note: This part can be a little tricky to understand if you haven’t used R to call to an API before. A new tab should open in your web browser asking if you accept R Analytics to access your GA. Press “Accept”, the page should then move to a message screen that says “Authentication complete. Please close this page and return to R”. When you return to your R IDE, you should see the message in your console saying “Authentication complete.”

Now save the authorization token for future sessions:

Using Google Analytics with R

To make a query of analytics data you’ll need to identify a few things first. Namely, what your start date and end date of the query should be and also what metric(s) you want to pull for.

**Note: Table ID is in the URL of your Google Analyics page. It is everything past the “p” in the URL. Example,

Create the Query Builder object so that the query parameters are validated

Extract the data and store it in a data-frame

You can now make a quick graph of your data. Here we will look at bounces in January:

For further documentation and use cases, refer to this link:

Hoyt Emerson

I am a programmatic data analyst and R programmer with a focus on big data, digital analytics, API's and data viz applications using the Shiny framework. I like to solve problems programmatically and give consultation conceptually. I achieve both with a heavy background in web development, digital marketing and product management. I bring a entrepreneurial perspective to a company's ecosystem.