Si vous possédez plusieurs sites Web ou applications, vous vous êtes souvent demandé comment créer un reporting consolidé dans une vue unique. A part dans Excel, évidemment !

Voici un guide rapide sur la manière d’obtenir cette configuration sur tous vos sites, que vous utilisiez un système de gestion des balises tel que Google Tag Manager ou un marquage « à l’ancienne » dans l’HTML de la page.

Commençons par la base

Tout d’abord, cette méthode n’est pas forcément récente, mais vu le nombre de demandes que je reçois pour mettre en place ce type de rapports, c’était l’occasion de rédiger un guide 🙂

Pour les clients Google GMP/360/Premium:

Vous pouvez utiliserles propriétés « Roll-up » pour atteindre un résultat similaire.
Contactez votre gestionnaire de compte.

Pour la première partie de cet exercice, nous nous concentrerons sur une consolidation des données de haut niveau. Vous pourrez ensuite creuser plus loin mais nous aborderons le sujet plus loin dans le billet.

Suivant votre propre jargon, vous souhaiterez sans doute faire la distinction entre une propriété « globale » ou « cumul » (où les données consolidées se trouveront) et une propriété « locale » (limitée à chaque site / application). Dans ce cas, et pour les besoins de cet exercice, supposons que notre nouvel ID de propriété « globale » est le UA-123456789-1. Cette propriété nous permettra de consolider les données de trafic sur toutes nos propriétés.

Supponsons que vous utilisez les propriétés Google Analytics suivantes:

Site « local »Propriété GA « locale »Propriété GA « globale »
sitea.comUA-12345-1UA-123456789-1
siteb.comUA-23456-3UA-123456789-1
sitec.comUA-34251-7UA-123456789-1

Comme vous pouvez le constater, en fonction du degré de contrôle / de gouvernance dont vous disposez sur vos sites Web, vous avez peut-être (sans doute) créé différents comptes et / ou propriétés Google Analytics. Lorsque nous consoliderons les données relatives au trafic, nous aurons un seul silo de données (propriété) pour tout stocker. Pratique, non?

Configuration de Google Analytics

Commençons par configurer la propriété Google Analytics qui collectera toutes les données. En supposant que vous utilisiez déjà plus d’un compte pour vos propriétés en ligne, je vous conseille d’utiliser un nouveau compte uniquement pour le reporting consolidé:

  1. Allez dans Google Analytics
  2. Rendez-vous dans l’administration
  3. Créez un nouveau compte et laissez-vous guider par l’assistant de création de compte et de propriété
  4. Récupérez le code de suivi ainsi que l’identifiant UA de votre nouvelle propriété
Consolidate traffic data in Google Analytics to send data into a single account/property
Rendez vous dans l’administration de Google Analytics et créez un nouveau compte

Ensuite, vu que notre structure d’URL peut changer d’un site à l’autre, créons un filtre pour remplacer l’URL capturée par Google Analytics par le nom de domaine ou le nom d’hôte de chaque site. Dans l’administration, repérez votre nouvelle vue et créez un nouveau filtre (personnalisé, avancé) avec les paramètres suivants:

  • Champ A: Nom d’hôte: (.*)
  • Champ B: –
  • Champ de sortie: URL de la requête: $A1
Consolidate traffic data in Google Analytics by using a filter to store hostname instead of URLs
On stocke le contenu du nom d’hôte à la place de l’URL de la page

Et voilà, c’est tout!

Nous allons maintenant ajuster notre code de suivi sur tous nos sites Web pour effectuer la consolidation. Cela peut se faire facilement en utilisant un gestionnaire de balises (tel que Adobe Launch, Google Tag Manager, Matomo, Tag Commander, Tealium …). Si vous utilisez toujours le code de suivi « à l’ancienne » dans l’HTML des pages, vous verrez que ce n’est pas sorcier mais peut impliquer des modifications plus lourdes.
Explorons maintenant chaque méthode séparément:

Utilisation d’un tag manager (gestionnaire de balises)

Étant donné que vous baignez déjà dans l’écosystème de marketing numérique de Google, ce billet mentionnera Google Tag Manager, mais vous pourrez facilement reproduire cet exercice avec un autre TMS.

