nov
13

Tracking ecommerce Google Analytics avec Google Tag Manager et son dataLayer

Google a enfin sorti son outil de Tag management. Tout le monde est au courant. J’en ai donc profité pour faire quelques petits tests et je me suis rendu compte que peu de ressources étaient disponibles aujourd’hui concernant le tracking ecommerce et donc le tag transactionnel avec cet outil.

Avant de lire ce que je vais exposer rapidement, et surtout si vous ne savez pas ce qu’est Tag Manager, je vous invite à regarder cette petite vidéo d’introduction.

Depuis peu, lors de la configuration d’une balise de type Google Analytics, vous pouvez définir un type de suivi « Transaction ». Ce type de suivi correspond au tag ecommerce de Google analytics.

Durant mes recherches, je n’ai pas trouvé de code me permettant d’utiliser ce type de balise en utilisant le dataLayer (ou couche de donnée en français) de Google Tag Manager. J’ai trouvé beaucoup de ressources qui exposaient l’utilisation d’astuces et surtout de balises custom HTML. Or Google fournit tous les outils permettant l’utilisation du dataLayer pour gérer dynamiquement ce type de tracking.

Deux liens indispensables à la compréhension du code :

Une fois votre balise de type Google Analytics avec type de suivi « transaction » créée, vous pouvez définir une règle de déclenchement à lui appliquer afin qu’elle ne parte que sur la dernière page de votre tunnel d’achat. Prenons comme exemple la page /merci.php, voici la règle à définir :

Après avoir configuré tout cela, il ne vous suffira plus qu’à mettre le script suivant juste avant le script de votre conteneur. Ce code est un exemple à dynamiser à l’aide de vos chers collègues développeurs.

<script>
    dataLayer = [{
      'transactionId': '1234',
      'transactionDate': '13112012',
      'transactionType': 'Type 1',
      'transactionAffiliation': 'ACME Clothing',
      'transactionTotal': 25.60,
      'transactionShipping': 5.00,
      'transactionTax': 1.00,
      'transactionPaymentType': 'Paypal',
      'transactionCurrency': 'EUR',
      'transactionShippingMethod': 'Retrait magasin',
      'transactionPromoCode': '',
      'transactionProducts': [{
        'id': '12',
        'name': 'bottes rouge croco',
        'sku': '45622FRES',
        'category': 'chaussures > bottes',
        'price': 450.00,
        'quantity': 2
        },
        {
        'id': '14',
        'name': 'veste cuir noire',
        'sku': '456VESRTE',
        'category': 'vêtements > vestes',
        'price': 750.00,
        'quantity': 1
        }]
    }];
    
  </script>
									

Chaque produit du panier doit être un élément du tableau transactionProducts. Cela équivaut à l’exécution d’un _addItem par produit.

On remarque par rapport au code basique actuel que les variables city, state or province et country n’ont pas d’équivalent dans le dataLayer. Arrêtez-moi si je me trompe, mais il me semble que de toute façon ces variables ne sont actuellement pas personnalisables au niveau du tag transactionnel. Google analytics récupère automatiquement les propriétés pays / région / ville du visiteurs qu’il applique à la transaction. J’avais déjà fait quelques tests pour utiliser ces variables et y insérer d’autres données, sans succès.

Le contenu de la requête http sur la transaction :

City, country et region sont en undefined.

On remarque également que de nouvelles variables font leur apparition (et donc sûrement de nouvelles dimensions natives dans l’outil) : type de transaction, date de la transaction, type de paiement, mode de livraison, code promo.

Le contenu de la requête http sur un item :

Beaucoup de variables qui ont une valeur dans le dataLayer n’apparaissent pas encore aujourd’hui…

Tout cela me fait penser à tout ce que l’Universal Analytics pourrait apporter dans les prochains mois. Le Google Tag Manager est clairement fait pour la mise à disposition de nouvelles dimensions, qu’elles soient prédéfinies ou personnalisées.

Si vous avez des remarques, astuces ou conseils à partager, n’hésitez pas !

Google+

