Comparing AWStats with Google Analytics
One might expect that both web analytics programs would report the same amount of website traffic, but this is not the case. I’ll try to explain why reports from Analytics and AWStats differ.
As part of the Google Marketing Platform, Google Analytics is one of the most widely used web traffic analytics programs available. Google launched the service in 2005 after acquiring multiple software companies specialised in analytics, most notably Urchin and Adaptive Path.
How Google Analytics works
Google Analytics works by placing a small piece of programming code on your website (or inside your app). This initiates the tracking and profiling used by Google to generate web statistics. The code makes your internet device connect to the servers from Google – which then count all these connections to generate usage statistics.
Google Analytics availability
Google offers Analytics without charge: when you use Google Analytics you agree to share your traffic data with Google. This allows Google to combine Analytics data from different websites to create accurate profiles of people surfing the web. While these profiles are great to deliver personalised ads, they are also reason for privacy concern. Google Analytics is used on websites, inside apps and games.
AWStats
Originally created by Frenchman, Laurent Destailleur in 2000, AWStats is a widely used server program that analyses web server log files. The name AWStats is an abbreviation for “Advanced Web Statistics”.
How AWStats works
The web server log contains the complete record of website traffic. Inside the log file, individual connections between the web server and the internet device (phone, computer, tablet) are registered. After analysing this activity record, AWStats provides detailed insights in web traffic.
AWStats availability
Everybody can use AWStats as it is available as free software, including its source code. Earlier, I wrote about helping people with free software, explaining the benefits of free software (it’s not just money). AWStats must have access to the server log files, which is often done by installing AWStats on the server itself. Because of this, AWStats has a limited scope. It is not able to track individual users across different websites. AWStats is used for web, mail, streaming and file servers.
Difference: unit of measurement
Probably the most important difference between the systems is the unit of measurement. Google Analytics mainly works with “Sessions” while AWStats uses (unique)visits:
- Google Analytics session: a series of page views from the same browser on a website with no longer than 30 minutes between clicks, except at midnight. See explanation from Google.
- AWStats (unique)visit: a (unique) IP-address accessing a series of pages on a web server within one hour. If the series spans beyond the hour, the visit is counted as two. See explanation in the AWStats docs.
Difference: where data is collected
In addition to the unit of measurement, the place where data is collected is different, too. AWStats uses the web server as place to measure. Quite literally the software tallies how often the server receives a request to deliver a specific page. The server responds to human visitors, but also to automated requests.
Bots
These automated requests are done by bots, computer programs that automatically surf the web. Often these bots have a specific task, like indexing a website for search engine listing. Most bots are identified by their originating IP-address or so-called UserAgent (a sort of identification text which states the origin of the bot; like “GoogleBot”). Most bots are not included in AWStats visits, but are specified in a separate listing.
Bad Bots
Unfortunately not all bots behave nicely. Some of them are working for hackers to find potential security weaknesses. Others, like some search engine indexation robots, behave like humans to test if the website shows the same page to both humans and bots. Serving different content based on user agent is a bad practice used by stupid websites to manipulate search engine ranking.
Recognising bots
AWStats tries to recognise bot behaviour by taking into account the sequence and speed of page requests (like a normal, healthy human, should not be able to read more than two pages per second). But, this cannot prevent some bots to successfully disguise themselves as human, causing AWStats to count them along.
JavaScript
Instead of running software on the server like AWStats, Google Analytics works by executing code (JavaScript) on the device of the visitor. Depending on how the Analtyics JavaScript is integrated, the measurement is often delayed because it takes some time to load JavaScript. Sometimes it only starts after the entire page (including images and fonts) has completely finished loading. People that leave the page before it is entirely loaded, or people that have JavaScript disabled, are therefore not measured. Because Google Analytics requires JavaScript, most bots are not measured because it is hard for bots to simulate a JavaScript enabled browser.
Blocking Google Analytics
Because of the privacy concerns with regard to Google Analytics, some people actively block the JavaScript used by Google Analytics. There are browser plugins and ad blockers that do this automatically, without requiring any technical knowledge of the user. Another clever web developer used a purpose built server setup to find out how many people block Google Analytics. In his experiment, Jason Packer found that about 8-11% of the users are blocking Google Analytics.
Conclusion
Both the unit of measurement and the place where the measurement is performed cause the differences in statistics by Google Analytics and AWStats. Bots included, AWStats counts too much, while Google Analytics counts to little because of problems with JavaScript loading and blocking.