Track File Downloads in Google Analytics

Google Analytics doesn’t automatically track downloads of PDFs, Word and Excel documents, videos, or other files from your website. The Google Analytics tracking code relies on JavaScript, which can’t be embedded into these documents.

Fortunately there are a few ways you can configure Google Analytics to track file downloads.

1) Use Events to Track Downloads

Each time a visitor clicks a link to download a file, an entry will be added to the the Events report section. You are also able to define 3 descriptive segments for the event (category, action, and label). Sites that use Universal Analytics sites use different JavaScript functions than sites that use the traditional ga.js – for more information, see the “About Events” help article.

2) Use a Virtual Pageview to Track Downloads

Each time a visitor clicks a link to download a file, a pageview will be sent to Google Analytics and the downloaded file will appear in the Content reports. For more information, see the “Syntax Comparisons” help article.

The Problem: Direct File Downloads

The above configuration options require a visitor to click a link on your site to download a file. But when a document is directly linked from another site, Google Analytics isn’t able to track the download because the tracking code doesn’t run. This applies to files that are directly linked from a blog, a search engine, an email, or any website.

Here’s an example: go to google.com and search for “form 1040” (or click the following link):

http://www.google.com/#q=form+1040

The top search result links directly to a PDF on the IRS.gov website. If you click the search result, you’ll load the PDF directly in your browser and bypass any JavaScript-based tracking.

The same thing happens if you click this link:

http://www.irs.gov/pub/irs-pdf/f1040.pdf

The IRS website uses Google Analytics, and they won’t be able to track your click because the PDF file is accessed directly.

(someone should tell the IRS about this problem)

The Solution

Many organizations use 2 web analytics tools to get a complete picture of website activity. In this case, we recommend using Google Analytics in tandem with Angelfish Software. Angelfish shows the true number of downloads (linked and direct), shows the websites that link directly to files on your site, and can upload this data as an event to your Google Analytics account.

Angelfish also provides details that aren’t shown in Google Analytics and is ideal for any internal / external website or web-based application, like SharePoint, Blackboard, Oracle, and more.

For more information, visit the Angelfish Software website

Compare Google Analytics to Web Server Log Files

Companies frequently use Google Analytics in tandem with another tool (like Angelfish Software) to audit data or verify accuracy. But when you compare data between Google Analytics and another web analytics program, the numbers will always be different.

This article will explain the reasons for data differences between Google Analytics and server-based web log analysis tools.

Why Doesn’t Google Analytics Data Match My Web Log Reports?


At a high level, the simplest explanation is that Google Analytics uses client-side code to gather information, whereas most log file analysis tools only process server-side information. This is an important distinction and is a key reason for differences in data, but there’s more to the story. Typically, the difference is mainly caused by the visitor tracking method used.

For example, Google Analytics uses one tracking method to track website visitors, which requires JavaScript and cookies. Each visitor is uniquely identified and a tracking request is sent back to Google Analytics’ data collectors for every action performed on the site, unless the JavaScript or tracking request is blocked by a browser or firewall or proxy filter.

A web log analysis tool uses multiple ways to track website visitors. And depending on the tracking method used, the data will show everything – including regular visitors, visitors that block Google Analytics tracking code, and traffic from non-visitors like robots & spiders. You can make the argument that a web log analysis tool provides a more accurate picture of what’s actually happening on your website.

So what does this mean?


Each tool provides a different look at your website and exposes different usage patterns. But therein lies the opportunity – instead of only using one solution, why not use both?

Most people don’t know this, but you can make a backup of your Google Analytics data and process the data with web analytics software. If your company doesn’t already do this, start today!

Google Analytics + Web Log Analysis


Google Analytics provides a lot of useful data, and web log analysis tools provide data that you can’t see in Google Analytics, like:

  • Clickpaths
  • Full Visitor Details: Usernames, IP Addresses, etc.
  • Bandwidth & Stolen Bandwidth
  • Site Errors
  • Direct File Downloads (i.e. not tracked by JavaScript)
  • Data Security

Plus, you can configure Google Analytics tracking code to simultaneously send tracking data to the GA data collectors and to your web server’s log file. This means you can keep an on-site copy of Google Analytics data and combine it with the “extra” reports you get from a web log analysis tool.