La méthode la plus simple consiste à créer une balise Google Analytics pour votre propriété de consolidation qui se déclenche avec le même déclencheur que votre vue de page « locale »:

Consolidate traffic data in Google Analytics by sending two page view calls

Bien entendu, cela signifie que vous devez spécifier votre nouvel ID de propriété de consolidation soit dans la définition de votre balise de page vue, soit au sein d’une variable de configuration de Google Analytics.
Dans les 2 cas de figure, je vous recommande de créer une variable « constante » contenant l’ID de propriété et de l’utiliser dans l’un des deux cas ci-dessus.

Consolidate traffic data in Google Analytics by sending data to a roll-up property
Creation d’une variable contenant l’identifiant de la propriété de consolidation

On utilise la variable en question dans une variable de configuration Google Analytics :

Consolidate traffic data in Google Analytics by sending data to a roll-up property

Notre balise de consolidation est prête! Simple mais efficace 🙂
Attention cela dit: pour l’instant on ne duplique que la page vue de base.
Pour les autres types d’appel (événements, mesure de la perf…) il faudra également dupliquer les balises.

Consolidate traffic data in Google Analytics by sending data to a roll-up property
Assurez-vous d’utiliser la variable de configuration GA: vous gagnerez un temps monstrueux!

Parfait, vous pouvez maintenant publier votre container GTM et vos pages Web devraient maintenant envoyer du trafic dans votre propriété « locale » et dans votre propriété « globale », ce qui va vous donner un reporting consolidé!

Un peu de sophistication: utilisation de l’instruction Google Analytics customTask

Google Analytics fournit une API JavaScript robuste avec des méthodes (tâches ou tasks en anglais) permettant de traiter les données avant leur envoi aux serveurs de collecte de Google Analytics. Une de ces tâches est customTask, que vous pouvez utiliser pour faire à peu près n’importe quoi, y compris envoyer votre payload Google Analytics (données) à plusieurs propriétés en répétant une page vue ou un événement. J’avais commencé à explorer ce concept mais Simo Ahava a été plus rapide que moi 😀

Dans GTM, il faut créer une variable Custom JavaScript qu’on appelera GA Duplication (ou en bon français Copie GA)avec le code suivant:

function() {
  // Remplacez newTrackingId par la valeur de la propriété "globale"
  // ou utilisez une variable GTM où vous l'auriez stockée
  var newTrackingId = {{ID - Google Analytics - Roll-up}};  
  var globalSendTaskName = '_' + newTrackingId + '_originalSendTask';
  return function(customModel) {
    window[globalSendTaskName] = window[globalSendTaskName] || customModel.get('sendHitTask');
    customModel.set('sendHitTask', function(sendModel) {
      var hitPayload = sendModel.get('hitPayload');
      var trackingId = new RegExp(sendModel.get('trackingId'), 'gi');
      window[globalSendTaskName](sendModel);
      sendModel.set('hitPayload', hitPayload.replace(trackingId, newTrackingId), true);
      window[globalSendTaskName](sendModel);
    });
  };
}

Ensuite, référencez cette variable comme valeur de l’attribut avancé hitCallback caché dans les Fields to Set de votre balise de page vue « locale » ou dans votre variable de configuration GA:

Consolidate traffic data in Google Analytics by using a customTask via Google Tag Manager

Publiez votre container et hop! Double tracking!
Cette solution est bien plus élégante car elle requiert moins d’effort de copie de tags. Je vous encourage à essayer cette method et à vous documenter sur le sujet sur le billet de Simo (en anglais).

Utiliser le code de suivi « à l’ancienne » dans l’HTML des pages

Si vous n’êtes pas un fan des TMS ou si vous ne pouvez pas / ne voulez pas installer GTM sur votre site, ce n’est pas la fin du monde. Vous allez maintenant devoir modifier chaque page (ou modèle/template de page) de votre site pour prendre en la consolidation via le code de suivi Google Analytics. Si vous maîtrisez PHP, Python, Java ou le langage qui propulse votre site, vous pouvez facilement ajuster vos modèles de page pour inclure un deuxième appel de page vue. Cela dit, par précaution, utilisez un nom de tracker différent pour votre consolidation afin d’éviter les conflits:

<!-- Google Analytics -->
<script>
  (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-12345-1', 'auto', 'local');
  ga('local.send', 'pageview');
  ga.create('UA-123456789-1', 'auto', 'global');
  ga('global.send', 'pageview');
</script>
<!-- End Google Analytics -->

Dans le code ci-dessus (pour analytics.js), on nomme les trackers (un local et un global) et on envoie une page vue pour chaque.Si vous vous servez du nouveau Global Site Tag (gtag.js), le code ressemblera à:

	<!-- Global site tag (gtag.js) - Google Analytics -->
	<script async src="https://www.googletagmanager.com/gtag/js?id=UA-12345-1"></script>
	<script>
	  window.dataLayer = window.dataLayer || [];
	  function gtag(){dataLayer.push(arguments);}
	  gtag('js', new Date());
	  gtag('config', 'UA-12345-1', { 'groups': 'local' });
	  gtag('config', 'UA-123456789-1', { 'groups': 'global' });
	  gtag('event', 'Testing', { 'send_to': ['local','global'] });
	</script>

Dans le code gtag.js ci-dessus, vous aurez remarqué qu’on peut créer et nommer des groupes (local ou global dans ce cas). Les 2 premiers appels config envoient automatiquement une page vue à chacun des trackers mais l’appel event qui suit fait un tir groupé en envoyant un événement GA aux groupes mentionnés, local et global dans ce cas.

Comparaison des différentes méthodes abordées

Au vu de ce que vous avez lu plus haut, je ne vous surprendrai pas en vous disant que la méthode GTM utilisant customTask vous fera gagner un temps énorme – en supposant que vos propriétés et leurs paramètres soient le plus ISO possible.

Astuce de briscard

Les spécialistes analytics sont paresseux, mais pour de bonnes raisons.
Utilisez un gestionnaire de balises dans la mesure du possible.

Reporting consolidé dans Google Analytics

Bravo! Vous avez appliqué mes recommandations et vous commencez à voir des données rentrer dans votre propriété de consolidation!

Consolidate traffic data in Google Analytics by listing each site individually
Le rapport de pages de GA indique le nombres d’appels par site

Comme vous l’aurez deviné, le tableau ci-dessus montre l’activité de mes sites perso – et ca me permet une vision consolidée très pratique!

Ceci signifie que vous pouvez utiliser les rapports de type « Flux » pour voir si vos internautes naviguent d’un site à l’autre – en supposant que vosu ayiez bien mis en place le cross-domain.

Et évidemment, ca rend les rapports temps réel plus fun (même s’ils sont toujours inutiles).

Consolidate traffic data in Google Analytics in a realtime dashboard!
Aperçu de la consolidation multi-sites dans les rapports temps réel

Et maintenant?

Si ce n’est pas déjà fait, établissez un plan de marquage multi-sites avec un tronc commun pour tous les sites et un peu de marge de manoeuvre pour les sites « locaux ». Ceci suppose que toutes vos propriétés doivent être harmonisées dans leurs réglages. C’est d’ailleurs un avantage majeur de la méthode customTask: vous n’avez pas besoin de redéfinir les variables de configuration GA à chaque fois.

Voici une liste de points à vérifier pour un reporting consolidé multi-sites:

  • Harmonisez les dimensions et statistiques personnalisées. Si vous avez un grand nombre de dimensions personnalisées, utilisez mon script Python ou le Google Sheet de Simo
  • Ajustez les réglages pour le remarketing et les infos démographiques
  • Tenez à jour une liste de vos identifiants de propriétés GA: on ne sait jamais 😉 Vous pouvez aussi utiliser l’API de Management Google Analytics Management pour ça.

A quel moment dois-je me préoccuper de ça?

Idéalement, essayer d’intégrer la consolidation le plus tôt possible dans votre gestion de projet. Evidemment, si les projets étaient tous menés à bien en temps et en heure, ca se saurait 😉 Si vous ne vous sentez pas de consolider dès le début, faites au plus simple et étoffez votre marquage au fur et à mesure.

Rappelez-vous juste l’adage de gestion de projet qui dit « ça coûte toujours plus cher plus tard« .

Et vous?

Avez-vous déjà eu l’occasion de mettre en place un reporting consolidé multi-site? Quels obstacles (techniques ou politiques) avez vous rencontré?

Faites m’en part dans les commentaires et continuez la discussion sur le forum analyseweb.fr