Hacer que Contact Form 7 trabaje con el codigo de tracking de conversión de google (adwords conversion tracking)

Resulta complicado con tanto cambio en google, ya que hace que la mayoría de la documentación en blogs esté desactualizada. De hecho quien sabe si mientras lees esto ya no funciona!! 😉 Google ha actualizado recientemente el código de JavaScript que te brinda cuando creas un evento de conversión. El Formulario de contacto 7 también ha desaprobado la compatibilidad con la antigua forma en que solía manejarlo, con la pestaña de configuración avanzada añadiendo on_submit: «goog_report_conversion(window.location.href);».

Los pasos a seguir actualmente para obtener métrica de conversiones en los formularios del plugin wordpress Contact Form 7 son:

CREAR UN CÓDIGO DE CONVERSION (TRACKING CODE) EN TU PLATAFORMA ADWORDS:

Esto es bastante simple, imagino que ya has hecho esto si estás leyendo esta página. No obstante, se verá algo como esto:

<!– Event snippet for <mi conversion>
In your html page, add the snippet and call gtag_report_conversion when someone clicks on the chosen link or button. –>
<script>
function gtag_report_conversion(url) {
var callback = function () {
if (typeof(url) != ‘undefined’) {
window.location = url;
}
};
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘<your adwords code>’,
‘event_callback’: callback
});
return false;
}
</script>

Este codigo debe ser copiado en cada formulario de contacto (al final)

AÑADIR FUNCION A NUESTRO WORDPRESS

A continuación añadiremos una funcion a nuestro wordpress (en el archivo functions.php, al final de todo el código, por ejemplo):

add_action( ‘wp_footer’, ‘mycustom_wp_footer’ );

function mycustom_wp_footer() {
?>
<script type=»text/javascript»>
document.addEventListener( ‘wpcf7mailsent’, function( event ) {
gtag_report_conversion();
}, false );
</script>
<?php
}

Y con esto tus conversiones ahora deberían rastrearse y no es necesario hacer nada en la sección avanzada del formulario. La función creada en functions.php solo enviará el formulario cargado en el DOM cuando se haga clic en el botón Enviar.

NOTA: Si hay más de un formulario cargado en la página (con una ID diferente y cosa no habitual por otra parte) deberas modificar la funcion que has añadido a WordPress en functions.php