Buskara

Recherche

La recherche de la boutique dans Google Analytics

Un interrupteur et la recherche se met à écrire dans le dataLayer de la boutique. Qui décide de ce qui part vers GA4, et avec quel consentement, reste le Tag Manager de la boutique.

Daniel Silva Buskara
10 min de lecture

En bref

  • Le panneau de la recherche répond à « comment va la recherche ». Google Analytics répond à « combien elle vaut », parce que c'est là que sont les campagnes, les audiences et les conversions.
  • L'interrupteur activé, chaque événement de la recherche est livré à la page elle-même deux fois : comme événement du navigateur et comme push vers le dataLayer.
  • Rien ne sort de la page par ce chemin. On n'écrit pas de cookies et on ne charge pas de scripts, et celui qui décide de ce qui part vers GA4, c'est le Tag Manager de la boutique.
  • L'événement le plus utile est le moins glamour : une recherche à zéro résultat, enregistrée avec le terme que la personne a écrit.

Le panneau de la recherche montre les termes, les clics et les recherches qui finissent en rien. C'est la bonne image pour régler la recherche, et c'est la mauvaise image pour répondre à une question qui revient toujours : et dans Google Analytics ?

La question est légitime et ce n'est pas de l'entêtement. Un outil de recherche avec son propre rapport est un outil que personne ne compare à rien, et les campagnes, les audiences, les tunnels et les conversions de la boutique vivent dans GA4. Ce qui n'y entre pas reste en dehors des comptes que l'on fait pour l'activité, et un outil avec son propre rapport est un outil que personne ne compare à rien.

Ce qui change quand on l'active

Avec l'interrupteur Envoyer les événements vers l'analytics de la boutique activé sur la fiche de la boutique, chaque événement de la recherche est désormais livré à la page elle-même, deux fois et de deux façons. Cela vaut pour n'importe quelle plateforme prise en charge, y compris le module de recherche pour PrestaShop :

  • comme événement du navigateur, avec des noms du genre buskara:search, pour qui veut les écouter avec trois lignes de JavaScript ;
  • comme push vers le dataLayer, avec des noms du genre buskara_search, qui est le format que le Google Tag Manager attend.

Il vaut la peine de souligner ce qui n'arrive pas. Ce chemin n'écrit pas de cookies, ne charge pas de scripts et n'envoie rien hors de la page. Il pose l'information sur la table de la boutique et s'écarte. L'interrupteur désactivé, le dataLayer reste exactement comme il était.

Les événements

Événement Quand il se déclenche Paramètres
buskara_open La recherche s'ouvre aucun
buskara_search Une recherche se pose, et non à chaque touche search_term, results, search_id
buskara_result_click Clic sur un résultat item_id, item_name, price, brand, index, search_term, search_id
buskara_add_to_cart Ajout au panier dans une session qui a cherché item_id, item_name, price, brand, quantity, search_term, search_id
buskara_similar_open Le panneau de produits similaires s'ouvre item_id, item_name, search_term, search_id
buskara_quiz_* Chaque étape de l'assistant : début, réponse, retour en arrière, clic sur un produit, passage à une personne, message, checkout type, slug, step, plus les extras de l'étape

Deux notes sur le tableau.

Le search_id est le même identifiant que celui qu'utilise le panneau. C'est ce qui permet de prendre un chiffre de GA4 et d'aller le confronter au même chiffre de l'autre côté, au lieu de discuter pour savoir lequel des deux outils se trompe.

Le buskara_add_to_cart compte l'ajout au panier d'une session qui a cherché, qu'il vienne du bouton de la recherche, de l'assistant ou du bouton de la boutique elle-même après une recherche. Il est délibérément généreux, et il faut le lire ainsi : c'est de l'influence de la recherche, pas de l'attribution serrée. L'attribution serrée se fait de l'autre côté, comme on l'explique dans qui cherche achète plus.

Pourquoi le buskara_search ne se déclenche pas à chaque touche

Parce qu'une recherche écrite n'est pas une recherche par lettre, et qu'un rapport qui confond les deux choses est pire que pas de rapport du tout.

Écrire « écouteurs » produit une douzaine d'états intermédiaires, et seul le dernier est ce que la personne a voulu chercher. Si tous comptaient, les « plus recherchés » de la boutique seraient des demi-mots que personne n'a écrits exprès, et le taux de recherches sans résultat serait un chiffre inventé par la vitesse à laquelle chaque visiteur écrit.

C'est pourquoi l'événement attend que la frappe se pose. C'est une décision qui a des conséquences : GA n'a aucun moyen de retirer un événement déjà envoyé, et un chiffre qui se remplit tout seul ne se nettoie pas après coup.

Activer, en trois étapes

  1. Télécharger le container prêt à l'emploi dans le panneau et l'importer dans le Tag Manager. Il apporte les variables, les déclencheurs et les tags GA4 déjà montés. Le tableau complet des événements et des paramètres vit dans le guide des événements dans GTM et GA4.
  2. Ouvrir la variable du Measurement ID et remplacer la valeur d'exemple par celle de la boutique, qui se trouve dans GA4 sous Administrateur → Flux de données.
  3. Dans Preview, faire une recherche sur la boutique et confirmer que les événements arrivent. Ensuite, Submit.

Sans Tag Manager, les événements du navigateur remplissent le même rôle avec très peu de code :

document.addEventListener('buskara:search', function (e) {
  gtag('event', 'buskara_search', e.detail);
});

Le consentement est une décision de la boutique

Les tags importées arrivent sans état de consentement défini, et c'est voulu.