Google Analytics for Intranets


Does your company use Google Analytics to track Intranet websites? If so, there’s a slight problem:

Google Analytics isn’t designed for Intranets

Bandwidth Reports in Google Analytics

To track your website’s bandwidth usage, you need to consider all the content delivered by your web server. This includes images, scripts, css, font files, documents, html pages, audio and video files, and more.

Google Analytics doesn’t track bandwidth because it doesn’t “see” all the content delivered by your web server. But there are two options for seeing bandwidth data if you use Google Analytics:

Option 1: Free

For each pageview, fire off an event that contains a bandwidth value. The value can be the average size of pages on your site.

We suggest using an Event Label of “Bandwidth” for this solution.

Google Analytics updates their code periodically, so please refer to GA documentation for proper syntax:

Event Tracking Instructions (analytics.js):
https://developers.google.com/analytics/devguides/collection/analyticsjs/events

This option is better than nothing…but it isn’t very accurate because it won’t track bandwidth for:

Option 2: Accurate

Your web server creates log files that keeps track of all the content delivered to visitors. Using web analytics software, you can process these logs and create an accurate bandwidth usage total.

Web server log files contain additional useful data, like:

  • Page errors
  • IP addresses
  • Broken links
  • Visitors who block GA tracking (25% and growing)

Angelfish Software processes web server logs and creates useful reports for any websites, internal or external.

Learn more at:
https://analytics.angelfishstats.com/solutions/google-analytics-web-log-analyzer/

Why Does Google Analytics Show Self-Referrals?

Self-referrals in your reports are one of the most common red flags that indicate a problem with your code installation. However, it’s common for a small number of self-referrals to show up even if the implementation is done correctly.

If you see your own website under the All Traffic or Referrals report in Google Analytics, it may be a symptom of bad or missing code on your site. If the number of self-referrals are too high, they could be inflating your data and masking your referring sources.

Did you know you can keep a backup copy of the data sent to Google? Once you have it, you can process it with web analytics software.

Why are there self-referrals?

Self-referrals are caused by the tracking code seeing a new traffic source for the visit, usually because it rewrites the cookies. This could be due to the cookies expiring or the cookies not existing on the current domain.

Small numbers of self-referrals

The most common scenario for “legitimate” self-referrals is when a visitor comes to your site and then goes idle or works in other windows for more than 30 minutes before coming back to your site. At that point, the visit has expired. If they click on a link on your site, it will start a new visit, and it will appear that the page they were idle on was the source of the visit. If the number of self-referral visits is a small percentage (< 5%) of overall visits, it can probably be ignored. Such a small number is not impacting the overall numbers enough to warrant the time and energy it would take to track down an issue that might not even exist.

Multiple domains

If you are using multiple domains in your site, you need to have cross-domain tracking set up. If you already have that set up, and you still see self-referrals, it probably means that some pages aren’t coded correctly or got missed altogether.

In Google Analytics go to Traffic Sources -> Referring Sites. Find your website listed there and click on it. You’ll want to look at two things.

  1. Referral paths: The table it brings up will list all of the referral paths from that site. This is the page the visitor came from to get to your site.
  2. Next, change the Dimension dropdown to Landing Page. This shows you all the pages on your site the traffic came to.

You are looking for specific pages that have really high numbers. That would indicate that the code is wrong or missing just in specific places. If the referral paths all have correct code on them, make sure the landing pages also have correct code.

Multiple subdomains

If your site uses multiple subdomains, the tracking cookies could be written to a specific subdomain. In this case, they won’t be recognized when the visitor moves to another subdomain. This can even happen if the visitor goes to mysite.com and then to www.mysite.com.

Use the same method as for multiple domains to see if specific pages are the culprits.

Cookie timeout

If visitors have a tendency to keep your site open in the background for long periods of time, their cookies will time out and their next click will start a new visit as a referral from that page. This is common on news sites or blogs that are frequently updated throughout the day or that a visitor might read in their spare time. If the Referring Sites report shows an even distribution of referral paths and landing pages, this is likely the issue. Confirm this by looking at average time on page and average time on site. Very high numbers would also indicate that visitors are getting interrupted while reading your site and then coming back to it.

The best solution to this would be to increase the cookie timeout. One of our clients was a major newspaper, and we recommended that they increase their cookie timeout to as high as 90 minutes. This way visitors who get interrupted but keep the site open in the background will still count as a single visit.

Next Steps

Check out our Recommended Tools to learn about products that complement Google Analytics.

Google Analytics for Intranets

Does your company use Google Analytics to track Intranet websites? If so, there’s a slight problem:

Google Analytics isn’t designed for Intranets

Google Analytics Code is Slowing Down My Site

Most Website Users will leave if a site takes more than a few seconds to load.

This prompts the question:

Does Google Analytics Code Slow Down My Site?

The quick answer is “probably not” but you can verify this with a few minutes of investigation.

There are two components to consider with the Google Analytics Tracking Code (GATC):

  • Connection Speed: the amount of time it takes to download external files
  • Processing Speed: the amount of time it takes for a browser to render JavaScript

First, open your browser console (press F12 on your keyboard), click the Network tab, and reload the page.

Click the “Domain” column to sort the content items by the website they’re loaded from, and look for “www.googletagmanager.com” in the column. GA4 uses this domain.

You should see a low time (100 ms or less) for everything from this domain.

If you’re still using Universal Analytics, it loads GATC from “www.google-analytics.com” – you can look for that domain in the list as well.

If you see higher load times than 100ms or if you still have slow page loads, you’ll need to investigate further.

Here are some troubleshooting ideas:

  • Click the “Console” tab of the browser console and reload the page: look for errors
  • Verify you’re using the current version of the tracking code snippet
  • Move the GATC snippet to a different location in the page, like the header or footer
  • Identify slow-loading content items with Google PageSpeed Insights or the Lighthouse chrome extension
  • Individually disable third-party scripts and reload the page: check Timings

A Brief History of GA Tracking Code Slowness

When Google Analytics was first released in 2005, slowness caused by the Google Analytics Tracking Code was common.

You could eliminate the delay by storing the tracking code locally, but you lost automatic updates to the code by storing a local, static file.

A few years later, the asynchronous version of the tracking code was released. This version made sure the browser wasn’t blocked from loading UI elements by the tracking code, and eliminated most slowness issues.

Fast forward to today: GA4 integrates with other Google services like DoubleClick and Google Tag Manager (GTM), which is a global CDN.

The biggest threat to GA4 isn’t slow-loading tracking code, it’s Users who block the tracking code.

Blocked Tracking Code

When GATC doesn’t load, neither the the User nor the Page that references the code shows up in Google Analytics.

Popular browser plugins like AdBlock and NoScript make it easy to block GATC from loading.

This is an unscientific study…but starting in January 2023 we observed the highest rates of blocked GATC we’ve even seen. It’s consistently 20%, and it affects both public website and intranet websites.

If your marketing budget drives inbound traffic, you won’t see traffic from Users who click your ads that also block GATC.

The best way to see these Users is with a web analytics tool that doesn’t rely on JavaScript-based tracking.

Google Analytics Wingman

No web analytics product does everything. In the case of Google Analytics, it doesn’t:

  • Show Users who block GATC
  • Store PII, like IP addresses & Usernames
  • Show a date range smaller than 1 day

We recommend using a tool that complements Google Analytics by providing data you won’t see in your GA reports.

Angelfish Software is a Google Analytics Wingman– it sees things GA doesn’t see!

Regular Expressions for Google Analytics

When using Google Analytics, you need a basic understanding of regular expressions. This article is a basic refresher.

You can test your regular expressions in our free RegEx tester.

What are Regular Expressions?

Regular expressions (also known as regex) are used to find specific patterns in a list. In Google Analytics, regex can be used to find anything that matches a certain pattern. For example, you can find all pages within a subdirectory, or all pages with a query string more than ten characters long.

Regular expressions provide a powerful and flexible way to describe what the pattern should look like, using a combination of letters, numbers, and special characters.

For example, typing html into the search box in the content reports will return all URLs that contain “html” anywhere in path. For example, the following pages would be returned:

  • /index.html
  • /html-definitions.php
  • /search.php?q=html+vs+php

The Escape Character: Backslash

Regular expressions use a series of special characters that carry specific meanings. This is a thorough, but not complete, list of the special characters in regex that carry a non-literal meaning.

