décembre 18, 2017+33652987474hello@julienvennin.com

Installer deux tags google analytics asynchrone sur un site

Home / Marketing Web / Installer deux tags google analytics asynchrone sur un site

Dans cet article nous allons voir comment adapter la version du tag Google Analytics et e-commerce Asynchrone pour qu’ils renvoient les informations vers deux comptes Google Analytics différents.

Situation

Dans mon cas, la situation s’est présentée dans le cadre de mon travail. Lorsque, je souhaitais suivre le site Web que nous avions mis sur pied et que le client de son coté souhaitait lui aussi avoir la possibilité de gérer et d’analyser son site. Ou encore lorsqu’il avait déjà des comptes Google Analytics et qu’il souhaitait mettre ses propres ID et nous donner un accès utilisateur, chose qui limite tout de même les possibilités de l’outil.

Je me suis donc penché sur la façon d’implémenter correctement le tag Google Analytics Asynchrone avec deux ID différents et je me suis assuré qu’il remontait des infos correctes et similaire dans les deux comptes. En effet, lors de ma recherche j’avais pu lire qu’il pouvait y avoir une différence dans les données remontées etc. Mais d’après mon test, il n’en est rien.

Le cas Google Analytics Asynchrone

Il vous suffit de copier/coller ce code dans vos pages juste avant la fermeture de la balise head (</head>).
Vous pouvez distinguer deux blocs similaires, le premier, de la ligne 7 à 10 et le deuxième de la ligne 12 à 15, qui renvoient chacun les mêmes données vers le compte déterminé via l’ID cf _setAccount.
En changeant dans le premier bloc à la ligne 7 le UA-XXXXX-X par votre ID vous déterminez le premier compte google dans lequel vous souhaitez que les informations remontent (par ex. UA-99999999-1).

Dans le second bloc, il faudra distinguer les variables, en les faisant précéder d’un nom, qui permettra de distinguer la personne qu’il concerne. Dans mon cas, j’y mets le nom du client.
Il vous faudra également changer l’ID et mettre celui que votre client vous aura fourni.

Vous pouvez voir le code à copier coller ci-après :

<!-- start google analytics async -->
<script type="text/javascript">
//< !&#91;CDATA&#91;

var _gaq = _gaq || &#91;&#93;;

_gaq.push(&#91;'_setAccount', 'UA-XXXXX-X'&#93;);
_gaq.push(&#91;'_setDomainName', 'yourDomaineName'&#93;);
_gaq.push(&#91;'_trackPageview'&#93;);
_gaq.push(&#91;'_trackPageLoadTime'&#93;);

_gaq.push(&#91;'monClient._setAccount', 'UA-XXXXX-X'&#93;);
_gaq.push(&#91;'monClient._setDomainName', 'yourDomaineName'&#93;);
_gaq.push(&#91;'monClient._trackPageview'&#93;);
_gaq.push(&#91;'monClient._trackPageLoadTime'&#93;);

(function()
{
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')&#91;0&#93;; s.parentNode.insertBefore(ga, s);
})();
//&#93;&#93;>
</script>
<!-- end google analytics async -->

Le cas Google E-commerce Asynchrone


<script type="text/javascript">
//< !&#91;CDATA&#91;
  var _gaq = _gaq || &#91;&#93;;

<!-- Ci dessous les informations transmises au PREMIER compte -->

  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['_addTrans',
    '1234',           // order ID - required
    'Acme Clothing',  // affiliation or store name
    '11.99',          // total - required
    '1.29',           // tax
    '5',              // shipping
    'San Jose',       // city
    'California',     // state or province
    'USA'             // country
  ]);

   // add item might be called for every item in the shopping cart
   // where your ecommerce engine loops through each item in the cart and
   // prints out _addItem for each

  {foreach}
  _gaq.push(['_addItem',
    '1234',           // order ID - required
    'DD44',           // SKU/code - required
    'T-Shirt',        // product name
    'Green Medium',   // category or variation
    '11.99',          // unit price - required
    '1'               // quantity - required
  {/foreach}

  _gaq.push(['_trackTrans']);

<!-- Ci dessous les informations transmises au SECOND compte -->

  _gaq.push(['monClient._setAccount', 'UA-XXXXX-X']);
  _gaq.push(['monClient._trackPageview']);
  _gaq.push(['monClient._addTrans',
    '1234',           // order ID - required
    'Acme Clothing',  // affiliation or store name
    '11.99',          // total - required
    '1.29',           // tax
    '5',              // shipping
    'San Jose',       // city
    'California',     // state or province
    'USA'             // country
  ]);

   // add item might be called for every item in the shopping cart
   // where your ecommerce engine loops through each item in the cart and
   // prints out _addItem for each

  {foreach}
  _gaq.push(['monClient._addItem',
    '1234',           // order ID - required
    'DD44',           // SKU/code - required
    'T-Shirt',        // product name
    'Green Medium',   // category or variation
    '11.99',          // unit price - required
    '1'               // quantity - required
  {/foreach}

  _gaq.push(['monClient._trackTrans']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
  //]]>
</script>
Recent Posts
Showing 3 comments
  • julien vennin

    Hello Zeal,

    Merci pour tes commentaires.
    Il est vrai que la doc de google n’est pas claire à ce sujet.

    Je ne suis pas expert en POO JavaScript mais je pense que dans notre cas, le mot clé « monClient » sert de référence aux méthodes « _setAccount » etc. afin de faire la distinction entre les données envoyées dans le premier compte et les données envoyées dans le second compte.

    Heureux si cet article a pu t’aider,
    à bientôt.

Contact Me

I'm not around right now. But you can send me an email and I'll get back to you, ASAP.