DEV Community

Kamban
Kamban

Posted on • Originally published at kambanthemaker.com on

1 3

Making Google Analytics work from your browser plugin

Google Analytics may not work as it is if you want to get it working from your browser plugin due to security limitations and protocol conflict. To resolve it, follow the steps explained below,

Manifest

First step is to get your manifest file allow GA domain.

"content_security_policy": "script-src 'self' https://www.google-analytics.com; object-src 'self'"
Enter fullscreen mode Exit fullscreen mode

Installing GA

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');ga('create', 'UA-YOUR_ID-1', 'DOMAIN_NAME');ga('set', 'checkProtocolTask', null);ga('send', 'pageview', 'user');
Enter fullscreen mode Exit fullscreen mode

ga('set', 'checkProtocolTask', null); line is important as it makes GA ignore the protocol check. This was causing me a lot of trouble. See here Google Analytics

DOMAIN_NAME is also important, as GA can't detect that for your plugin. Set that to your domain name you want to track!

Debugging

GA has a hidden gem, instead of https://www.google-analytics.com/analytics.js just use https://www.google-analytics.com/analytics_debug.js which will print useful debug messages on the chrome console!

Screen-Shot-2019-06-25-at-8-59-16-AM

Refer Debugging

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay