Almost everybody that owns a website uses Google Analytics to analyze their visitor’s behaviour. While the Google Analytics web interface is useful, sometimes you just need a little more flexibility with your data by exporting it from Google Analytics into your spreadsheets.
In this post I will show you how you can set up a spreadsheet that allows you to import Google Analytics data with the push of a button and make custom graphs about your visitors like this:
1. Add the Analytics Google Apps Script
Go to Google Docs and open a new spreadsheet by pressing Create > Spreadsheet
.
Don’t worry, you don’t need to be able to program for this to work, just follow these simple steps:
- In the new spreadsheet, click on
Tools
and thenScript Gallery
- Search for “Google Analytics Report”
- Locate the script named “Google Analytics Report Automation (magic)” and press
Install
- In the popup that follows press
Authorize
2. Activate access to Google Analytics
You just installed a Google Apps Script that is able to import your Google Analytics data into your spreadsheet. For it to work, you need to enable access to your Google Analytics first. For this you need to add a API key that tells the script where it can get your data. Simply do this:
- In the top menu press
Tools > Script editor
- Click
Resources > Use Google APIs
in the new window that has opened - In the popup that opens, toggle the button after Analytics API to
On
- Press the
Google APIs Console
link at the bottom - If you haven’t done already press “Create new project” in the next window
- Click
Services
on the left and toggle the button behind Google Analytics toOn
You have now succesfully authorized the script to access you Google Analytics data!
3. Make a Google Analytics query configuration
Now go back to the spreadsheet and refresh your browser. Wait for a couple of seconds after the page has loaded and notice that a sheet named gaconfig has been added and an extra option in the top menu has been created called Google Analytics.
To get data from Google Analytics, you have to tell the script what data it should import. The gaconfig sheet is the place to do this.
- To add a query configuration press
Google Analytics > Create Core Report
in the top menu.
An empty configuration has now been added to the gaconfig sheet – don’t worry we only need to fill in a couple of fields. In this case, let’s make a query for the amount of visits and pageviews from Google Analytics for the last 30 days:
- In the first field
ids
, you specify the Google Analytics property ID you want to query. To get your ID, pressGoogle Anaytics > Get Profile IDs
in the top menu - Press
Grant Access
to allow the script to run (you only have to do this once). Now pressGet Profile IDs
again - Now select the Account, Web Property, and Profile you want to query and copy the id that starts with “ga:<some_number>”
- Now paste that ID into the cell to the right of the
ids
cell - Type
30
in the cell to the right of “last-n-days” - Type
ga:visits,ga:pageviews
in the cell to the right of “metrics” - Type
ga:date
in the cell to the right of “dimensions” - Give the sheet on which the data will be imported a name in the cell next to “sheet-name”
We’re almost there! Your query configuration should look something like this now:
query1 | value1 |
---|---|
type | |
ids | ga:98456354 |
start-date | |
end-date | |
last-n-days | 30 |
metrics | ga:visits,ga:pageviews |
dimensions | ga:date |
sort | |
filters | |
segment | |
start-index | |
max-result | |
sheet-name | Google Analytics Data |
Tip:
There are a lot of other metrics and dimensions you can make your query with. Also you can segment and filter your data just like you can in Google Analytics. For a full overview of functionality check the site from Google Analytics
Finally, press Google Analytics > Get Data
in the top menu and watch the script import Google Analytics data into your spreadsheet!
Once you have closed the popup, you will have a new sheet with the amount of visits and pageviews to your site for the last 30 days. Additionally some extra information is included that tells you when the query was made, how many results there are and whether sampling was applied.
That’s it! You have imported data from Google Analytics to Google Spreadsheets. You can now easily create graphs like this:
Think if all the cool stuff you can do with having your analytics data in Google Docs. As always, I’d love to hear what you have come up with in the comments.
Bonus Step:
Automate the Google Analytics import
Even though it’s pretty cool that you have set up your spreadsheet to import data by pressing Get Data, it can be very valuable to let your script automatically import data on specific times, or when you open the spreadsheet for example.
Luckily this is very easily done by creating trigger that can run the Get Data command:
- Go to
Tools > Script editor
again - Press
Resources > Current project's triggers
You can create triggers based on events in your spreadsheet or based on time.
To automatically import data when you open the spreadsheet:
- Press
Add a new trigger
and select thegetData
function under Run - Make sure the two other fields shows
from spreadsheet
andOn open
To automatically import data each day:
- Press
Add a new trigger
and select thegetData
function under Run - Make sure the two other fields shows
time-driven
andDay timer
Saving these trigger, the spreadsheet will now automatically import your Analytics data every day around midnight and when you open the spreadsheet.
Using these triggers, you can create cool dashboards that are always up to date. Let me know when you have made some nice dashboards in the comments.