venerdì 11 luglio 2014

AdWords e Google Forms

Ci sarebbero tante cose da dire, troppe... evitiamo...

Nel corso di una campagna adwords per cui usiamo i moduli di Google (pagina A integra un form che manda al modulo google che registra i dati) mi è stato chiesto di inserire il codice per monitorare le conversioni.

La conversione avviene nel momento in cui l'utente attiva il submit del form... ma in quel momento cosa posso fare? Di solito la pagina che registra i dati del form può caricare il JavaScript delle conversione ma in questo caso non abbiamo accesso a quel codice... Sul server in oggetto per di più (usiamo degli hosting gratuiti insieme al dominio) non c'è PHP, quindi una pagina che prenda i dati del form e li rispedisca non funziona.

Javascript non ha conoscenza dei parametri passati in POST, ma Google accetta anche GET, e dove c'è una GET c'è un URL, che JS sa leggere.

Di fatto la soluzione è quasi banale... Si cambia nel form porincipale il method da POST a GET, si crea una pagina intermedia che carica il codice JS per la conversione e con un evento onLoad che aggiorni l'URL della pagina...

<html>
<head>
<script type="text/Javascript">
function myFunction(){
var pathArray=window.location.search;
window.location.replace("https://docs.google.com/completeformURL"+pathArray);
}
</script>
</head>
<body onload="myFunction()">
You are being redirected, please wait.

<!-- Google Code for Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
//Google conversion variables
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
//some more code from Google 
</noscript>

</body>
</html>

window.location.search contiene tutta la parte di URL dal ? in pi (compreso).

--------------------

Some code for intergrating an Adwords conversion check if you use a google form in your page, introduce an intermediate page and use the above code to redirect using JS. (You need to use GET instead of POST on your main form to make this work).  

Nessun commento:

Posta un commento