Should You Exclude Internal Traffic From Google Analytics?

Imagine a Forrester survey that included responses from Forrester employees. The credibility of that survey would be dubious because we wouldn’t know the extent of bias. We also wouldn’t be able to make good guesses about how to interpret that data.

Building on the above example, suppose you’re analyzing visitors on a company’s public website, and company internal traffic is included in the study. Would the results of the study be more customer-focused if the internal traffic were excluded? Definitely.

To clarify, “internal traffic” means traffic from company employees, contractors, agencies, or anybody directly related to the organization’s daily operations.

Why Filter Internal Traffic?

What are some other reasons for filtering out internal traffic? Let’s start by identifiying the primary reason we use web analytics: we want to see trends and correlations so we can increase conversion and improve the visitor experience.

It’s this last point that is most relevant here: we need to create a to do list. What do we change to make things better?

The reason you have a web analytics tool is not to keep a record of every order placed or how many times a video was viewed. Rather, it is to see what actions prevent users from doing those blessed activities, or it is to know what motivates them to do it.

Looking at reports that include irrelevant traffic is a waste of time. And here are some reasons you should exclude them from your reports:

  • They interact with your site differently than other visitors.
  • Their reasons for being on the site are usually much different than a potential customer’s.
  • They don’t use the same traffic sources to reach your site and might start their visits deeper into the site than a typical visitor would.
  • If you have some new or redesigned area of your website, they probably know about it first. If they are developers, they are going to those areas all the time to make sure they are working properly. Perhaps they’ll use an employee discount, or are checking to see if their suggestion for a background image was used.
  • Internal traffic is more patient with your site than a typical visitor will be. They already know that what they want is there. So, if a page takes too long to load, if the video is broken, if the shopping cart deletes all their items, if the site puts a virus on their computer, they will still come back and try again. Random visitors are not so merciful.

For all these reasons and more, internal traffic needs to go!

How to Filter Internal Traffic

When it comes down to it, there are only a few ways to do it.

Typically, we can filter the traffic by IP or network name. In this case, we would filter by the IP visible to the world. This might be the IP address of your firewall. It’s the IP address that shows up when you visit any number of pages like

In case we don’t know or can’t consistently pin down the IP or network name, another option is to identify internal traffic with a user-defined variable and then use a filter to exclude the internal traffic.

Creating the filter is easy. Just go to the filters list, click to add a new one, specify that it’s an exclude filter and then put in either the IP addresses, network name (ISP organization, network location) or the user-defined variable.

There are a variety of other ways to remove internal traffic from your reports. Whichever way you choose, the most important thing you can do is implement it!

Next Steps

Use our Free Tools to develop regex & IP address patterns for filters.

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

Google Analytics isn’t designed for Intranets

Does Google Analytics Provide Data Privacy?

It’s no surprise that Google Analytics is used by a staggering number of websites around the world. Google Analytics has lots of advanced reports, looks great, and it’s free. But for all the features Google Analytics has, it doesn’t give a complete snapshot of website activity.

There are a few reasons for this:

  • Terms of Service (ToS): The Google Analytics ToS states that Personally Identifiable Information (PII) cannot be stored in Google Analytics. This includes IP Addresses, usernames, customer information, or anything that can be used to identify an end user.
  • Data Sampling: Free Google Analytics accounts have data collection and reporting thresholds. Busy websites frequently exceed this threshold – have you ever seen the “this report is based on X% of visits” message in Google Analytics?
  • Tracking Method: Google Analytics relies on JavaScript to track visitors. If the Javascript file doesn’t load or the tracking request is blocked, visitor activity won’t show up in Google Analytics.

There’s also a lot of great information that Google Analytics doesn’t show you, like direct file downloads, stolen bandwidth, and full visitor clickpaths.

The best way to overcome these limitations is to use another web analytics product in addition to Google Analytics. Prior to 2013, organizations would use Urchin Software with Google Analytics to get a full snapshot of site activity. Now that Urchin has been canceled, we recommend using Angelfish Software for this same solution.

Angelfish is a web analytics software application – you install it on a server, in a private cloud, or on your desktop. Angelfish ensures data privacy because data doesn’t leave your network without your approval. Angelfish will also process the tracking request made by Google Analytics!

Angelfish will show you things that Google Analytics doesn’t show you, like:

  • IP Addresses
  • New mobile devices
  • Hidden visitors
  • Stolen bandwidth
  • Direct file downloads
  • Crawler traffic
  • Site and page errors
  • Full visitor clickpaths
  • Individual visitor information

