2013-02-05 3 views
0

J'ai une page avec un bon de commande. Je souhaite suivre le clic sur onSubmit dans google analytics. C'est le format que j'ai utilisé. J'ai également ajouté les informations correctes dans google analytics dans le panneau admin/goals.Suivi des objectifs de l'événement GA onSubmit pas suivi en GA

<form method='post' id='form_catalogrequest' name='CatalogRequest' value='CatalogRequest' onSubmit ="return valid(this);_gaq.push(['_trackEvent', 'catalogRequest', 'Submit']);"> 

Est-ce la bonne façon de procéder? Y a-t-il une meilleure manière de faire cela? car il n'est pas suivi dans GA lorsque je traite le formulaire.

http://www.positivepromotions.com/catalogrequest.aspx

Répondre

2

Le problème est que, avant votre code GA vous return valid(this); Puisque vous retournez quelque chose, tout le code après est ignoré. Vous devez restructurer votre code onSubmit pour permettre au code GA d'être déclenché. En regardant votre fonction valid() à partir de votre lien, il semble qu'il retourne finalement true si les champs de formulaire sont valides, false sinon.

Donc, il y a deux façons dont vous pouvez aller à ce sujet:

Méthode A: envelopper le code onSubmit dans un état

<form method='post' id='form_catalogrequest' name='CatalogRequest' value='CatalogRequest' onSubmit ="if (valid(this)){_gaq.push(['_trackEvent', 'catalogRequest', 'Submit']); return true;} else { return false; }"> 

Méthode B: déplacer votre code GA à l'intérieur de votre valid() fonction:

function valid(form){ 

    // lots of form validation stuff that I didn't c/p to save space 

    _gaq.push(['_trackEvent', 'catalogRequest', 'Submit']); 
    return true; 
} 

Personnellement, j'aller pour La méthode B car il est nettoyant IMO.

+0

La méthode A a fonctionné pour moi parce que je n'ai pas accès à la validation. C'était une réponse géniale. – user2043814

+0

génial! pouvez-vous marqué comme résolu? ;) –

Questions connexes