Tracking Matomo Server-Side avec Google Tag Manager

Mis à jour : mardi 13 août 2024

Pourquoi Matomo en server-side ?

Configurer Matomo en server-side avec Google Tag Manager vous offre un environnement de travail agréable à utiliser tout en bénéficiant des avantages du server-side.

Contournement des ad blockers

Vous avez sans doute remarqué si vous utilisez déjà Matomo en client-side que les bloqueurs de publicités bloquent les requêtes qui comprennent le texte matomo.

La mise en place de Matomo en server-side permet de contourner les ad blockers et donc de collecter une quantité de données plus importante sur vos utilisateurs.

Diminution du temps de chargement du site

Le fait de charger qu’un seul script côté navigateur permet de réduire le temps de chargement des pages de votre site. Au passage, c’est une métrique importante utilisée par Google pour le classement des pages dans les résultats de recherche.

Meilleure gouvernance des données

Dans les grosses organisations, maîtriser les flux de données est essentiel pour respecter les normes de sécurité et les contraintes legislatives.

Lorsque vous installez des scripts directement dans le navigateur (en client-side), chaque plateforme marketing peut collecter ce qu’elle veut et vous n’avez aucun contrôle dessus. Dans une configuration server-side, les données transitent d’abord vers votre serveur avant d’être envoyées aux plateformes. Vous êtes alors en maîtrise du flux, vous pouvez le manipuler à votre guise.

Deux façons d’envoyer des données à votre serveur

Avec une collecte GA4

flowchart LR
    subgraph Votre site web
        A[Collecte GA4]
    end
    subgraph Votre serveur
        A --> B
        B[Client GA4] --> C[Balise Matomo]
        B --> D[Balise Google Ads]
        B --> E[Balise GA4]
    end
    C --> F[Instance Matomo]
    D --> G[Google Ads]
    E --> H[GA4]

=> Si vous souhaitez utiliser une collecte GA4, veuillez suivre la documentation Addingwell.

Avec une collecte Matomo

flowchart LR
    subgraph Votre site web
        A[Collecte Matomo]
    end
    subgraph Votre serveur
        A --> B
        B[Client Matomo] --> C[Balise Matomo]
    end
    C --> D[Instance Matomo]

Si vous souhaitez utiliser une collecte Matomo, vous pouvez continuer cette documentation.

Client Matomo

Importation

Cliquez ici pour télécharger le client Matomo.

Rendez-vous dans Google Tag Manager Server-Side puis dans la section Templates.

Créer un nouveau modèle de client dans Google Tag Manager Server-Side
Créer un nouveau modèle de client dans Google Tag Manager Server Side

Importez ensuite le fichier que vous avez téléchargé précédemment.

Importer le client Matomo
Importer le client Matomo

Cliquez ensuite sur Save en haut à droite.

Client Matomo importé
Client Matomo importé

Configuration

Dans la section Clients, cliquez sur New.

Sélectionnez le client Matomo.

Configuration du client Matomo
Configuration du client Matomo
  1. Priorité : si vous utilisez plusieurs clients, c’est le client avec avec la priorité la plus haute s’exécute en premier sur une requête donnée. Pour rappel, une requête ne peut être claimed que par un seul client.

  2. Request Path : le chemin que vous allez appeler lors de l’envoi d’un requête Matomo à votre serveur. Par défaut le chemin est matomo.php mais il est fortement recommandé de le changer pour contourner les ad blockers.

  3. JavaScript Library Path : le chemin que vous allez appeler pour livrer le script de tracking de Matomo. Par défaut le chemin est matomo.js mais il est fortement recommandé de le changer pour contourner les ad blockers. Durée du cache : 8 min.

  4. Allowed origins : listez ici les noms de domaines qui ont le droit d’appeler votre serveur. Ceci permet d’éviter qu’un autre site web utilise votre serveur pour charger la librairie JavaScript de Matomo par exemple.

Pour l’exemple, je vais choisir abc comme Request Path et def pour le JavaScript Library Path de Matomo.