^ $ . ? [] () + \

As an example, the question mark means “make the previous character optional” in regex. We’ll show an example of this in action later in this article.

But if you want to search a question mark, you need to “escape” the regex interpretation of the question mark. You accomplish this by putting a backslash just before the quesetion mark, like this:

\?

If you want to match the period character, escape it by adding a backslash before it. For example, \.html would match a dot followed by the string “html”.

If you want to match a series of special characters in a row, just escape each one individually. To match “$?”, you would type \$\?.

You can escape any special character with a backslash – even the backslash! \\

If you’re unsure whether a character is a special character or not, you can escape it without any negative consequences.

Anchors: Caret and Dollar

Regular expressions match the pattern you specify if they occur anywhere in the string–beginning, middle or end. There are anchors you can use in regex to specify that a pattern should only occur at the beginning or end. The anchor characters are:

^ $

Use the caret symbol (^) to anchor a pattern to the beginning. Use a dollar sign ($) to anchor a pattern to the end. You can use either or both in a

^/page will match “/pages.html”, “/page/site.php” and “/page”. It won’t match “/site/page” or “/pag/es.html”.

html$ will match “/index.html”, “/content/site.html” and “/html”, but not “/html/page.php”, “/index.htm” or “/index.html?q=html+vs+php”.

^car$ will only match “car” and ^$ will match only empty strings.

$/google.php^ won’t match anything because it’s bad regex – the caret should always be to the left of the dollar: ^/google.php$

Ranges of Characters

Regex can also be used to match ranges or combinations of characters. Square brackets allow you to specify a variety of characters that can appear in a certain position in the string.

For example, [eio] would match either “e”, “i” or “o”.

You can include a long list of characters in square brackets, but it’s easier to match a range of characters with a hyphen. For example:

[a-z] will match any lowercase letter from a to z. (Google Analytics is case-insensitive by default.)

[a-zA-Z0-9] will match any lowercase letter, uppercase letter, or number.

[a-dX-Z] will match a, b, c, d, X, Y, or Z.

Square brackets look at each individual character, not whole words.

[word] matches a single occurrence of “w”, “o”, “r” or “d”.

To match a string of characters, enclose them in parentheses and use a pipe (|) as an “or” character. For example, to match an instance of “cat” or “dog”, you would type:

(cat)|(dog) OR (cat|dog).

Finally, use a period to match any character. It’s like a wildcard for a single character:

car.s will match “carrs”, “car?s”, “car5s”, etc.

Repeating Patterns

With regex, you can even specify the number of times a pattern should occur.

A question mark after a character will match zero or one occurrence of the character. This makes the character optional:

aa?pple will match “aapple” or “apple”.

A plus sign matches one or more occurrences.

a+ will match “a”, “aa”, “aaaaaaaaaa”, etc.

An asterisk matches zero or more of the previous character. Combined with a period, “.*” is commonly used as a wildcard because it matches anything.

.* will match any non-empty strings.

Curly brackets allow you to match a specific range of occurrences. You specify the minimum and maximum number of occurrences.

ca{3,5}t will match “caaat”, “caaaat”, “caaaaat”, but not “cat” or “caaaaaaaaat”.

Next Steps

Use our free RegEx tester to test your regular expressions.

Feel free to Bookmark the tool!

How Google Analytics Works

car

Understanding Google Analytics reports and capabilities requires an understanding of the basic principles. Knowing what data Google Analytics can capture and how it interprets it is key to making sense of the software.

At its most basic level, Google Analytics consists of

  1. JavaScript code on each page of a website,
  2. A data collection service on Google’s servers
  3. A processing engine that creates report data

Did you know that you can keep a backup copy of your Google Analytics data? If your company doesn’t already do this, start today.

1. Google Analytics JavaScript Code

When a visitor arrives at a page with tracking code, the code is executed by the browser. It collects information about the visitor’s browser and computer settings, like screen resolution, operating system, etc. The script’s visibility is pretty limited. It can typically only see what it’s told.

The script then sets a few cookies containing some basic visit information. These cookies determine whether it is a new or returning visitor, among other things.

2. Google Analytics Data Collection Service

