Google analytics: dataLayer.push ne fonctionne pas?
Basé sur ce fil: Le suivi des événements à l'aide de Google Tag Manager
J'ai créé ma propre version, qui est situé à la par exemple http://test.site.com
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event':'GAevent',
'eventCategory': 'App4',
'eventAction': 'Click',
'eventLabel': 'iOS4'
});
</script>
</head>
<body>
<!-- Start google tag manager -->
<script>
(function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'//www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'primecont', 'GTM-1234');
</script>
<!-- End google tag manager -->
</body>
</html>
Je me suis tourné sur google gestionnaire de balises mode de débogage et l'ai regardé sur google analytics en temps réel.
J'ai 2 règles d'incendie pour un tag:
- {{url}} contient test.site.com
- {{event}} est égal à GAevent
ce que j'ai est "event category: undefined
" & "event action: undefined
" en temps réel de google analytics.
Si je supprime "{{url}} contains test.site.com
", rien n'apparaît en temps réel.
Mise à jour
J'ai utilisé un séparé de google gestionnaire de balises compte et de créer une page de test, de sorte que tout ce qu'il est minimum. Il semble que le travail en temps réel. La non-utilisation de google gestionnaire de balises sont partagées par les écoles et les facultés. Je soupçonne que c'est la raison?
Je suis certain que le problème est ce que @EikePierstorff mentionné. Vous n'avez pas de créer et d'insérer à votre balise Google Analytics le correspondant eventCategory,eventAction,eventLabel macros.
J'ai créé dataLayer marcos eventCategory,eventAction,eventLabel. Dois-je créer un événement personnalisé pour GAevent? Une autre question: j'ai mis "{{event}} est égal à GAevent' comme un feu de règle. Ne dataLayer.push({'event':'GAevent', ...}) fait feu de la GAevent?
Il semble que vous le feu de la balise sur cette page spécifique seulement, basé sur le placement de la dataLayer pousser. Est que votre intention? Il n'y a rien d'autre qui déclenche la pousser les autres que ce chargement de la page.
Mon objectif final est, si je clique sur un bouton, google analytics vous permet d'enregistrer le clic dans la 'catégorie de l'événement'. Je suppose que si je suis capable de le faire fonctionner au chargement de la page, alors que je suis en 1 étape plus près de mon but. Je suppose dataLayer.push({'event':'GAevent', ...}) fait feu de la GAevent, lorsque le chargement de la page?
OriginalL'auteur kenpeter | 2015-01-30
Vous devez vous connecter pour publier un commentaire.
Votre Balise de tir avec un mauvais variables pour un certain nombre de raisons.
Si le
dataLayer.push()
étaient correctes, vous Tag n'aurez besoin que les {{url}} correspond à l'expression rationnelle .* comme règle, puisque tout pousse qui se produisent avant que le conteneur extrait de code sont disponibles pour Toutes les Pages de la règle.Cependant, vous pouvez aussi appuyer sur la
'event' : 'GAEvent'
pré-conteneur-extrait de code, si vous le souhaitez. Mais alors vous devez supprimer le {{url}} règle, car elle permettrait de rendre votre balise de feu deux fois: d'Abord avec {{event}} est égal à GAEvent et puis avec le {{url}} règle.La raison pour laquelle votre code ne fonctionne pas, même si vous corrigez les problèmes ci-dessus est parce que vous avez renommé le dataLayer objet dans votre conteneur extrait de:
la
'primecont'
Chaîne est le nouveau nom de Google Tag Manager de la Couche de Données que vous avez donné, pour une raison quelconque. C'est pourquoi votredataLayer.push()
ne fonctionnera pas, puisque Google Tag Manager est à l'écoute pour unprimecont.push()
à la place.Donc, soit de modifier toutes vos
dataLayer
interactions àprimecont
, ou de modifier le conteneur extrait de l'invocation de la ligne à ressembler à ceci:OriginalL'auteur Simo Ahava