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