Using built-in functionalities of Google Sheets, you can combine analytics data from various sources, transform it, and analyze it with ease. You can even connect it to data visualization tools like Google Data Studio to share your data with others.
So Google Sheets is a really cool tool for data analysis. But first, we need to somehow get all of our data from Google Analytics onto a spreadsheet.
How do we do this?
Well, in this guide, we’ll show you three different ways to export your Google Analytics data to Google Sheets. We’ll also discuss the advantages and drawbacks of each method so that you can pick the approach that works best for you.
In this guide, you can find answers to your most important questions:
- Why should I export my Google Analytics data to Google Sheets?
- What’s the quickest and easiest way to export my data?
- Which method allows me to schedule Google Analytics reports for free?
- What is the most powerful way to export Google Analytics data to Google Sheets?
- What are the pros and cons of manual export, the Google Analytics add-on, and Supermetrics?
As always, we’ve got lots to cover, so let’s dive in!
Why Export Data to Google Sheets?
You spend a lot of time, money, and resources to track quality data into your Google Analytics account.
So obviously, you want to store and analyze that data as quickly, cheaply, and easily as possible. A spreadsheet can accomplish this work very effectively.
Using a spreadsheet like Google Sheets or Microsoft Excel, you can easily merge your data with other data sources, like user data from your CRM. You can also add in things such as cost data from advertising platforms (like Google Ads or Facebook Ads), campaign data from email marketing tools, or product profitability data from your shopping cart so you can do further analysis on your data.
Spreadsheets also allow you to run just about any kind of mathematical analysis you want on your data. While Google Analytics has some analysis and reports built-in, you can achieve much more with a custom analysis in a spreadsheet.
Finally, spreadsheets make it simple to create great-looking charts and visualizations to share with others. This is super important if you want to share your reports with business partners, stakeholders, or team members. You can create some charts in the spreadsheet itself, or you can export your customized data to a report-building tool like Google Data Studio.
How Do We Do it? (3 Methods)
When it comes to exporting your Google Analytics data to Google Sheets, you have a few options depending on your spreadsheet needs.
In this guide, we’ll compare three different methods of extracting data from Google Analytics into a Google Sheet.
First, we will cover manual exports straight from the Google Analytics interface. This is the quickest and simplest method, and it’s good if you only have a couple of metrics, domains, and segments that you want to export. Of the three options, it requires the most cleaning to perform effective analysis.
Second, we’ll show you how to use the Google Analytics add-on for Google Sheets. This gives you slightly more control over your data compared to manual export, but it won’t include some more advanced metrics or domains. It also still requires a little bit of spreadsheet cleaning.
Third, we’ll show you the Supermetrics add-on for Google Sheets and teach you how to use it to export your Google Analytics data. This third-party solution is capable of handling even your biggest data dumps, and it requires the least cleanup in order to do spreadsheet analysis. Supermetrics is also the best option if you want to automate emailed reports.
Method 1: Manual Export from Google Analytics Interface
The quickest and easiest way to export your Google Analytics data to Google Sheets is a manual export directly from the Google Analytics interface.
How does this method work?
In short, you adjust your report on the Google Analytics interface to reflect the view you want to export. Then, you use a built-in functionality to either download a spreadsheet file or import the data directly into a Google Sheet.
Let’s see how it’s done.
Configure Report in Google Analytics
First, log into your Google Analytics account and navigate to the report that you want to export. Here, you can adjust the report to display exactly what you want to export.
You can adjust the date filter, apply segments, add a secondary dimension, or apply a table filter. Just make sure that all data you want to export is visible.
Export Report Data to Google Sheets
Once you’re happy with how your report looks in Google Analytics, click the Export button in the topbar. You can choose to download your report data as a CSV or Microsoft Excel file, or you can export it directly to a Google Sheet.
Since this guide focuses on some other methods that work specifically Google Sheets, we’ll go ahead and click the Google Sheets option.
Google Sheets will confirm with you that you’d like to import the data from Google Analytics. Click Import the data to continue.
And that’s it—your data is extracted and ready. You should now have a Google Sheet populated with your exported Google Analytics data.
Pros and Cons of Manual Export
This method of exporting Google Analytics data to Google Sheets is very quick and easy. There is very little to learn or figure out. You don’t have to install any software, and it’s completely free.
However, there are also some issues.
First of all, this dataset is static. If you need to create reports on a daily or weekly basis, you need to repeat exactly the same steps manually each time you want to refresh your data. This could especially be a pain if you have a complicated configuration on the interface or if you want to export multiple reports.
The other major problem is that the dataset isn’t formatted very well for working with data.
There are summary rows across the top, totaled counts at the bottom of the main data, and a time series data table at the bottom.
So if we want to work with this dataset, we would need to remove these extra rows and the extra data table. And if we are analyzing our refreshed data every day or every week, then we must also repeat these steps in order to do any analysis.
Another issue with this method is that it only exports visible rows from your Google Analytics report. So for example, if we have our report set to only show ten rows at a time, only the ten rows that are visible here will be exported to Google Sheets.
If you want more rows to be extracted, you need to increase the number of rows shown in this report. And since the maximum view in Google Analytics is five thousand, you cannot export more than five thousand rows of data at a time. If you have more data than this, you would have to export multiple times, page by page.
Method 2: Google Analytics Add-On for Google Sheets
If you’re willing to do just a tiny bit of extra legwork in the setup, you can export your Google Analytics report data using an add-on for Google Sheets.
How does the Google Analytics add-on for Sheets work? Google Analytics sends its export data to Google Sheets through an API, which gathers and organizes your data for you.
Using this method, you can extract your Google Analytics data into your Google Sheet automatically and keep the extracted data set updated and refreshed on a regular basis. This is really convenient if you need to analyze your data frequently and regularly.
Let’s see how it works.
Install Google Analytics Add-On for Google Sheets
First, create a new Google Sheet. In the top menu, click Add-ons and select the Get add-ons option.
In the Google Workspace Marketplace (or the G Suite Marketplace, depending on your account), search for and click on the Google Analytics add-on.
Here, click the Install button to get this add-on for your Google Account.
Google Analytics will ask for some permissions in order for you to install the add-on. Click Continue and follow the prompts to install the add-on to your Google account.
Create New Report in Google Sheets
Next, we’ll create a new report using our Google Analytics add-on. You can access it by clicking Add-ons > Google Analytics > Create new report.
A sidebar will appear that allows you to configure your report.
Let’s start by giving our report a name. Then, we need to select the Account, the Property, and the View from which we want to extract data. (Hint: you can find these by clicking the label next to the Google Analytics logo on the interface.)
Next, we need to select what Metrics and Dimensions we want to extract. We can select dimensions from the various report types in Google Analytics. Then, we can select one or more Segments.
When you’ve configured the data that you want to extract from Google Analytics, click Create Report.
Configure Google Sheets Report
We still have a couple of steps left. First, we’ll see a report configuration sheet. Here, we can review and tweak the report settings before we actually run the report.
Note that the date range has been set automatically to the last 30 days. It wasn’t possible to define our timeframe in the sidebar, but we can adjust it here. You can specify dates using YYYY-MM-DD format, or you can use today, yesterday, or #daysAgo.
There are also other configurations that we can manipulate here that we couldn’t adjust in the sidebar. We can define the order of sorting, apply filters, and define how many rows of data to extract. If we leave the Limit field empty, it will return all rows.
You can apply filters just like in Google Analytics with the correct formatting. For example, if we use ga:country==United States, then the API will only return data for U.S. users.
Run Report in Google Sheets
Once we are happy with the report configuration, we can finally extract our data. Go to Add-ons > Google Analytics > Run reports.
This dataset looks a bit cleaner than the one we would get from manual export (method 1 of this tutorial). There is no time series data table at the bottom, although there are summaries and total rows at the top. Still, this is easier to prepare for analysis, and the formatting is easy to read.
Now let’s check out row number six. It says here that this report contains sampled data. This means that Google Analytics is looking at a smaller portion, or sample, of your data instead of all your data.
If you’re using a free version of Google Analytics, then Google will start using data sampling when there are half a million sessions in the report timeframe. If you’re using Google Analytics 360, this kicks in at about a million sessions in the timeframe. After this threshold, numbers in the report will be calculated based on the smaller subset of data.
While this is good in some cases to get faster reporting (which is still reasonably accurate), there are other times when we’d like to use all of our data instead of a sample. In this case, we can see that the numbers are being extrapolated based on less than 35% of the actual available data.
We don’t have a way of getting around this using the Google Analytics add-on, so if you need the full dataset, you should check out Method #3 in this tutorial. Using Method #3, I will show you how to eliminate the effect of data sampling in our reports.
Automate Data Report Updates
Finally, let me show you how to automate this whole process.
Up to this point, it hasn’t been much different from the manual export method. We used an interface to configure our report, which returned a decently robust dataset (albeit imperfectly formatted). However, automation will significantly improve your efficiency in the long term. It is a game changer.
And the best part is that it’s super easy. First, go to Add-ons > Google Analytics > Schedule reports.
Then, use this one popup to set up your update schedule. Here, we can enable the reports to run automatically every hour, every day, every week, or every month. For each of these options except for every hour, you can even pick the time of day to update your spreadsheet.
Once you save this, the add-on will run at the selected interval even if the Sheet is closed. Google Sheets will refresh your dataset automatically so that every time you open the Sheet, you can work with the most up-to-date data.
Pros and Cons of the Google Analytics Add-On
The Google Analytics add-on for Sheets has a lot of advantages.
First of all, It’s free. The installation process is quick and easy, and the report configuration isn’t much more complicated than manually exporting data directly from Google Analytics.
With the Google Analytics add-on, you can also dynamically pull data from the Google Analytics API. It can be scheduled to run on an hourly, daily, weekly or monthly basis to extract new data, and the dataset is cleaner than the one we can get from manual export.
But, there are limitations as well.
First of all, the options in the user interface are kind of limited.
We can only choose metrics, dimensions and segments. Everything else needs to be manually adjusted by entering data into cells according to special formatting rules.
Next, the data set isn’t immediately ready for analysis because of the extra rows at the top. These are easier to take out than the extra rows and tables in the manually exported report, but it’s still an extra step every time your report updates.
We also saw that the API requests are subject to the same data sampling threshold as the Google Analytics reporting interface. If you have a huge dataset, you might not get the most accurate picture with this method.
Additionally, if you’re a more advanced user of Google Analytics, you know that there are actually two different reporting APIs.
The core reporting API allows you to access metrics and dimensions for the most popular standard reports like channels, source/medium, and last non-direct click conversions.
And then there is MCF, or multi-channel funnels reporting API. This API allows you to access more complex metrics and dimensions like assisted conversions and conversion paths. It also gives you access to different attribution models for conversions.
The Google Analytics add-on for Sheets only connects us to the core reporting API. This means that we can’t import certain metrics and dimensions that are only accessible through the multi-channel funnels reporting API.
Method 3: Supermetrics Add-On for Google Sheets
In this approach, I’m going to introduce you to a third party add-on from Supermetrics.
If you like the ease and flexibility of exporting Google Analytics data to Google Sheets through an API but would like some nice extra features (such as a workaround to avoid data sampling), you might want to take a look at the Supermetrics add-on for Google Sheets.
Using this method, the Supermetrics API grabs just about any data you want from Google Analytics and sends it to your Google Sheet in the cleanest format yet. This is by far the most powerful way to export data from Google Analytics to Google Sheets.
Supermetrics for Google Sheets isn’t a free tool, but you can access a 14-day free trial with all the premium features if you think you might like to purchase a plan.
And even when your trial ends, Supermetrics for Google Sheets has a free forever mode that allows you to keep using some of the features without paying for the upgrade. That makes this export method definitely worth trying out!
Install Supermetrics Add-On for Google Sheets
To install the Supermetrics add-on, go to Add-ons in the top menu and click Get add-ons.
In the Google Workspace or G Suite Marketplace, type “Supermetrics” into the search bar. Click on the Supermetrics add-on.
Here, you can check out some of the information and features of the add-on. For now, go ahead and click the Install button.
Google will require you to give Supermetrics permission to install on Google Sheets. Click Continue, then follow the prompts to connect your Supermetrics account (or sign up if you don’t have one yet) to your Google account.
Connect Supermetrics to Google Analytics
First of all, select the top left cell in the spreadsheet where you want your data to appear. I have selected cell A1.
Then, launch the add-on sidebar by going to Add-ons > Supermetrics > Launch sidebar.
The sidebar is where we will configure our whole data report. First, we need to select our data source. Click Google Analytics.
If this is the first time you’re using this add-on, then you authenticate Supermetrics to connect to your account. Follow the prompts until Supermetrics is connecting Google Analytics to your sheet through your add-on.
Note that Supermetrics can also connect to and extract data from many other data sources. If you have other tracking tools with data that you would like to export to Google Sheets, Supermetrics is a great tool.
Create New Report with Supermetrics Add-On
Once we select our data source, next we need to select the view from which we want to extract our data. Type in the name of the view from your account that you want to export, then select it in the field.
Next, we need to select the date range for our report. We can either specify the start and the end of our date range, or we can select any of the provided dynamic date ranges from the drop down menu. Options include today, yesterday, last week, month to date, last year, and more.
I’m going to set the date range manually. We can also select a comparison date range, but I’m going to leave that alone for now.
Next, we need to select the metrics that we want to include in our report. Here, you should select any measurements that you want to export. These can include users, sessions, bounce rate, pageviews, transactions, and more.
Next, we’ll select dimensions. These are categories by which you’d like to sort or label your metrics. In this case, I’m going to select Source/Medium in order to see where my users came from, but you can select any variety of dimensions here.
In this section, we can also select how many rows to fetch, how to sort data, and whether to display our dimensions in columns instead of rows. I’m going to leave these settings alone for now, but experiment with them to see if they make your data representation more clear.
Next, we can select the segments. These are exactly the same as any segments that you would create and select in the Google Analytics interface.
Finally, we can apply a filter. If you want to apply filters using the Google Analytics add-on, then you need to type it directly into the report configuration sheet. But using the Supermetrics add-on, we can apply filters within the interface.
There are more advanced options available under the options menu. But in this tutorial, I just want to cover the option Try to avoid Google’s data sampling.
If you were following along with our tutorial for the Google Analytics add-on, you may remember that our report contained sample data.
With this Supermetrics option, the Supermetrics API tries to avoid Google’s data sampling by using an algorithm to break down a larger API request into smaller ones. This means that the Google Analytics API will see a smaller dataset and may analyze the entire thing instead of sampling your data.
Now that we are happy with our report configuration, let’s click Get Data to Table.
Automate Supermetrics Report Updates and Emails
Finally, let’s learn how to schedule this report to be refreshed automatically.
Exit the query modification interface and go to Add-ons > Supermetrics > Schedule refresh & emailing.
Here, we can select to either refresh or refresh and email the reports.
We can tell Supermetrics to refresh and email reports daily, weekly or monthly. If you just want to refresh the spreadsheet, you can also tell Supermetrics to refresh hourly. Plus, we can choose to be notified if any of the queries fail when the report is refreshed.
Pros and Cons of the Supermetrics Add-On
First of all, you’ll notice that the dataset is very clean. Unlike the manual exports and the Google Analytics add-on, there are no summary rows at the top of our dataset. This is a spreadsheet that is immediately ready for analysis. Even when the report refreshes, you’ll never need to tidy up the formatting in order to analyze your data.
Next, all the features and options to configure your report were accessible through the sidebar. This is an improvement over the Google Analytics add-on, since that approach required partial configuration in the spreadsheet. The Supermetrics add-on lets you do all of the configuration in a graphical user interface, which is much more user-friendly.
Supermetrics also dynamically pulls data through the API while avoiding Google’s data sampling. This gives you potentially the most accurate data possible, and it stays up-to-date thanks to scheduled reports.
In addition, you can configure your report to include metrics and dimensions from the multi-channel funnels reporting API.
Special metrics include assisted conversions, assisted conversion value, and assisted/last click conversion ratio. Dimensions from the multi-channel funnel reporting API, include source medium path.
This is a really nice feature that isn’t available in any of the other methods discussed here. If you want some of these special metrics and dimensions when you export your Google Analytics data to Sheets, then it’s a good idea to install the Supermetrics add-on for Sheets.
Alright, so there you have it! These are three methods to export your data from Google Analytics into Google Sheets.
To recap briefly: manual export is quick and free, but it’s only good for ad hoc analysis when you’re working with a small dataset.
The Google Analytics add-on for Sheets automates the process of data extraction from Google Analytics into Google Sheets. It’s free and easy to use, although it has some limitations due to data sampling and a limited graphical user interface. You can schedule updates, but not email notifications.
The Supermetrics add-on for Sheets is the most comprehensive tool for exporting your Google Analytics data to a spreadsheet. While the premium version is an investment, you can also use the free plan to do most of the legwork of exporting your Google Analytics data. This method gives you the cleanest and most accurate dataset, and you can schedule both report updates and email notifications.
What do you think of these export methods for Google Analytics? Do you like approaches like these, or do you have an entirely different strategy for exporting and analyzing your data? What would you recommend to most users? Let me know in the comments down below!