Many organizations use Angelfish Software to enhance the data provided by Google Analytics. Angelfish provides full data privacy and shows IP addresses, usernames, site errors, stolen bandwidth, and much more. Learn more at:

Troubleshooting Google Analytics

If things don’t seem quite right, these articles can show you where to look for answers. There are red flags to watch for in your reports that signal that your implementation is wrong or perhaps that somebody is using your code on their site.

If something goes wrong on Google’s end, these articles show you how to avoid disruptions and negative visitor experiences.

These also answer common questions and concerns about Google Analytics and the impact of having it on your website.

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

Web Analytics Software Review

Website analytics reporting software can be on-premises or hosted/SaaS. This article compares the best on-premises solutions, and differentiates between Commercial and Open Source products.

On-premises web analytics software keeps your data within your environment, which provides full data security and avoids many of the regulations imposed on SaaS solutions.

Should You Use Commercial or Open Source?

There are a few things to consider when evaluating an on-premises web analytics reporting tool, since there are advantages and disadvantages to each.

Generally speaking, Open Source solutions make sense when cost is the primary concern (e.g. individuals with basic websites & small/micro businesses). Commercial solutions are a better choice for established businesses that require a guaranteed level of performance and service.


This is the primary drawback of Commercial web analytics software: it’s not free. Prices start around $1,000 and increase as you add features and scale.

Commercial web analytics products typically offer better support options. Software vendors understand that if a potential customer can’t get the product to work, the customer won’t buy the product.

Every product has security concerns, and there isn’t a clear answer for the “which is more secure, Commercial code or Open Source code?” question. However, security means more than just code: Commercial software generally has defined product leadership, follows a development standard, has limited distribution channels, is protected by a security infrastructure, and has a more comprehensive legal agreement.

Open Source

Open Source software is free to use, but there’s more to the story. It’s important to consider the legal restrictions as well as the cost of implementation.

Support for Open Source products is usually self-service, limited to discussion forums and product manuals. Some Open Source products have 3rd party companies that offer support for a fee.

We’ll say it again: every product has security concerns, and there isn’t a clear answer for the “which is more secure, Commercial code or Open Source code?” question. Proponents of Open Source software say it’s more secure than Commercial because it’s subject to more scrutiny – anyone can contribute to the source code. That said, the “anyone can contribute” development model of Open Source software should be considered in your selection process.

Commercial Web Analytics Software (in alphabetical order)

1) Angelfish Software

Overview: Angelfish 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.
Key Features: Traffic Spike Analysis, Nested Segments, Bandwidth, API, Uses Log Analysis or JavaScript Tags
Technical Requirements: Windows/Linux (64-bit), 4 CPU cores, 4+ GB RAM, storage needs 5% of raw log file size
Cost: Starts at $1,295/year
Comments: Launched in 2013, processes Google Analytics tracking data, uses a self-contained database, highly flexible.

2) IBM Unica NetInsight

Overview: NetInsight is a web analytics application that utilizes an ETL method to populate a database that can be viewed with a web browser.
Key Features: Click Maps, Funnel visualization, robots/spiders, API
Technical Requirements: Windows/Linux/Solaris, DB2 / Oracle / SQL Server, 2 CPU cores, 2 GB RAM, 8 GB disk
Cost: [edited March 2015] see comments
Comments: IBM no longer sells NetInsight.

3) Sawmill

Overview: Universal log analysis software that runs on every major platform and can process almost any type of log data.
Key Features: Easy To Use, Extensive Documentation, Database Driven, Highly Configurable
Technical Requirements: Linux/Windows/Solaris/MacOS/FreeBSD, 2+ CPU cores, 4GB+ RAM, storage needs 200% – 400% of raw log file size
Cost: starts at $500/year
Comments: Sawmill is more of a log analysis tool than a web analytics tool, massive storage requirements, first released in 1997.

4) WebTrends

Overview: WebTrends provides web, social, mobile, and other analytics solutions for digital marketers.
Key Features: Multi-channel analysis, Dashboards, Events, Social Measurement
Technical Requirements: Windows, SQL Server, 4 CPU cores, 6 GB RAM, storage needs 1 GB for every million pageviews (approx)
Cost: [edited March 2015] see comments
Comments: WebTrends was the first major player in the web analytics space, but no longer sells an On-Premises version and has not announced plans to release one.

Open Source Options (in alphabetical order)

1) AWStats

Overview: AWStats is a free, powerful, and featureful tool that generates advanced web, streaming, ftp or mail server statistics, graphically.
Key Features: visits, pageviews, geo info, browsers & platforms, robots
Technical Requirements: Linux, Perl, hardware specs are unspecified
Cost: free
Comments: AWStats has been around for years. Basic reports, included with most hosting plans, has reports for FTP & mail servers, no support for JavaScript page tags.

2) Open Web Analytics

Overview: Open Web Analytics (OWA) is used to track and analyze how people use your websites and applications.
Key Features: E-commerce, Funnels, Custom Events, Mouse Movements & Click Tracking, API
Technical Requirements: Windows/UNIX, mySQL 4.1+, hardware specs are unspecified
Cost: free
Comments: OWA has visual similarities with Google Analytics but misses some features, like filters and exporting options.

3) Matomo

Overview: Web analytics platform that gives you valuable insights into your website’s visitors, your marketing campaigns and much more.
Key Features: Dashboards, Mobile App, E-commerce, API, Real Time Reports, Multiple CMS Integrations
Technical Requirements: Webserver (apache, IIS, etc), PHP 5.3.3, MySQL 4.1+, hardware specs are unspecified
Cost: free
Comments: Popular open source analytics platform, on-premises version requires extensive tuning for large environments.


We prefer analytics products that possess the following traits:

  • Great Reports & Features
  • Fast Performance
  • Actively Developed & Supported
  • Low Administration Requirement
  • Accommodates Non-Technical Users

Ultimately, the right web analytics product depends on the needs of your environment. That said, here are our choices:

Commercial Recommendation: Angelfish Software

Angelfish installs easily, the reports look great and load quickly, it works with SharePoint, and we love the details it provides. This would be a more difficult choice if WebTrends On-Premises and NetInsight were still available, but it doesn’t diminish the fact that Angelfish is an impressive web analytics software product.

Open Source Recommendation: Open Web Analytics

This was a tough decision. Matomo has more features, a larger user base, and a broad support/consulting network. But Matomo is difficult for non-technical users to implement, and it’s mission is to be an open source version of Google Analytics (i.e. why not just use Google Analytics?). We’ve also heard too many stories about Matomo requiring ongoing attention from a mySQL DBA, especially with high traffic sites. Open Web Analytics doesn’t have as many features or users as Matomo, but it works well enough and we like the clean, familiar interface.

Thanks for reading!

Why is (other) Showing Up in My Reports?

Database Row Limits

Google Analytics uses database tables to store all the information it gathers for reports. Each table has a row limit. At last count, the limit was 50,000 rows for standard (free) Google Analytics customers and 75,000 rows for Google Analytics 360 (paid).

Here’s how it works:

  1. A URL is visited and data for the pageview is received (eg. which URL was viewed, how long was spent on the page, etc.)
  2. Google Analytics checks to see whether a row for this URL has already been entered in the database
    • If it has, it adds the data to the existing entry
    • If it has not, it creates a new row

This process continues happily until there are 50,000 entries in the table. At that point, a new row is created, titled “(other)”. Now if a new URL is encountered, the data for that pageview gets lumped into the (other) row.

This does not mean that only 50,000 pageviews or visits can be tracked, because there is no limit on the number of visits that can be recorded for a single page. It does mean that only 50,000 unique URLs can be tracked.

What data is affected by database row limits?

There is a separate table for every dimension. For example, there can be up to 50,000 URLs and also 50,000 page titles. Also affected by this row limit are dimensions like browser, operating system, search keywords, e-commerce products, geo-locations, etc.

How often are new database tables created?

New database tables are created each day. When new tables are created, the row limits are reset.

How do I get rid of (other)?

The table row limits are typically only exceeded in content reports. The cause is usually a combination of unnecessary query parameters and case sensitivity. Each of these URLs is seen as unique:

  • /index.html
  • /INDEX.html
  • /index.html?sessionid=1234567

Get past this by creating a filter to set all URLs to lowercase and by specifying query parameters that Google Analytics should exclude.

Is there any way to see what pages are contained in (other)?

No. This shows up as a result of storage limitations. It is enabled on the back-end, not by the reports themselves. There is no way to tell what URLs contributed to the (other) totals.

Will advanced segments break out the (other) URLs?

No. Advanced segments repackage existing information. They do not reprocess old data. There is no way to segment the different URLs that may have contributed to the (other) row.

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

