J'essaie de suivre un événement (enregistrement d'utilisateur) comme objectif. JE NE VEUX PAS qu’il soit suivi par un onclick, je veux qu’il soit suivi une fois l’événement PHP terminé. Voici mon code:
if(USER REGISTRATION SUCCESSFUL):
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_trackEvent', 'SignUp', 'Registered', 'User Registered']);
</script>
endif;
Le code Google Analytics habituel se trouve dans le pied de page, juste avant le/body. Sur la page d’enregistrement, ce code est déclenché au milieu de la page.
Mais les objectifs complétés n'apparaissent pas dans Google Analytics, pourquoi?
Remarque: PHP simplifié puisqu'il ne concerne pas vraiment cette question.
Essayez de supprimer var _gaq = _gaq || [];
- cette ligne efface votre objet Google Analytics existant et les événements ne peuvent pas être suivis sans un appel à trackPageView.
Désolé, j'ai oublié le fait que votre extrait GA.js apparaît après votre extrait de suivi des événements. Voici une solution qui devrait résoudre le problème:
<?php // start of document
if ( USER REGISTRATION SUCCESSFUL )
{
$analytics_addition = "_gaq.Push(['_trackEvent', 'SignUp', 'Registered', 'User Registered']);";
}
?>
<!--
your regular HTML output
-->
<!-- ga.js snippet -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-XXXXX-X']);
_gaq.Push(['_trackPageview']);
<?php
// append event tracking
if ( @isset($analytics_addition) && $analytics_addition )
echo $analytics_addition;
?>
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- eof ga.js snippet -->