Google Analytics Data Import: 17 Ways to Revolutionize Your Reports



Have you ever looked at the available dimensions and metrics in your Google Analytics reports and wished you could make up your own? You may have data about products, content, or users that isn’t part of any tracked session, which could bring new insight to your reporting and analysis of those sessions.

With Google Analytics Data Import, you can unify your online and offline data and revolutionize your reports.

For a while, data import was used only for uploading cost data — for costs associated with non-Google advertising — but now you can use it for much more. Data import is for you whether you track transactions, or prospects, or readers, or campaigns, or just about anything you can name.

There are two important considerations, before you begin. First, you must use Universal Analytics, which gives you 20 slots for custom dimensions and another 20 for custom metrics (200 each if you have Premium).

The other main consideration, as you start to create your wish list of custom dimensions and metrics, is what existing dimension will be used to join each imported dimension. Think of the existing dimension as the key.

For example, the key for a product-scoped custom dimension could be the product SKU or other unique identifier. The key for a hit-scoped custom dimension could be the page URL. And the key for a user-scoped custom dimension would most likely be that user’s ID number (not personally identifiable except in your own database, of course).

Do you track transactions?

warehouse-smallYour product database has all kinds of information you can add to session data for deeper analysis of your user’s online transactions. You only get a few slots in the transaction hit such as product category, brand, and variation, along with the name, SKU, unit price, and quantity. With data import you can add product-scoped custom dimensions like these, among others:

1. Product cost, margin, or profit
2. Product weight, or other physical information about a product
3. Marketing information like the product’s intended audience or specific promotions

What can you learn about customer behavior? Add user-scoped dimensions with customer information, for example:

4. Customer lifetime value, number of purchases
5. Cohort information, e.g. first purchase, most recent purchase
6. Types of preferred products

In extreme circumstances, hits too large may be rejected by Google, such as transactions with many different products. In those cases, Google recommends that you send only the minimum transaction data and instead use the product SKU to unify the descriptive product information via Data Import.

Remember that data import does not unify data retroactively, but only from the point of upload and going forward. You need to upload product data regularly, possibly daily, in order to associate the most up-to-date product info as each transaction is tracked and processed.

Do you track prospects?

After users submit your online lead forms, the sales team follows up to describe and qualify each prospect. If a prospect logs in again, you could attach user-scoped custom dimensions with data import of:

7. Prospect qualification codes, e.g. what stage of follow-up
8. Areas of interest, e.g. products or services desired
9. Demographic information
10. Potential value of the lead

This type of data can be invaluable if the sales cycle occurs online over an extended period of time, and involves more than one interaction with your digital presence. How well does your site or app work to close the sale?

Any type of user-scoped data import requires a way to identify the same user, typically by requiring them to log in, but you can also identify unique users with a method similar to email tracking by my colleague Jim Gianoglio.

Do you track readers?

Digital content offers many ways to reimagine your reporting and analysis. You probably have some data already available on the page, such as the author or publication date, which can be fed to custom dimensions with Universal tracking code.

comments-smallOn the other hand, data import lets you mine your CMS for a wealth of information for page-scoped dimensions like:

11. Topics or taxonomy used to tag content
12. Metadata such as number of words, number of images or videos, number of comments
13. Other internal content classifications, e.g. style or intended audience

And if your readers need to log in, then consider user-scoped dimensions, including:

14. Cohort info based on subscription or registration date
15. Activity level, e.g. most recent session, number of articles viewed, number of comments
16. Favorite topics either from expressed interest or inferred from browsing behavior

Want to see how the length of an article affects its popularity? Want to compare articles written for a given audience? What brings daily readers back time and again? Use data import to add the dimensions you need.

Do you track campaigns?

You can also use data import to add session-scoped custom dimensions to your reports. Suppose you have unique campaign codes instead of utm parameters on your campaign URLs, and each code maps to data that may or may not resemble GA’s medium, source, and campaign name.

Now you can skip trying to align your campaign tracking with Google’s, and go straight to data import instead. For each campaign code, upload as many custom dimensions as you need for:

17. All the descriptive labels in your existing campaign tracking system

You can use the new custom dimensions as secondary dimensions in GA’s standard reports, alongside medium or source or campaign, etc. You can also view custom dimensions and metrics by creating custom reports, including flat tables with up to four dimensions side by side.

What custom dimensions and metrics would revolutionize the way you report and analyze data? Have you tried this feature and, if so, did you import something not mentioned here? If you haven’t tried it yet, why not? Please share in the comments.

Dorcas Alexander is a Manager for the Analytics & Insight department. Her path to LunaMetrics followed stints in ad agency creative, math, and computer science. Dorcas has a master's degree in language and information technologies from Carnegie Mellon University, where she helped build precursors to a Universal Translator. One of the top-rated tournament Scrabble players in Pennsylvania, Dorcas has an insatiable drive to compete and win.

  • Olivier

    HI Dorcas. Nice post, thank you. I don’t understand why you say : “Remember that data import does not unify data retroactively” : the new imported data will be added to historic data, no ?

    • Dorcas Alexander

      The new imported data will not be joined with historic data. By default, imported data will be part of the future processing of incoming hits. See the data import documentation here. The documentation also describes a beta feature called query-time data import, available only in GA Premium properties, which allows you to join imported data to historic data when you make a report request (with significant limitations).

  • Excellent, insightful post! I am definitely looking forward to using custom dimensions to see how it’ll fly with my campaigns. Thanks for sharing!

  • Jes

    Hi Dorcas! Great blog post I am however having trouble figuring out when I should use Custom Dimensions and Metrics and when it’s better to use Custom Data Import. A clients has user info (type of customer) that needs to be put into GA. What method is better?

    • Dorcas Alexander

      Hi Jes, You’re going to use a custom dimension in any case when you’re adding info such as “type of customer” to your GA data. How you add it to GA is a matter of logistics — either (1) your developers will dynamically populate your tracking code with customer info, or (2) you will set up a process to regularly upload a file with customer info to GA. Besides logistical considerations, you want to think about whether the data will change from session to session. For example, if you are going to re-classify the customer based on actions taken on the site, such as filling out forms or requesting product info or starting a free trial, then you want to send that data using tracking code on the page and not try to use Data Import to fill that in “after the fact” (which is only possible with Premium and query-time processing, anyway). On the other hand, if you have demographic information which is less subject to change (job title, industry, age, gender, etc.) then that is something you can upload once via Data Import, although you could also simply send it via the tracking code, especially if you are not uploading a large number of dimensions and data.

Contact Us.

Follow Us



We'll get back to you
in ONE business day.
Our Locations
THE FOUNDRY [map] LunaMetrics

24 S. 18th Street
Suite 100

Pittsburgh, PA 15203


4115 N. Ravenswood
Suite 101
Chicago, IL 60613


2100 Manchester Rd.
Building C, Suite 1750
Wheaton, IL 60187