Client Matomo configuré
Client Matomo configuré

Configurer la collecte côté WEB

Importation

Rendez-vous dans la section Templates de Google Tag Manager WEB. Cliquez ensuite sur Search Gallery dans Tag Templates.

Bouton de recherche de balise dans la galerie Google Tag Manager WEB
Bouton de recherche de balise dans la galerie Google Tag Manager WEB

Importez la balise Matomo Analytics - Configuration de Data Marketing School.

Import de la balise Matomo Analytics de Data Marketing School depuis la galerie Google Tag Manager WEB
Import de la balise Matomo Analytics de Data Marketing School depuis la galerie Google Tag Manager WEB

Configuration

Sur votre site, avant le code de Google Tag Manager, vous devez ajouter le code d’initialisation de Matomo entre les balises <head>.

<head>
    <!-- BEGIN MATOMO SCRIPT -->
    <script>
    var _paq = window._paq = window._paq || [];
    (function() {
        var u="https://your_subdomain.example.com/"; // your server URL
        _paq.push(['setTrackerUrl', u+'abc']); // Request Path configured in Matomo client
        _paq.push(['setSiteId', '1']); // Your Site ID
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.src='https://your_subdomain.example.com/def'; s.parentNode.insertBefore(g,s); // JavaScript library path configured in Matomo
    })();
    </script>
    <!-- END MATOMO SCRIPT -->
    <!-- REPLACE ME: ADD GTM CODE HERE -->
</head>

Dans Google Tag Manager WEB, rendez-vous dans la section Tags > New. Sélectionnez ensuite la balise précédemment importée.

Configuration de la balise Matomo Analytics - Configuration dans Google Tag Manager WEB
Configuration de la balise Matomo Analytics - Configuration dans Google Tag Manager WEB
  1. Setup Type : sélectionnez Server-Side.

Déclenchement

Cette balise doit se déclencher le plus tôt possible dans votre conteneur. Nous allons donc utiliser le déclencheur Initialization - All Pages.

Configuration du déclencheur de Matomo Analytics - Configuration dans Google Tag Manager WEB
Configuration du déclencheur de Matomo Analytics - Configuration dans Google Tag Manager WEB

Balise Matomo Analytics côté serveur

Importation

Rendez-vous dans la section Templates de Google Tag Manager Server-Side. Cliquez ensuite sur Search Gallery dans Tag Templates.

Bouton de recherche de balise dans la galerie Google Tag Manager Server-Side
Bouton de recherche de balise dans la galerie Google Tag Manager Server-Side

Importez la balise Matomo Analytics de Data Marketing School.

Import de la balise Matomo Analytics de Data Marketing School depuis la galerie Google Tag Manager Server-Side
Import de la balise Matomo Analytics de Data Marketing School depuis la galerie Google Tag Manager Server-Side

Configuration

Rendez-vous dans la section Tags > New. Sélectionnez ensuite la balise précédemment importée.

Configuration de la balise Matomo Analytics dans Google Tag Manager Server-Side
Configuration de la balise Matomo Analytics dans Google Tag Manager Server-Side
  1. Client Type : sélectionnez Matomo Client.
  2. Matomo Instance URL : l’URL de votre instance Matomo (généralement sous la forme <your_subdomain>.matomo.cloud).
  3. Auth Token : le token d’authentification dans Matomo. Tuto pour le trouver
  4. Site ID : l’identifiant du site dans Matomo. Si vous laissez ce champ vide, ce sera l’identifiant du site envoyé par la balise Matomo Analytics - Configuration de votre conteneur WEB qui sera utilisé. Tuto pour le trouver

Déclenchement

Côté serveur, la balise doit se déclencher pour toutes les requêtes du client Matomo. Nous allons donc utiliser un déclencheur Custom.

Configuration du déclencheur Client Name - Matomo
Configuration du déclencheur Client Name - Matomo

Vous n'avez pas trouvé de solution ?

Demandez de l'aide au Data Marketing Club

Rejoindre le club