web-dev-qa-db-fra.com

Événements Google Analytics existants et Google Tag Manager

J'ai implémenté Google Analytics (GA) sur mon site et j'envoie plusieurs événements personnalisés via la fonction ga("send", "event", ...); et cela fonctionne bien.

J'expérimente avec Google Tag Manager (GTM). J'ai supprimé l'original GA extrait de code, et maintenant j'utilise GTM pour injecter GA balise sur mon site et les pages vues sont suivies correctement. Ce qui ne fonctionne pas bien sont mes événements personnalisés envoyés par la fonction ga ().

J'ai remarqué que GA create A une variable de nom de tracker comme

ga("create", "UA-12345678-1", {name: "gtm0123456789", allowLinker: false});

et l'extension Google Analytics Debugger pour Google Chrome signale Command ignored. Unknown target: undefined.

J'ai découvert que l'envoi d'un événement devait inclure le nom du tracker afin qu'il ressemble à ga("gtm0123456789.send", "event", ...);, mais je ne veux pas modifier tous mes appels GA send event Existants.

Je l'ai corrigé rapidement en définissant le nom du tracker sur une chaîne vide dans les paramètres GTM (Edit Tag -> More Settings -> Advanced Configuration -> ☑ Tracker Name, En laissant la zone de texte vide) et maintenant cela fonctionne, mais je ne pense pas que ce soit une excellente solution.

Existe-t-il d'autres options pour avoir mes appels GA send event Existants et utiliser également le suivi des événements via GTM?

29
petriq

Il existe un moyen - vous pouvez renommer la fonction ga dans le gestionnaire de balises (configuration avancée, nom de la fonction globale), par ex. à "real_ga". Ensuite, vous créez une fonction GA personnalisée dans votre propre page qui prend les paramètres de vos appels de suivi des événements et les transmet à la fonction real_ga (vous devez donc modifier le nom du tracker uniquement à un endroit), ou mieux les pousser vers le DataLayer (puis vous pouvez utiliser les valeurs dataLayer pour le suivi des événements dans GTM).

Mais pourquoi tu veux faire ça ? Vous n'avez pas réellement de problème, vous vous sentez simplement mal à propos de votre solution de contournement. La bonne réponse à cela est, tant que cela fonctionne, ne vous sentez pas mal.

2
Eike Pierstorff

J'avais la configuration similaire (balise Universal Analytics dans Google Tag Manager) et je voulais déclencher des événements à partir d'un bouton sur un clic.

J'ai utilisé les commentaires de Petriq pour résoudre mon problème et je veux donc ajouter mes notes.

Le code d'événement Universal Analytics normal est dans ce format:

ga("send", "event", ...);

Vous pouvez déclencher des événements Universal Analytics à partir de votre code avec le nom du tracker:

ga("gtmXXXXXXXXXX.send", "event", ...);

Cependant, le nom du tracker change à chaque chargement gtm, j'ai donc changé le code comme ceci:

var trackerName = ga.getAll()[0].get('name');
ga(trackerName + '.send', 'event', { eventCategory: 'category1', eventAction: 'action1', eventValue: 0 });

J'espère que ça aide!

61
Mert Can Ilis

http://www.lunametrics.com/blog/2015/01/21/gtm-existing-tracking/

Dans votre balise de visualisation de page GTM, accédez à Plus de paramètres> Configuration avancée. Cochez la case "Tracker Name", mais laissez le champ vide.

4
Mouse