Next, all of this information must be sent to the Google Analytics servers so it can be processed. The GA tracking code sends the information by requesting a very small file, /collect. It appends all the cookie data and information it just collected to the query string for /collect. This way, Google’s servers have a record of when a file was requested and all of the visitor information about that pageview.

Many organizations store a backup copy of every tracking request sent to Google’s data collection service. Once you have a local copy of Google Analytics tracking requests, you can process them with Angelfish Software and turn them into interactive reports.

3. Processing Visit Information

In the last step, Google Analytics processes all of the __utm.gif requests, applies filters and config settings, and makes the data available to your account.

Visit data is typically processed every few hours, although this frequency has been increasing over time. Google rolled out a set of Real Time data reports in 2011 although the data available in these reports is not comprehensive.

Pros and cons to Google Analytics

There are a few important points to consider with this approach.

The Tracking Request is Critical

Any visitors to your site that don’t execute the JavaScript file won’t get counted. If the code doesn’t run, then /collect never gets requested from the GA servers and Google Analytics will never know about the session. Likewise, if you take the code off your site or misconfigure it so that it’s not working properly, the sessions during that period won’t be counted.

Track Cached Pages

Google Analytics will track visits to a page even if it’s been cached (i.e. stored in your browser’s memory). Each individual /collect request contains unique information, which means it won’t be served by the browser cache. A new request for the file will be made every time a page is viewed, including when a visitor refreshes the page or hits the back button.

Cookie Manipulation

If a visitor deletes the Google Analytics cookies, s/he will be seen as a new user in the next visit, and all information from previous sessions will be lost.

This also means that multiple users on a computer will be seen as the same visitor. Also, a user using two computers or devices will be seen as two different users.

This is one of many reasons that web analytics reports ought to be viewed as a survey sample and not as concrete fact.

No Reprocessing

It’s important to remember that Google Analytics data is processed remotely. GA customers don’t control when data is processed. That means that once data is in the account, it’s there for good. Mistakes in historical data can’t be reprocessed.

To avoid mixing good data with bad, we recommend creating a duplicate profile to use as a sandbox. Apply filters to the sandbox to see what impact they will have before applying them to your production profile.

Google Analytics on Different Servers

All of the Google Analytics code is client-side, so it doesn’t matter where the website is hosted. Different browsers might treat the code a little bit differently, but as long as the HTML references the JavaScript code correctly, the code never has to interact with the server.

Next Steps

Check out our Recommended Tools to learn about products that complement Google Analytics.

Google Analytics for Intranets

Does your company use Google Analytics to track Intranet websites? If so, there’s a slight problem:

Google Analytics isn’t designed for Intranets

Google Analytics Definitions

This article attempts to clarify definitions for common terms used in Google Analytics.

Hit
With Google Analytics, a hit is ANY request sent to the GA data collection system. This includes pageviews, events, custom variables, measurement protocol uploads, etc.

You can backup your Google Analytics data by keeping a copy of the hits sent to Google. There are many good reasons to do this, as explained here: backup your Google Analytics data

