google analytics envoyer un événement de fonction de rappel
Je suis en train d'envoyer événement, rendez-vous sur google analytics après que l'utilisateur est enregistré et avant il est redirigé.
Je suis en utilisant Google Tag Manager et univerasl js.
Tout d'abord, j'ai essayé d'utiliser dataLayer objet, comme décrit ici: des développeurs.google
C'est ce que ma fonction ressemblait:
//Registering new user via ajax
$.ajax('/register/', {
success: function() {
//Pushing event to dataLayer
dataLayer.push({
'Category': 'Registration Process',
'event': 'Registration Submit Btn'
});
//Logging in new user and redirecting the page with a timeout
setTimeout(function(){
loginAction();
}, 500)
}
})
Le problème, c'est que j'ai été reçu à seulement environ 25% de tous les événements, tous les autres sont perdus. Je ne sais pas si et quand l'événement est envoyé à Google après l'ajout de l'objet à dataLayer et je pense que 75% des événements n'étaient pas envoyer à tous.
Maintenant je suis en train de mettre en œuvre une autre approche:
//Registering new user via ajax
$.ajax('/register/', {
success: function() {
//Sending event through ga('send')
parent.ga('send', 'event', 'Registration Process', 'Registration Submit Btn');
//Logging in new user and redirecting the page with a timeout
setTimeout(function(){
loginAction();
}, 500)
}
})
Mais ga('send') n'a pas de fonction de rappel à nouveau!
Comment puis-je être sûr que l'événement a bien été envoyé à google, à l'aide de dataLayer ou ga('send')?
- regardez: stackoverflow.com/questions/8147065/...
- il est vieux tracker, je suis en utilisant universal analytics, il n'y a pas de _gaq fonction
Vous devez vous connecter pour publier un commentaire.
Finalement obtenu. C'est assez compliqué et n'est pas décrite dans les docs.
Dans mon cas, j'utilise Google Gestionnaire de balises, donc, il ya quelques solutions de contournement que j'avais à faire pour obtenir avec succès le feu à un événement et de rappel.
Tout d'abord, nous devons obtenir de l' ClientId, ce qui est nécessaire à tout événement envoyé sur les serveurs de Google. En fait il est conservé dans des cookies, mais il n'est pas recommandé de le prendre directement à partir de là.
Ici est de savoir comment Google recommande de l'obtenir, mais ce ne fonctionnera pas si vous utilisez Google Gestionnaire de balises.
Au lieu de cela, vous devez obtenir ClientId de getAll méthode.
Après, vous devez créer de nouveaux tracker
Et après cela, nous pouvons envoyer un événement:
hitCallbackFail
existe, au moins plus?De Google Analytic doc
https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#hitCallbackNews
Vous pouvez modifier le
hitCallback
fonction de la vôtre.OU
Ici, vous pouvez définir votre fonction (
criticalCode
) dans l'exemple ci-dessus qui peut assurer que les données envoyées à Google Analytic et ensuite travailler avec votre code.Pour beaucoup de compréhension de l'api de l'analyse, l'ex république yougoslave de:
https://developers.google.com/analytics/devguides/collection/analyticsjs/command-queue-reference
De la documentation: https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#hitCallback
Dans cet exemple, le champ nom de l'objet configure à la fois le paramètre de la page, ainsi que le réglage de la hitCallback. Une fois que le tracker a terminé l'envoi de données, un message d'alerte sera affiché à l'utilisateur.
Vous pouvez utiliser hitCallback pour des événements, de pages vues, etc..