Web Analytics

Behind the Scenes: Google Analytics


Have you ever wondered what was happening in the background of the Google Analytics Platform? There’s a lot that GA does behind the scenes that we should be jumping for joy that we don’t have to do manually.

Before we dive into the deep stuff, here are a few terms that I thought should be defined:

  • Users: A visitor to your website or app
  • Sessions: Also known as a visit – the time users spend on your website
  • Interactions: What users do while they are on your website
  • Hits: Page views, evets & transactions

How does raw data go from your website, to your GA account, to your reports? There are four components of Google Analytics that work together to help you gather, customize and analyze your data:


1.    Collection, or what I would like to call “User Stalking”:

Never miss a beat (or a visitor), see exactly when, where and how long people are on your site.

Google Analytics uses a JavaScript tracking code to collect data from your website. This tracking code is automatically triggered by the browser to collect data and runs in the background while the webpage is loading. Remember, when setting up your GA account and tracking, you need to be sure that you put the tracking code on every page that you want to collect data for. The tracking code analyzes the browser and URL being used to assign the user a unique ID.

If you are setting up tracking for a mobile app, there is a different process to follow. Google Analytics uses a software development disk (SDK) to collect data (there is a different SDK for androids and IOS so be sure to use the correct one). SDK’s like the tracking code collects data about your user’s behavior. You can see what they look at, the device operating system and how often the user opens the app.

One major difference between the website tracking code and the mobile SDK is that the data gets packaged as “hits”, then is stored on the device and is sent later to your analytics account. It processes the data this way because mobile devices often lose network connectivity and when a device isn’t connected to the internet the SDK can’t send any data hit to GA. This process also helps reduce battery usage on the device, as sending data in real time can suck a lot of life out of a phones battery (that would result in a lot of unhappy app users).

Also like the JavaScript tracking code, the SDK differentiates users by generating a unique ID for the user and their device. When the app is launched for the first time the unique ID is assigned (if you update the app, your ID stays the same). If a user uninstalls the app the unique ID will be deleted, so If in the future they reinstall the app they will be assigned a new ID and will be reported as a new user.


2.     Configuration, making your data what you want it to be:  

Don’t care what kind of device your visitors are using? Filter that out.

The configuration stage can impact your data in one of three ways:

  • Include certain data
  • Exclude certain data
  • Modify how data appears in a reporting view

You can set how your data appears by creating filters. Filters provide a flexible way to modify the data so that it is aligned with your reporting needs. Setting goals is another way that you can configure your data. Goals allow you to specify which page views, screen views or other hits should be used to calculate conversions. This is a great way to see if you are meeting certain business objectives.

Another way you can modify your data is by grouping, this aggregates certain pieces of data together to analyze the collective performance. There are two forms of grouping:

  • Channel Grouping – collection of data related to common marketing activities (display advertising, social media, email marketing and paid search)
  • Content Grouping – used to create and analyze a collection on content (group product pages or content pages together to track visitor behavior on those pages as a whole)

3.    Processing, organizing raw data so you don’t have to:

Tell Google how you want your data to appear and it’ll do the rest.

After all your filters, goals and groups are configured, GA pre-calculates your reporting metrics for each value of a dimension and stores the data in the corresponding aggregate table (the data is organized according to your configuration settings and stored in databases tables). The platform then quickly pulls specific metrics and dimensions from these tables to generate reports.

4.    Reporting, this is where you come in:

Impress your boss by creating custom reports.

In the reporting phase you can building reports based on dimensions (an interaction a user takes on your site) and metrics (a quantitative measurement of data).

For example, say you want to create a report that shows what city the majority of your sessions come from. You can enter city as the dimension and sessions as the metric andta-da! GA will generate the report.

The values of dimensions and metrics and the relationships between those values is what creates meaning in your reports.

One thing to keep in mind is that not every metric can be combined with every dimension in GA. You want to avoid mixing session-level metrics (like average visit duration) with hit-level dimensions (like page title).


Now that you know how much work Google Analytics does in the background, you can be extra appreciative of the data that is collected, organized, analyzed and reported. GA may be a confusing platform to learn but like I said in my previous blog, the benefits outweigh the learning curve.

Supplemental Articles:

Google Analytics Academy

Four Main Components of Google Analytics

Understanding Users in Google Analytics


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s