Pageview
A pageview is recorded every time a page is viewed. Or, more technically, a pageview is recorded every time the Google Analytics pageview tracking method is executed. When a user hits the back button, a pageview is recorded. When a visitor hits refresh, a pageview is recorded. Every time a page is opened in the browser, regardless of whether it has been cached, a pageview is recorded. (Of course this assumes the tracking code is on the page in question.)
Session
A session consists of a series of pageviews that a single user makes during a period of activity. The session ends after the user either closes the browser, clears cookies, or is inactive for 30 minutes. (The timeout length is customizable in the tracking code settings)
Users
Users are defined by a unique ID – this ID is usually stored in a cookie. Whenever the tracking code is executed, it looks for cookies on the browser set by the current domain. If they can’t be found, new cookies with a new ID are set. Google Analytics emphasizes sessions over users because of the inherent inaccuracies of trying to track individual users. For example, a user who deletes their cookies, uses multiple browsers, or shares their computer will be inaccurately represented in the reports.
Bounce
A visit with one pageview. It doesn’t matter how long the visitor was on the page or how they left. Technically, it’s a visit with only one interaction.
Time on Page
Time on page is measured by subtracting the time a visitor hit a page from the time they hit the next page. (e.g. If they hit Page 1 at 12:00 and hit Page 2 at 12:03, time on Page 1 is three minutes.) This means that the time on page for the last page in a visit is always zero because Google Analytics doesn’t track pages being closed.
Time on Site
This is the sum of the time on page for all pageviews in a visit. Or, more accurately, it is the difference between the time they viewed the first page and last page in a visit. Note that viewing pages in different tabs doesn’t affect this. Google Analytics simply sees a string of pages being viewed in chronological order, without any reference to multiple tabs or windows.
New Visitor
A visitor who did not have Google Analytics cookies when they hit the first page in this visit. If a visitor deletes their cookies and comes back to the site, the visitor will be counted as a new visitor.
Returning Visitor
A visitor with existing Google Analytics cookies from a previous visit.
Dollar Index
A measurement of how influential a page is to conversion. The higher the number, the more frequently it was viewed prior to a purchase or conversion. It’s calculated by taking the goal conversion value or transaction value of a visit and applying it evenly to all the pages prior to that conversion. Seen in aggregate, it just attempts to correlate pages to conversions.
Pages/Visit
Pageviews divided by visits. This metric shows the average number of pages viewed per visit.
Direct Traffic
Ideally, this is the traffic that came to a site via bookmarks or by directly typing in the URL. In reality, it is the traffic for which the code couldn’t determine a source. Depending on the site and the browser, some links may not show a referrer and instead would be categorized as direct. Using campaign variables will get around this misrepresentation every time.
Referring Sites
This is traffic for which (1) a referrer was identified, (2) the referrer is not a search engine and (3) there are no campaign variables. The referring URL (a.k.a. the page that contains the link to your website) is also stored for referrals.
Search Engine Traffic
Google Analytics automatically categorizes traffic as coming from a search engine if the referring URL is from its list of known search engines and there is a search term identified in that URL. Both organic and paid search engine traffic is put into this group.
Event Tracking
A feature that allows you to track visitor activities separately from pageviews. This is commonly used to track interaction with AJAX or Flash content.
Google Analytics API
The API extracts data from Google Analytics accounts. It allows customers to programmatically extract Google Analytics data and incorporate it with 3rd party applications and/or databases.

Next Steps

Check out our Recommended Tools to learn about products that complement Google Analytics.

How Google Analytics Collects Data

When Google Analytics Tracking Code (GATC) runs, it gathers information about your website visitors and sends that information to the GA data collection servers.

The information is sent in a request to:
https://www.google-analytics.com/collect

This request is made for every single pageview, transaction, social interaction, tracking, timing, and event.

When processed, Google Analytics strings together the individual actions and associates them with a session.

Example: Universal Analytics request

https://www.google-analytics.com/collect?v=1&_v=j68&a=753537405&t=pageview&_s=1&dl=https%3A%2F%2Fwww.analyticsmarket.com%2F&ul=en-us&de=UTF-8&dt=Resources%20for%20Google%20Analytics&sd=24-bit&sr=1600x900&vp=1583x418&je=0&_u=AACAAEAB~&jid=1528408694&gjid=192180985&cid=1602946763.1549335544&tid=UA-23423231144-1&_gid=1845815927.1549335544&_r=1&z=549945300

Example: GA4 request

https://www.google-analytics.com/g/collect?v=2&tid=G-W82H8S53ST>m=45je4620&_p=102644968&cid=1489945657.1691089601&ul=en-us&sr=1920x1080&uaa=x86&uab=64&uafvl=Not_A%2520Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B109.0.5414.120%7CChromium%3B109.0.5414.120&uamb=0&uam=&uap=Windows&uapv=0.1.0&uaw=0&_s=1&sid=1691096027&sct=3&seg=0&dl=https%3A%2F%2Fwww.analyticsmarket.com%2Fblog%2Fhow-google-analytics-collects-data%2F&dt=How%20Google%20Analytics%20Collects%20Data%20-%20AnalyticsMarket&en=page_view&_ss=1&_ee=1

When Google Analytics receives these requests, the data populates your reports.

Although each URL looks overwhelming, it’s pretty simple when broken down:

  • It’s a request for www.google-analytics.com/collect
  • It contains twenty-ish URL-encoded parameters
  • Each parameter stores a specific piece of information that is either used to populate reports or to keep things organized.
  • Some parameters are only used in specific cases, others are required each time.
  • One of these requests is made each time a User views a page on your website.

