Random Thoughts

Third-party integrations

Injetar o tag manager do Google Analytics em um app Meteor

Monday, March 5, 2018

Às vezes queremos injetar dados junto com a requisição HTML original para torná-los disponíveis mais cedo. No caso do tag manager do Google Analytics, é necessário inserir duas tags, uma logo após a abertura do <head> e outra logo após a abertura do <body>.

Existe um pacote Meteor que facilita essa tarefa: https://github.com/meteorhacks/meteor-inject-initial/

Para usar, primeiro instale-o no seu app:

meteor add meteorhacks:inject-initial

Após instalar, inclua no package.json do seu app:

api.use('meteorhacks:inject-initial', ['client', 'server']);

No arquivo server.js, use os métodos Inject.rawHead e Inject.rawBody:

Inject.rawHead('headGA', `
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','YOUR_TAG_ID');</script>
<!-- End Google Tag Manager -->
`);
Inject.rawBody('bodyGA', `
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=YOUR_TAG_ID"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
`);

É isso, está feito!

Exemplo do código-fonte de um app Meteor com o tag manager do GA injetado
Exemplo do código-fonte de um app Meteor com o tag manager do GA injetado