19 commentaires pour “Tracking ecommerce Google Analytics avec Google Tag Manager et son dataLayer”

  • Romain 14 novembre 2012 à 11 h 06 min

    Personnellement, je ne fais pas confiance à Google Analytics, car je suis sûr que les données collecter influencent l’algorithme de classement des pages Web dans le moteur de recherche.

    J’ai donc filtré les requêtes de collecte des données vers Google Analytics directement dans le fichier « Hosts » de ma machine et j’utilise une solution payante pour mon site Web et « concurrente de Google ».

    Une chose est sûre, mon site Web subit moins l’effet « YOYO » dans les classements des recherches que mes concurrents utilisant ce service.

    Rien n’est gratuit avec Google !

    • Romuald 14 novembre 2012 à 13 h 37 min

      Bonjour Romain,

      Google récupère nos données, c’est certain. Pour des outils marché tels que Google Trends ou autre. Concernant, le SEO, rien n’est sûr à 100%.

      Dans tous les cas, Google analytics est aujourd’hui un outil complet qui évolue selon moi dans une direction intéressante. Les concurrents payants ont également des points forts de différenciation tels que l’échantillonnage limité des données.

      Le but de l’article n’était cependant pas de lancer un débat sur l’utilisation des données récupérées par Google mais merci pour votre commentaire.

      • Romain 22 novembre 2012 à 15 h 57 min

        Je pense que mon commentaire et tout à fait en adéquation avec ton article, je mentionne juste qu’il existe et que j’utilise une autre solution que celle fournie par Google (que tu ne proposes pas) et dont tu fais l’apologie.

        En ce qui concerne le traitement des données, c’est quand même un comble (pour ne pas dire C*N) de confié les données de trafic de son e-commerce à une entreprise dont on dépend (SOURCE DE REVENUE : trafic de recherche, comparateur de prix, pub, etc.) en partie (pour ne pas dire totalement pour certain) , sous prétexte que l’outil et service fourni sont de bonne qualité et gratuit…

        Bref

  • Fred 14 novembre 2012 à 13 h 34 min

    C’est intéressant, mais je m’attendais à autre chose : le vrai problème aujourd’hui avec le trackling ecommerce, c’est que la plupart des clients s’arrêtent à la page de confirmation de paiement de la banque et ne reviennent pas sur le site, par conséquent il n’y a que très peu de ventes disponibles dans Google Analytics. Du coup, ton idée est intéressante et donne des infos complémentaires, mais les données seront toujours faussées.

    • Romuald 14 novembre 2012 à 13 h 41 min

      Bonjour Fred,

      La problématique exposée dans l’article est fortement liée à l’usage du Google Tag Manager pour le tracking ecommerce Google Analytics.

      Néanmoins, tu as raison sur le point que tu évoques, qui est d’ailleurs commun à tous les outils d’analyse.

      Pour limiter le fait que les données soient faussées, je te conseille de voir si ta solution bancaire te permets de rediriger automatiquement les visiteurs vers ta page de remerciement juste après la validation de la transaction sur la plateforme de la banque.

      Deuxième chose, l’universal analytics, le « nouveau » Google analytics proposera apparemment d’importer des données de transaction et donc de « corriger » ces données faussées après coup.

      Dans tous les cas, les données ne seront jamais exactes à 100%, cela est fortement lié au support web… Il y a toujours quelques petits pépins.

      Merci pour ton commentaire.

      • Fred 14 novembre 2012 à 13 h 44 min

        Oui, c’est un problème récurrent, on est d’accord ;)
        J’ai hâte de voir ce que va donner Universal Analytics, effectivement d’après ce que j’ai compris ça permettrait d’attribuer « manuellement » dans certains cas une visite à une vente.

        • david 3 mai 2013 à 8 h 50 min

          Bonjour à tous,

          Merci pour ce partage très instructif.

          Mais je suis surtout interpellé par le TMS de google.

          J’ai du mal à comprendre en quoi celui ci répond à la problématique de tracking des transactions sans retour sur le site (ou du moins quelque chose de plus fiable).

          Pourriez vous nous indiquez un lien ou un tutorial montrant l’utilisation du TMS de google pour faire ce genre de tracking.

          Merci d’avance.

          David

  • Fabien 14 novembre 2012 à 18 h 41 min

    Merci pour ce article et accessoirement exemple d’implémentation des DataLayer que l’on ne retrouve pas dans la doc Google.

  • John 22 novembre 2012 à 15 h 36 min

    Article très intéressant, merci ! Enfin une solution simple pour des questions compliquées ! :)
    Le tracking des ventes est juste essentiel pour une boutique en ligne.

    En ce qui concerne la redirection de la banque vers la page de confirmation de la boutique et donc tracking de la commande, pour ma part j’utilise la solution du Crédit Mutuel et on peut forcer le renvoi vers la page de confirmation.
    Après vérification, j’ai quasiment toutes mes commandes qui remontent dans GA !

  • Antoine 18 février 2013 à 20 h 09 min

    Bonjour,
    J’arrive un peu tard sur cette article. Google lance un produit et le monde découvre le Tag Management ;)
    Sérieusement, Tag Commander, et d’autres, apportent de réelles solutions sur le sujet depuis près de 3ans mais comme l’analytics, ce n’est ni facile et nécessite un accompagnement et support et une réelle expertise sur contenir des tags mais aussi conditionner leur chargement.
    @Romuald, on se voit pour en parler ?
    Antoine

    • Romuald 18 février 2013 à 20 h 43 min

      Bonsoir Antoine,

      Je n’ai jamais dit le contraire.

      Je connaissais des solutions de tag management depuis quelques temps déjà (la vôtre, également Tag Man, etc.). Nous en avons même développé une très légère pour nos besoins internes depuis 2010. Je vous avais croisé également à l’Emetrics 2011 à Paris.

      Votre dernière phrase (la première aussi après relecture) me vexe un peu. Dans tous les cas, l’expertise en tag management doit faire partie de la palette de compétences d’un web analyste aujourd’hui et personnellement, j’y travaille.

      Je profite de l’effet de mode que déclenche la sortie de l’outil de Google pour m’y mettre en pratique (et accessoirement pour en parler et partager mes expériences). Ca me permet de tester un outil facilement accessible sans passer par un service commercial et donc de gagner un peu de temps. D’où peut-être votre impression que je fais partie de ce monde qui découvre le Tag Management…

      Plus sérieusement, comme vous le dites, le modèle des outils d’analyse se duplique : un outil gratuit qui a ses défaut et pas de support et des outils payants plus flexibles qui proposent des supports dévoués et souvent très efficaces (sans ironie).

      Bref, on en parle quand vous voulez Antoine ;)

      Merci.
      Romuald

  • Antoine 19 février 2013 à 10 h 50 min

    Bonjour Romuald,
    Ce n’était pas ce que je voulais dire, mais plus pour les lecteurs qui ont découvert que le TMS apportait (comme le CMS) de réelles solutions à des pb de multiplication de tags, notamment la déduplication des tags de conversion :)
    J’ignorais que vous aviez rencontré TC n’étant ni dans l’entreprise ni en France en 2011 mais de nombreuses fonctionnalités ont vu le jour depuis près de 2 ans, dont l’attribution multi channel et la gestion de la privacy
    Au plaisir de se voir
    Bien à vous
    Antoine

  • Maxime 6 novembre 2013 à 20 h 58 min

    Bonjour Romuald,

    Si je souhaite poser un autre code de conversion Analytics pour un e-commerçant, comment puis-je passer les informations vont passer du tag manager à mon code de tracking ?

    Ce que j’ai fait, c’est que j’ai créé une balise html simple, qui ne s’active que sur la page de confirmation de paiement. A l’endroit où l’on attend le panier j’ai mis {{transactionTotal}} et pour l’ID de transaction j’ai mis {{transactionId}}. Je suis ni sur de la syntaxe, ni si c’est ce que je dois faire.

    Est ce que ca te parait cohérent ?

    Merci pour ton aide

    • Romuald 7 novembre 2013 à 0 h 09 min

      Bonjour Maxime,

      Pour utiliser des variables dans ta balise html simple définie dans Tag Manager, tu dois les déclarer sur la page de confirmation de paiement via un dataLayer (via un petit bout de code JS dans la page). Sans ça, ton Tag Manager ne sera pas nourri en données.

      Pour ce qui est de la syntaxe, tu peux utiliser celle que tu veux mais celle exposée dans cet article donne l’avantage de ne pas avoir à créer de macros spécifiques dans Google Tag Manager.

      En règle générale, lorsque tu utilises des variables dans les balises que tu crées, elle doivent normalement être définies en tant que macro dans l’outil et valorisées au sein du dataLayer sur la page du site visée.

      Si tu as des questions n’hésite pas.

      Romuald

  • Maxime 7 novembre 2013 à 19 h 45 min

    Merci Romuald pour ton aide et ta réponse.

    Pour être encore plus concret dans ma balise HTML que je créai, je pose :

    var sf = sf || [];
    sf.push(['XXXX'], ['{{transactionId}}'], ['{{transactionTotal}}']);

    Est-ce que tu pense que cela est correcte ?

    Merci pour ton aide,

  • laetitia 6 février 2014 à 13 h 29 min

    Bonjour,
    Je souhaite suivre le clic sur un bouton, j’ai donc mis le code suivant au niveau du bouton <input type="submit" onClick="dataLayer.push({‘eventCategory’ : ‘Formulaire’, ‘eventAction’ : ‘valider’, ‘eventLabel’: ‘contact’, ‘event’ :’formulaire_contact’}); » value= »Envoyer mon message » name= »valider » id= »valider » />
    Sur cette page http://www.experveo.fr/contact.php
    J’ai paramétré ma balise, règle et métas mais la balise ne se déclenche pas. Savez-vous pourquoi ? Est-ce que ça vient du code ? ou du paramétrage sur Google Tag Manager ?
    Merci d’avance pour votre aide.

  • digital marketing 21 février 2014 à 12 h 44 min

    merci pour cet article intéressant,

  • Alexa 11 juin 2015 à 12 h 33 min

    Bonjour Romuald,

    J’ai une page de confirmation dont l’url est unique.
    Or, je mesure deux actions différentes.

    Sur la page de confirmation le dataLayer est paramétré avec les données de type :

    <![CDATA[ */dataLayer=[{'env_template':'confessai','env_work':'………

    La variable est appelée au bon moment.

    Du coup, je ne sais pas comment paramétrer le déclencheur… ? Au niveau des balises pour mes tags, dois-je renseigner quelques choses ?

    Merci pour ton aide.
    Alexandra

  • Nicolas 26 avril 2016 à 14 h 52 min

    Hello,

    Merci pour cet article. Deux petites questions :

    1. Où as-tu trouvé la liste (exhaustive ?) des variables à pusher dans le datalayer de type « transactionXXX » et qui servent à Analytics ? Car j’ai beau fouiller la Google Doc, impossible de mettre la main dessus.

    2. A quoi sert la variable « transactionType » ?

    Thanks,

Poster un commentaire