Tobi
Tobi

Reputation: 1312

Setup Google Analytics with Meteor App: Tracking not Installed Error

I am Trying to set up Google Analytics with Meteor and always get a Tracking not installed Error.

I have already tried to use the meteor Packets, I have tried to include the tracking code in the Head Section, in the Body section and as a rendered Callback on a template.

I always get the error from the Google Analytics Site "Tracking not Installed"

What is the best practice of GA tracking in Meteor Apps?

Upvotes: 0

Views: 391

Answers (1)

Mikael Lirbank
Mikael Lirbank

Reputation: 4615

You don't need a package for GA, probably easier to do it yourself, like this:

First, put the GA tracker id in Meteor.settings.public. (more info about that here)

Then, create a file for the client, probably in the lib folder, for example /client/lib/google_analytics.js and add the regular GA tracker to it:

// CLIENT
/*****************************************************************************/
/* Google Analytics */
/*****************************************************************************/
if (Meteor.settings.public.GaTrackingId) {

  (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','//www.google-analytics.com/analytics.js','ga');

}

Last, create another file to track the page load. You can do this in a Meteor.startup() method, but you don't have to as the tracker code is in /lib which is loaded before everything else.

// CLIENT
if (Meteor.settings.public.GaTrackingId) {

  ga('create', Meteor.settings.public.GaTrackingId, 'auto');
  ga('send', 'pageview');
}

That's it. Now you can also do GA event tracking, etc. from anywhere in your app if you'd like to.

Upvotes: 2

Related Questions