Je souhaite suivre les conversions réalisées grâce à ma campagne Google Ads. Or sur chaque page de mon site, il y plusieurs boutons que je souhaite suivre (vers e-mail, vers site extérieur) ainsi qu’un formulaire de contact.
Comment insérer les balises Adwords correspondant à chaque action sur une même page ?
1/ Générez les balises de suivi des conversions
Le tutoriel de Google Partie I est plutôt clair, cliquez ici pour le suivre.
Dans Google Ads, créez autant de balises que d’objectifs. Par exemple, j’ai créé 3 actions de conversions « Lien e-mail », « Lien site externe », « Formulaire »
Code à insérer dans le <head></head>
Le code ci-dessous est à insérer dans la balise <head></head> de votre page contenant les boutons, une seule fois, quelque soit le nombre d’actions de conversion à suivre.
<!-- Code Google pour Adwords --> <script type="text/javascript"> var Goal = function(id, label, value, url) { this.id = id; this.label = label; this.value = value; this.url = url; } function trackAdWordsConversion(goal, callback) { // Cree une image var img = document.createElement("img"); // An optional callback function to run follow up processed after the conversion has been tracked if(callback && typeof callback === "function") { img.onload = callback; } // Construct the tracking beacon using the goal parameters var trackingUrl = "http://www.googleadservices.com/pagead/conversion/"+goal.id; trackingUrl += "/?random="+new Date().getMilliseconds(); trackingUrl += "&value="+goal.value; trackingUrl += "&label="+goal.label; trackingUrl += "&guid=ON&script=0&url="+encodeURI(goal.url); img.src = trackingUrl; // Ajoute l'image a la page document.body.appendChild(img); // Masque l'image img.style = "display: none;"; } function submitForm(form, goal) { try { // Une fonction pour valider le formulaire après que l'événement sur la conversion a été effectué var submitFormCallback = function() { //form.submit(); // J'ai désactivé cette ligne car mon formulaire était bien envoyé //mais sa réponse en AJAX n'était pas prise en compte } // Track the conversion trackAdWordsConversion(goal, submitFormCallback); // Ne laissez pas l'internaute attendre trop longtemps en cas de problème setTimeout(submitFormCallback, 1000); // Stoppe l'envoi du formulaire normal return true; //return false; // J'ai modifié cette ligne pour que mon formulaire en AJAX s'envoie correctement } catch(err) { // Pour s'assurer que le formulaire est envoyé malgré une erreur dans le code return true; } } function linkClick(link, goal) { try { // Une fonction qui redirige l'internaute qprès que l'événement de conversion a été envoyé var linkClickCallback = function() { window.location = link.href; } // Track the conversion trackAdWordsConversion(goal, linkClickCallback); // Ne laissez pas l'internaute attendre trop longtemps en cas de problème setTimeout(linkClickCallback, 1000); // Stoppe le lien sur le clic par défaut return false; } catch(err) { // Pour s'assurer que l'internaute est bien redirigé malgré une erreur dans le code return true; } } </script>
2/ Pour comptabiliser les clics
Ajoutez le code ci-dessous à votre lien :
onclick="return linkClick(this, new Goal([id de l'action], '[label de l'action]', 1, location.href));"
[id de l’action] et [label de l’action] sont bien sûr à remplacer par ceux fournis par Google Adwords lors de la génération de votre code de suivi de l’action de conversion.
Exemple pour un lien :
<a href="https://simplissite.com" target="_blank" onclick="return linkClick(this, new Goal(123456789, '123456789012-345678', 1, location.href));">Simplissite</a>
Exemple pour un e-mail :
<a href="mailto:info@simplissite.com" onclick="return linkClick(this, new Goal(123456789, '123456789012-345678', 1, location.href));">info@simplissite.com</a>
3/ Pour comptabiliser l’envoi du formulaire
Ajoutez le code ci-dessous à votre formulaire :
onclick="return submitForm(this, new Goal([id de l'action], '[label de l'action]', 1, location.href));"
[id de l’action] et [label de l’action] sont bien sûr à remplacer par ceux fournis par Google Adwords lors de la génération de votre code de suivi de l’action de conversion.
Par exemple :
<form action="#" method="post" id="formcontact" onsubmit="return submitForm(this, new Goal(123456789, '123456789012-345678', 1, location.href));">
Testé avec succès en juin 2015 avec Firefox 38 (Mac), Chrome 43 (Mac), Explorer 11 (Windows)
PS du 19/06/2015. Après avoir eu au téléphone un conseiller du support technique Adwords – très réactif et sympathique d’ailleurs – une piste à explorer peut être d’utiliser le code de tracking des conversions Analytics et d’importer les conversions créées dans Analytics dans le compte Adwords. Je n’ai pas encore essayé.
N’hésitez pas à me laisser vos commentaires.
Laisser un commentaire