Upgrading Your Site From urchin.js to analytics.js

If you’re an Urchin customer, you can migrate your Urchin data to Angelfish Software.

There has been some hullabaloo about how long Google will continue supporting urchin.js, the older version of the Google Analytics tracking code. It was marked as deprecated some time ago, and Google stopped making updates to it to encourage customers to “upgrade” to ga.js and analytics.js.

However, it should be noted that some of Google’s own sites still use urchin.js. As do many very large websites. Google has been very clear that there are no plans to drop the code–especially not without warning.

Regardless, we recommend upgrading to the newest version of the code. We also recommend keeping a backup copy of the tracking data sent to Google. If your company doesn’t already do this, start today – it’s free!

Advantages to newer code

There are some clear advantages to using the newer code, however. And those advantages will only multiply with time.

  1. Access to new and also upcoming features, like Event Tracking
  2. Smaller file size means faster downloads
  3. Automatic detection of HTTPS
  4. Increased namespace safety
  5. Object-oriented code is more flexible in many ways
    • Easier e-commerce setup
    • If you’re using multiple accounts or profiles, more control over what data gets sent to which profiles
    • Rename or create multiple tracker objects
  6. Higher data collection thresholds
  7. Asynchronous JavaScript

If you update the code correctly, no data will be lost. The newer code doesn’t change how visit data is collected or calculated. It provides all the benefits without any drawbacks besides the pain of changing the code once.

Replacing urchin.js

Depending on how your site is set up, making the switch will be very easy.

First, log into your Google Analytics account.

From the Analytics Settings page (the one listing your profiles), click Edit next to the profile for the website you are upgrading.

On this page, you will see a box titled “Main Website Profile Information”. Just above this box, in the right hand corner is a little link that says “Check status”. Clicking this link will give you the most updated version of the tracking code.

If you haven’t done any modifications to your code, you can simply replace your current code with this code. Make sure you get every page! The two versions don’t always play nicely with each other.

Modifying analytics.js

If you have made any modifications to your tracking code, making this upgrade becomes a little bit more complicated. With urchin.js, you primarily just set different values for variables. In analytics.js, you call methods of the trackPageview() object instead.

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

Tracking Campaigns in Google Analytics

Google Analytics provides a simple way to track any marketing that drives traffic to your website without making any changes to your account.

To track marketing campaigns, simply insert campaign information into the landing page’s query string. It looks something like this:

First, let’s take a look at how Google Analytics keeps track of where a visitor came from.

How It Works

When a visitor lands on a page with Google Analytics tracking code, the code tries to determine where the visitor came from. It looks first at the URL itself. If the URL contains campaign information, it writes this to the visitor’s cookies. If not, it will look in the HTTP headers to see if there is a referrer identified. If it can’t find anything there either, it will mark the visit as direct traffic.

This traffic source information will now get sent to Google Analytics with every pageview (unless it gets overwritten), and that information will be used to populate all the traffic reports for the visit.

This gives us a way to track details of marketing campaigns and how they are performing in context of all the other visitors to a site.

URL Builder

To build these coded URLs, you can use our handy URL Builder tool. This tool will step you through all of the necessary information needed to track a campaign and then construct an encoded landing page URL for you. That’s it. Just identify this new URL as your destination URL and you’re done. The campaign reports in Google Analytics will be automatically populated.

Marketing Campaign Variables

Whether you use the URL Builder or manually create the destination URLs, you need to use the variables correctly.

Campaign Name (utm_campaign)

Required variable – If this advertisement is part of a broader marketing campaign, list the name of that campaign here. Avoid vague acronyms or abbreviations. If there isn’t an official name for the campaign, use the name or phrase you use internally to talk about it. For example, it might be seasonal (eg. “Spring Sale”), or it might refer to the message of the ads (eg. “Two for One Promo”).

Source (utm_source)

Required variable – List where the ad is located or where the visitor is coming from. This is not to be confused with medium (listed below). For example, if it is an ad placed on another site, list the URL for that site. If it’s from regular newsletters, you might list the name of that newsletter.

Medium (utm_medium)

Required variable – This field stores the medium for the marketing being used. For example, banner ads being shown on a site would be listed here as “banner”. Other options include “email”, “ppc”, “direct mail”, etc.

Keyword (utm_term)

This field is only used for ppc campaigns, and it should store the search term for a specific ad. Anything placed in this field will show up in the Keywords reports.

