Complete Analytics Optimization Suite (CAOS)


A cool plugin created by Daan van den Bergh that enables you to complete optimize the usage of Google Analytics on your WordPress Website. Host your Google Analytics javascript-file (analytics.js) locally and keep it updated using wp_cron(). Easily Anonymize the IP-address of your visitors. Set an Adjusted Bounce Rate. Decide whether to load the Analytics Tracking-code in the header or footer. And more!

Whenever you run an analysis of your website on Google Pagespeed Insights or Pingdom, it’ll tell you to leverage browser cache when you’re using Google Analytics. Because Google has set the cache expiry time to 2 hours. This plugin will get you a higher score on Pagespeed and Pingdom and make your website load faster, because the user’s browser doesn’t have to make a roundtrip to download the file from Google’s external server.

Just install the plugin, enter your Tracking-ID and the plugin adds the necessary Tracking Code for Google Analytics to the head of your theme, downloads and saves the analytics.js-file to your website’s server and keeps it updated (automagically) using a scheduled script in wp_cron().


  1. Upload the plugin files to the /wp-content/plugins/host-analyticsjs-local directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Use the Settings -> Optimize Analytics screen to configure the plugin


Installation Instructions
  1. Upload the plugin files to the /wp-content/plugins/host-analyticsjs-local directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Use the Settings -> Optimize Analytics screen to configure the plugin
What do you have in store for us next?

In the coming releases I’m going to give you the power to decide the update interval of the script. Check out the forum for conversations on upcoming features.

What is the current update interval of the Analytics-script?

I have set it to daily, because Google updates the script very often. Also, the daily interval is the longest interval that wp_cron() allows, as far as I know.

The ga-local.js-file remains empty! What should I do?

Make sure you are running the latest version, as I added some compatibility fixes along the way. If this doesn’t resolve your issue, then your wp-cron isn’t working properly. This is a server related issue. You can add the ‘includes/update_local_ga.php’-file to your crontab. As this problem has been resolved many times already, check the forum!

I disabled Demographic Reports in Google Analytics, but the script is still redirecting to How do I turn this off?

Try enabling the option called “Disable all display features functionality?” With this you can enforce the disabling of the DisplayFeatures plugin.

I use a CDN. Can I use CAOS in combination with my CDN?

Yes, while I tried to add a CDN-function to CAOS, this seemed to create more problems than it’d solve. But @sixer came up with a great alternative, created by my friends @keycdn: CDN Enabler. Add the path to this plugin’s directory to CDN Enabler and the local-ga.js script is pulled directly from your CDN.

Can I buy you a beer?

Yes, please! Click here to buy me a beer!

Anything else?

Yes! While you’re buying. Get a beer for Matthew Horne as well. This plugin uses a slightly changed update script which he created.


Amazed by The result

We initially thought how any plugin will perform faster than google servers. But we were wrong. storing js code and regularly updating was best for our official website(stablx) and our clients website.

Does not work

Using the Divi theme, this plugin is not working… do not know why, never have issues, but the code is not found in html and when trying to activate Google Analytics says cannot authenticate with website. 🙁

Please fix.

Read all 28 reviews

Contributors & Developers

“Complete Analytics Optimization Suite (CAOS)” is open source software. The following people have contributed to this plugin.




Added feature to specify URL to CDN.
Updated readme.txt.


Added feature to disable DisplayFeatures plug-in, because sometimes disabling it from the Google Analytics options-panel isn’t enough.


Version change, to push it through the auto-updater in WordPress.

1.40 – New Features

Added the option for tracking administrators. It completely disables the code for WordPress administrators i.e. your other logged in users will still be tracked. Made the plugin fully translatable. Did some code optimizations.

PS. Just figured out I should’ve never used 1.36, as SVN now thinks 1.4 is an older version. So here we go, version 1.40 (Bluegh! I’ll do it right once we hit 2.0)

1.36 – Bugfixes

With new features comes great responsibility. My German neighbor Denis Abendroth was so kind to point out that the anonymize IP option was added in the wrong order in the tracking code. So I fixed it immediately!

1.35 – New Features

This update features the much requested Anonymize IP (@arcticblue, thanks for your help!), which is now added to the options panel. Besides that I optimized the code a bit, removing about 5 lines of code.

1.32 – New Features

Added option to change the enqueue order of the tracking code. That way the user can decide the priority of the tracking code.

1.31 – Bugfixes

Fixed the Adjusted Bounce Rate issue: when enabled it breaks the tracking. I have made some code-changes that should fix this issue, according to the script provided by @BrianLeeJackson (Thnx for your help!)


Added option for adjusted bounce rate
Added option for loading Analytics Tracking ID in footer


Replaced short PHP-tags with regular ‘<?php’ to increase compatibility. (Thanks for the tip @burhandodhy!)


Updated readme.txt and some minimal code changes to increase UX.


First release! No changes so far!