Blocked Tracking Issues

Common browser plug-ins like NoScript or AdBlock prevent GATC from loading, or block the request from being sent.

This happens more frequently than you may realize – most Users don’t want to be tracked.

When tracking is blocked, you won’t see those Users in your Google Analytics reports.

The best solution to this problem is to combine Google Analytics with a log analysis tool – Users can’t block themselves from the access log.

Angelfish Software is a Google Analytics Wingman – it sees things GA doesn’t see!

Parameter Analysis: UA

Let’s take a look at the query parameters in the UA request:

NameDescriptionExample Value
vProtocol versionv=1
_vSDK Version number_v=j68
aAdSense linking numbera=753537405
tHit Type.  e.g. pageview, event, item, timing, etc.t=pageview
_sHit sequence number? (unsure)_s=1
dlDocument Location (full URL)dl=https%3A%2F%2Fwww.analyticsmarket.com%2F
ulUser Languageul=en-us
deDocument Encodingde=UTF-8
dtDocument Title (Page Title)dt=Resources%20for%20Google%20Analytics
sdScreen Depth (color)sd=24-bit
srScreen Resolutionsr=1600×900
vpView Portvp=1583×418
jeJava Enabled (0 = no, 1 = yes)je=0
_uUsage info: tells Google which features are used_u=AACAAEAB~
jidJoin ID for DoubleClick beaconjid=1528408694
gjidTracking code versiongjid=192180985
cidClient ID: random-number.timestampcid=1602946763.1549335544
tidTracking ID / Web Property IDtid=UA-23423231144-1
_gidUser ID, used to distinguish users_gid=1845815927.1549335544
_rNot sure (it’s undocumented)_r=1
zRandom Number Cache Busterz=549945300

The parameters shown above are for a pageview (t=pageview).  Different parameters are used with different Hit Types, like t=event or t=transaction.

If you’d like to see the parameters used by GA4, we recommend looking at the
GA4 Measurement Protocol Reference.

Next Steps

Check out our Recommended Tools to learn about products that complement Google Analytics.

Google Analytics for Intranets

You can use Google Analytics to track any website, although there are some issues to consider if you want to track Intranet sites.

We’ve worked with Google Analytics since it was first released in 2005. The below list is based on our observations and client feedback.

Intranets Don’t Have an AdWords Budget

Google Analytics is a marketing analytics tool. Its primary purpose is to help you track the effectiveness of your AdWords budget.

Some of the reports in Google Analytics are useful, but the product isn’t a good fit for Intranet web analytics reporting.

Tracking Can Be Blocked

With Google Analytics, if a User blocks the request for the tracking code or the tracking beacon, the User isn’t seen in the reports.

This presents a problem for internal corporate tasks like compliance & file access audits.

This isn’t just a Google Analytics problem. It applies to any product that relies on JavaScript-based tracking: tracking can be easily blocked.

Tracking can be blocked with browser extensions, dev console rules, firewall & network policies, and a variety of other options.

It’s safe to say that some of your internal Users currently block Google Analytics Tracking.

Data Privacy Regulations

Each year brings more regulations, and their reach keeps expanding: GDPR, LGPD, CCPA, PIPA, PIPEDA, CDPA, et al.

Google Analytics isn’t GDPR compliant as of 2023. It’s not clear if GA customers are penalized, but we suspect Google will not be allowed to collect as much data in the future.

One of the best ways to avoid data privacy laws is to store your data in your network.

Details Are Missing

Google Analytics is great for trend analysis but you can’t drill down into details about individual visitors. Plus, the smallest date range you can choose is one day.

Usernames are present in most Intranet environments, but you can’t store or see them in Google Analytics.

A good Intranet web analytics tool is able to show details. For example: a list of Usernames who accessed a specific document last Thursday between 7-9 AM, and the ability to drill down into the list to expose more details.

Intranet Web Analytics: Is There A Better Solution?

Yes. Self-hosted / on-premises web analytics software is a better match for Intranet web analytics.

Angelfish Software is a self-hosted web analytics tool that was designed for Intranets, and provides a solution for all the issues listed above.

Learn More: Angelfish Software