Content (utm_content)

Use this field to differentiate between two ads that share the same name, source and medium. For example, two banner ads on for the spring sale might generate different traffic because the content is slightly different. To keep track of this in Google Analytics, enter the differentiating factor here. Maybe one is the “blue ad” and the other is the “red ad”.

Tips and Tricks

Finally, when tracking campaigns, there are a few things to keep in mind.

When to Use

Use campaign variables anytime you spend money or time to get a link somewhere. More than anything else, you need to know whether your resources are being wisely utilized.


Since Google Analytics trusts what you input, you need to be careful to be consistent in how you name campaigns, including consistency in capitalization. If you input a campaign medium as “banner” and later input a medium as “banners”, they will be grouped separately.

Establishing from the beginning some consistent naming convention for everything can avoid a lot of confusion later down the road and keep the reports much cleaner.

Human Readable

Google Analytics is generous with its field limits, so there is no need to abbreviate or obfuscate your campaign information. Spell it all out so that nobody needs a secret decoder ring to understand the reports. If you’re concerned about secret spies stumbling across your reports and finding that they are incredibly easy to understand, I’d recommend doing a better job of locking up your offices at night.

Tracking Offline Campaigns

If you have offline advertising, like print, TV or radio ads that you would like to track, you can still use campaign variables. Just give a brief URL in the ad and have that redirect to the correct landing page with campaign variables. Ideally, you would use a different URL for each medium and campaign so that you could get very specific in your tagging.