Ce n'est pas un oubli à corriger : c'est la reconnaissance que la politique de consentement appartient à la boutique et non à un fournisseur de recherche. Le gating se fait dans les règles du container lui-même, avec le même mécanisme que pour n'importe quelle autre tag. Un fournisseur qui déciderait cela à sa place assumerait une responsabilité qui reste, légalement, du côté de celui qui possède la boutique.

Le chemin du dataLayer en lui-même n'écrit pas de cookies et n'identifie personne. Ce qui a besoin de consentement, c'est ce que la boutique décidera d'en faire ensuite.

Et Microsoft Clarity

Il y a un second interrupteur, indépendant du premier, pour les boutiques qui utilisent déjà Microsoft Clarity. Une fois activé, les mêmes événements sont livrés au Clarity présent sur la page, et chaque session est marquée de deux étiquettes : le terme recherché et le nom du produit.

Ce sont les étiquettes qui comptent, plus que les événements, parce que c'est par elles que l'on filtre les enregistrements de session et les cartes de chaleur selon ce que les gens ont cherché. Voir une demi-douzaine d'enregistrements de personnes qui ont cherché un terme et sont parties sans cliquer sur rien explique plus que la colonne de ce terme dans un rapport.

Deux limites honnêtes : Clarity ne reçoit pas de paramètres dans les événements, ce qui vient de l'outil et non de cette intégration, d'où les étiquettes ; et la recherche ne charge jamais le script de Clarity, donc sans lui déjà sur la page l'interrupteur ne fait rien.

Pour et contre le fait de refléter vers l'analytics de la boutique

Pour Contre
La recherche apparaît désormais à côté des campagnes et des conversions, à l'endroit où l'on décide du budget Plus d'événements dans GA4, et un container mal rangé devient pire
Le search_id permet de confronter les deux rapports au lieu d'en choisir un Deux sources de chiffres invitent aux discussions sur celle qui a raison
Les audiences et le remarketing peuvent désormais utiliser le comportement de recherche Le comportement de recherche est une donnée sensible dans certains catalogues, et oblige à penser au consentement
Fonctionne sans nouveaux cookies et sans scripts supplémentaires de notre part Exige quelqu'un qui sache manier le Tag Manager, même si le container arrive prêt
Les recherches sans résultat entrent dans les rapports de ceux qui décident des achats Un événement qui se déclenche trop abîme les historiques et ne s'efface pas

Le rapport qui vaut la peine d'être monté en premier

S'il n'y a de temps que pour un seul, c'est celui-ci : buskara_search filtré par results = 0, avec le search_term comme dimension.

C'est la liste de ce que les visiteurs ont cherché et que la boutique n'a pas servi, écrite avec leurs mots à eux. Dans le panneau de la recherche elle existe déjà, avec un classement par type de problème et une estimation de ce que l'on récupère. Ce qui change en l'ayant aussi dans GA4, c'est la compagnie : elle peut désormais être croisée avec la source du trafic, et la question « quelle campagne amène des gens qui cherchent ce que nous n'avons pas » cesse d'être rhétorique.

Le sujet a son propre article, avec les quatre causes et quoi faire pour chacune, dans les recherches sans résultat sont la liste de courses que personne ne lit.

Questions fréquentes

Comment amener la recherche interne dans Google Analytics 4 ?

En activant l'envoi des événements sur la fiche de la boutique et en important le container du Tag Manager que le panneau met à disposition. Les événements arrivent dans le dataLayer de la boutique et c'est le Tag Manager qui les achemine vers GA4, avec les règles de consentement que la boutique a déjà.

Ces événements écrivent-ils des cookies ou suivent-ils les visiteurs ?

Pas par ce chemin. Les événements sont livrés à la page elle-même et rien d'autre n'en sort. Les cookies et l'identification sont ce que les tags GA4 font ensuite, sous les règles du container de la boutique, comme avec n'importe quelle autre tag.

Pourquoi le nombre de recherches de GA4 ne correspond-il pas à celui du panneau ?

Presque toujours à cause du consentement et des bloqueurs. Le panneau compte les recherches qui sont arrivées au service ; GA4 compte celles que les tags ont réussi à envoyer. Le search_id est des deux côtés, et c'est par lui que l'on enquête sur un écart au lieu de le deviner.

Cela vaut-il la peine si la boutique a déjà le panneau de la recherche ?

Cela vaut la peine si les décisions marketing se prennent dans GA4, ce qui est le cas de la majorité. Le panneau est meilleur pour régler la recherche ; GA4 est meilleur pour la comparer à tout le reste de ce que fait la boutique. Ils ne sont pas en concurrence.

Qu'est-ce que le search_id ?

Un identifiant attribué à chaque recherche, présent dans les événements et dans les rapports du panneau. Il sert à relier un clic, un ajout au panier ou une conversation à la recherche concrète qui les a produits, au lieu de les regrouper seulement par le terme écrit.

Puis-je utiliser cela avec Microsoft Clarity au lieu de Google Analytics ?

Oui, et ce sont des interrupteurs indépendants : l'un, l'autre, ou les deux. Clarity donne une chose que GA4 ne donne pas, qui est de voir l'enregistrement de la session de celui qui a cherché un terme, et il ne donne pas de paramètres dans les événements, ce que GA4 fait mieux.

analytics Recherche gtm ga4

Was this article useful?

Daniel Silva

Écrit sur la recherche et la découverte de produits sur le blog Buskara.

Nous n'écrivons que lorsque nous avons quelque chose à dire

Recevez de nouveaux articles sur la recherche, la conversion, l'e-commerce et ce que nous apprenons avec des données réelles.

Aucun partage de données. Résiliez quand vous voulez.