[CAOS] allows you to further optimize your sites’ usage of Google Analytics.Cody Arsenault (KeyCDN)
analytics.js or gtag.js file to your server. Then the file is updated automagically using WordPress’ integrated wp_cron() function.
How to Optimize Analytics in WordPress?
Why should I host analytics.js locally?
The Complete Analytics Optimization Suite for WordPress gives you the best of both worlds. After activation it automagically downloads the latest version of
Configure CAOS in WordPress
The basic configuration for CAOS is very easy. The basic settings are required for proper functioning of the plugin.
Enter your Google Analytics Tracking ID. For development/testing purposes, you can decide whether you want to Track Logged In Administrators. This option should be disabled on production environments!
For GDPR Compliance, decide when you want to allow tracking…
- Choose ‘Always’ if your blog doesn’t need to show a Cookie Notice or if you’ve configured Google Analytics to only collect anonymous data,
- Choose ‘when cookie is set’ or ‘when cookie has a value’ if you want to configure CAOS with a Cookie Notice.
Choose your Snippet Type:
- Google Analytics’ Default tracking code is loaded render blocking, providing the most accurate statistics and is suitable in most situations, but…
- For peak performance choose the Asynchronous tracking code. This tracking code is loaded non-render blocking, providing the best user experience without sacrificing on Google Analytics’ feature set.
- Are you a light-weight Google Analytics user i.e. you only care about Pageviews/Events? Enable Minimal Analytics (by Minimal Analytics) to use only the code you need (and nothing more).
- This also eliminates the Unused JS notice in Google PageSpeed Insights for analytics.js/gtag.js, because the entire library isn’t loaded anymore! Cha-ching!
For some countries (e.g. Germany) it’s required to anonymize IP addresses of your visitors to comply with GDPR laws. Enable this option if your server is located in such a country, or you expect visitors from such countries.
Decide where you want to load the generated tracking code…
- Choose ‘Header’ for best performance. Because the tracking code is loaded before the rest of the page, you’re sure that all visitor data can be registered by Google Analytics,
- Choose ‘Add manually’ to maximize compatibility. If your theme or another plugin is preventing CAOS from adding the tracking code automatically, choose this option and copy the generated tracking code from the field underneath.
If you haven’t already, remove any other previously installed Google Analytics plugins or manually inserted tracking code from your WordPress installation.
To tailor CAOS to your needs you can use the Advanced Settings. None of these are required settings and are strictly meant for advanced (WordPress) users.
When Snippet Type is set to Minimal Analytics, this tab is hidden, because none of these settings will have any effect.
- CAOS does not offer an Analytics Dashboard for WordPress or Enhanced Commerce tags/events. To implement these features, CAOS is fully compatible with Monster Insights, Analytify, WooCommerce GA Integration and ExactMetrics.
- Choose to download
gtag.js. Need help choosing?
- If you use a CDN you can choose to serve analytics.js/gtag.js from your CDN by providing the base URL (without https:// or https://)
- When using Stealth Mode the ‘collect’ calls will still be sent through your own domain, because CDN (usually) don’t run PHP.
- Set a ‘Cookie Expiry Period‘ if you want to let the Google Analytics-cookie expire after a set number of days.
- Disable all Display Features if you want to force disable any remarketing and advertising purposes set in your Google Analytics Dashboard.
CAOS allows developers to easily extend its functionality using extensions. Out-of-the-box CAOS offers a few extensions which can easily be enabled under the Extensions tab:
- When Stealth Mode is enabled, you can alter Google Analytics’ Plugin Handling to suit your needs. Plugins, e.g. ec.js or linkid.js can be served faster if your server supports CAOS’ experimental mode.
- Purchase Super Stealth Upgrade to make CAOS’ Stealth Mode and Plugin Handling 10x faster!
- Enable Stealth Mode to bypass Ad Blockers and secure Google Analytics’ accuracy.
- Not sure if you need Stealth Mode? Enable Track Ad Blockers to gain insights into your visitors’ Ad Blocker usage.
- Enabling this option registers whether a visitor was using an Ad Blocker or not. It does not send information (pageviews, etc.) about visitors using Ad Blockers to Google Analytics. I.e. it’s not the same as Stealth Mode.
- If you want to find out when users click a link to leave your site, you can enable Capture Outbound Links. This does not work when Stealth Mode is enabled.
- You can set an Adjusted Bounce Rate if you want to filter out e.g. visitors that close their browser window within a set number of seconds. This can be useful if you offer short snippets of information on your blog that don’t trigger a user to continue reading other pages, such as StackOverflow.
- Improve the accuracy of your In-Page Analytics by enabling Enhanced Link Attribution: automatically differentiate between multiple links to the same URL on a single page by using link element IDs.
- Allow A/B testing by enabling Google Optimize Integration.
Analytics.js/gtag.js doesn’t exist or hasn’t been updated for more than two days.
CAOS throws this notice if analytics.js or gtag.js (depending on your settings) does not exist, or hasn’t been updated for a while.
First off, check if the file exists. If not, trigger a manual update from within CAOS’ settings screen.
If it does exist, then it means that the scheduled update wasn’t able to run. This usually happens on low traffic sites (< 100 visitors/daily), because WP cron wasn’t able to properly finish its schedule.
Is your site a low traffic site? There’s no shame in that :-), but it probably means that not just CAOS’ scheduled jobs, but many of WordPress cronjobs aren’t able to run properly.
To work around this, you need to setup a so called real cronjob.
Replace WP’s Cron with a Real Cronjob
For this you’ll need SSH access to your server. If you don’t have this, contact your hosting provider and ask them to replace WordPress’ pseudo cron with a real cronjob.
- First you need to disable WordPress’ pseudo cron. To do this go to wp-config.php (located in the root of your WordPress install and add the following line right before the line that reads
/* That's all, stop editing! Happy blogging. */:
- Then, open up a terminal, login to your server and run
crontab- e. This will open up your cron editor. Then add the following:
*/5 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
That’s it. From now on, WordPress’ cron will run every 5 minutes.
- How to use CAOS and Analytics with a Cookie Notice (GDPR)
- How to setup Google Analytics to be GDPR Compliant without a Cookie Notice
- How to Host Analytics.js Locally with CAOS and Cookie Notice for GDPR
- Leverage Browser Caching by Hosting Analytics Locally with Monster Insights' Wordpress Plugin
- Complete Guide to GDPR Compliance for Google Analytics in Wordpress
- What's the Difference Between analytics.js, gtag.js & ga.js?
- How to Bypass Ad Blockers with CAOS for Google Analytics
- How to integrate Google Optimize into CAOS
- How to Track Google Ads Conversions with CAOS
- How to Integrate Bookeo into Google Analytics using CAOS for WordPress
- How to Setup Adjusted Bounce Rate for Google Analytics in CAOS
- How to protect your Google Analytics data against Ad Blockers
- Super Stealth Upgrade is now 10x (!) Faster
Click here to go to the WordPress Repository and download Complete Analytics Optimization Suite