For example, if you have a radio campaign announcing 10% off of widgets, give either a vanity URL ( or an easy subdirectory ( Have either of these redirect to your landing page with the lengthy campaign information in a query string.

The goal is to give an easy enough URL that consumers will remember and type in instead of just going to your home page or doing a Google search.

Free Traffic

In Google Analytics, free traffic should all be categorized as “direct”, “referral” or “organic” from a search engine. In the absence of campaign variables, these labels will be applied automatically. Make sure that no traffic you are paying or working for is attributed to these medium names.

Next Steps

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

Google Analytics Intelligence Reports

Spotting undercurrents and long-tail trends has never been very easy with Google Analytics. You usually had to know what you were looking for. And if a negative trend was developing, it could sometimes take days or weeks before you spotted it.

Google recently announced a new feature that goes a long way toward solving this and should change the way you use Google Analytics. Analytics Intelligence automatically scans your reports and alerts you to any unusual trends in your traffic patterns.

How Analytics Intelligence Works

Google uses proprietary algorithms to make predictions about what your traffic should look like. Every night it scans various dimensions and metrics for unexpected activity. If any of these dimensions or metrics fall outside of what Analytics Intelligence expects, it triggers an alert.

It looks for unexpected trends in daily, weekly and monthly traffic. In other words, if the traffic for a day was unusual, it triggers an alert. If traffic for an entire week was unusual, it triggers a different alert.

Analytics Intelligence also shows you just how unexpected an event was. If you have more visits than expected, it will tell you how many visits it expected and how different the reality was from the expectation.

Reading Analytics Intelligence Reports

Analytics Intelligence allows you to focus on just the most unusual events or to dig into even the most minute aberrations by allowing you to set an alert sensitivity. When the sensitivity is set high, it will show every alert, including those that may not be significant. The lower the sensitivity, the more unexpected an event needs to be to get displayed.

Click on a date in the bar graph to see the alerts for that day, week or month. Each alert is triggered independently, and no correlation between alerts is implied. Although, it’s often obvious if there is some correlation between two or more alerts.

The alert shows the expected value and how different the actual value was as a percentage. If it was a positive change, the percentage is green. If the change was a bad one, the percentage is displayed in red. It also displays the dimension affected and what percentage of overall traffic this aberration represents. At the far right, is a bar graph that represents how relevant the data is. The more filled in it is, the greater deviation from the norm it represents.

Analytics Intelligence Best Practices

Once you understand how to read the reports, Analytics Intelligence is a great starting point because it asks questions for you. It invites you to figure out why your visits from organic searches were so much higher that day, or why your goal conversions dipped on another day.

Start reading the reports with the report sensitivity set as low as possible. In other words, start with the most dramatic changes and move to the less significant alerts. Rather than immediately pursuing an answer for each alert, make a list of questions to answer. Some of the alerts are probably related.

There is a link for most alerts to create an advanced segment out of that alert. This is usually the next step. Create an advanced segment to single out the unusual traffic for any related alerts, and then start to dig into the issue.

Custom Alerts

You can also create custom alerts. You have the option of having them emailed to you. Custom alerts will show up as blue bars on the Analytics Intelligence graph. This is best used for keeping an eye on site-specific issues or things that you expect will go wrong. Just like standard alerts, these will only process once a day. They cannot be used to spot trends immediately.

Next Steps

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

Annotations in Google Analytics

The ability to create notes in Google Analytics reports has been a long-standing request from GA users. Google recently delivered by introducing Annotations to all GA accounts. This gives users the ability to make and share a record of any events that may impact the reports.

What are Annotations?

Simply put, annotations are short user notes (up to 160 characters) in the interface. They don’t affect the back-end data in any way. Think of them as sticky notes on your reports. After all the data has been processed and pushed into reports, you can attach notes and comments for specific dates.

They are a great way to spot correlations of data with external events.

How to Use Annotations

Annotations can be added from any report in GA. Underneath the line graph at the top of any page is a tab with an arrow. Click this tab to open the annotations interface. If any shared annotations have already been created for any date in your selected date range, you will see them here.

You may also click on a date in the graph. It will bring open a bubble with data about that day and a link.

Click “Create new annotation”. You can select the date by clicking on the date in the graph or by typing it in. Then add a short comment.

By default all annotations are marked as “shared”. This means that they are available to any user that has access to the profile, whether they have user or admin privileges. Marking it as “private” will make it only available to the user login that you used. Naturally, if multiple people use the same login to access the reports, they will all be able to see the annotation.

Annotations may only be edited or deleted by their creators. Not even administrators can change another user’s annotation.

Once an annotation has been created for a date, a small speech bubble appears at the bottom of the graph for that date. Clicking the bubble will open the annotations tab and display the annotations for that date.

When to Use Annotations

Annotations can be used to record anything that happened on a specific date. Ideally, they are used to note when something happened that affected data. These are some sample use cases for annotations.


Record when a marketing campaign launched so that you can more easily coincide spikes in traffic with those campaigns. Note when a campaign changes to see whether there is any discernible change in the reports.

Site Changes

Use annotations for any changes to the site architecture. If the navigation bar or style sheet changed, mark it so that spotting changes in user behavior will be easier. Also use annotations when a site changes to a different CMS.

Be sure to make a record of any major content modifications. The same goes for any changes to the URL structure.


Use annotations to record when A/B or multivariate tests start or end, and when changes are made to them.


Annotations are a good way to mark holidays, anniversaries and other company/industry events. Making a note of these occasions may uncover traffic trends that haven’t been spotted before.

Next Steps

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

SharePoint and Google Analytics

SharePoint on-premises is a popular portal solution, used by thousands of organizations globally. SharePoint 2010 had a built-in web analytics feature that did a decent job of showing how users interact with the portal, but Microsoft decided to remove certain web analytics features with SharePoint 2013 and 2016.

Many SharePoint customers now use Google Analytics, since it’s free (up to 10 mil events) and contains lots of useful reports. But unfortunately, Google Analytics isn’t able to provide a complete picture of activity on SharePoint sites:

No Usernames
Google’s Terms of Service doesn’t allow customers to store Personally Identifiable Information (PII) in Google Analytics. When users login to SharePoint to access documents / pages / information, Google Analytics isn’t able to tell you anything about the individual username and which documents were viewed.

Missing File Downloads
To track file downloads, Google Analytics requires JavaScript. But if a file is directly linked from a website or in an email, Google Analytics won’t “see” the file download.

Data Sampling
GA frequently uses report sampling for high traffic sites, which is frustrating when you’re looking for an exact count.

No Data Security
This primarily applies to Intranets and secure environments. SharePoint URLs frequently contain sensitive information about customers or employees, and GA tracking requests contain useful data like IP addresses. When data is stored outside your network, you can’t guarantee data privacy.

SharePoint Web Analytics Solution

SharePoint sites sit on top of an IIS server, and IIS creates a daily access log. These logs can be processed by a web analytics software program, which alleviates all the above issues and provides:

  • Data Security
  • Track Downloads, by Username
  • Full Visitor Details
  • No Sampling
  • No Tagging Required

Angelfish Software is our recommendation. Angelfish is self-hosted web analytics software which provides detailed reports about how users interact with your SharePoint websites, and has a comprehensive API for populating corporate dashboards.

SharePoint Web Analytics Software.