[Javascript] funzione per attivare analytics... dov'è l'errore?

  • Creatore Discussione Creatore Discussione theseo
  • Data di inizio Data di inizio

theseo

Utente Attivo
22 Feb 2017
95
5
8
62
ciao, per far sì che le stat di analytics mi contassero negli EVENTI quante volte viene cliccato un pulsante di un form, ho preparato questa piccola funzione

Codice:
<input type="submit" name="Submit" value="Invia" onclick="gtag()">
<script>
function gtag() {
   'event', 'play', {'send_to': 'UA-miocodice','event_category': 'invia_email','event_label': 'invia_email'});
}
</script>

che mi sembra corretta, no? beh non manda nulla al gtag...
NB: la stessa sintassi

Codice:
 gtag() {
   'event', 'play', {'send_to': 'UA-miocodice','event_category': 'invia_email','event_label': 'invia_email'});
}

messa dentro un link di download PDF funziona perfettamente...
Chi sa darmi un aiuto?
graziee!!
 
Essendo l'input di tipo submit dovresti prevenire il comportamento di default....
Ossia quando premi il pulsante fai qualche azione, stoppa il comportamento effettui la chiamata che serve e poi prosegui... Più o meno la logica è questa!
 
grazie per la risposta ma... argh... mi spieghi meglio?
devo mettere prima il -> onclick="gtag()" ??
ma prima dove? non ci sono molti altri posti...
 
No che lo devi mettere prima, devi prevenire il refresh della pagina....
In JS utilizzando jQuery e.preventDefault();
 
allora devi fare un fake button tipo button
Ti spiego....
Il tuo input submit fallo diventare così
HTML:
<input type="submit" id="invia" class="hidden" name="Submit" value="Invia" >
<button type="button" onclick="gtag()" id="analytics">Clicca per Inviare</button>

function gtag() {
  $('#invia').removeClass("hidden");
 $('#analytics").addClass("hidden");   
'event', 'play', {'send_to': 'UA-miocodice','event_category': 'invia_email','event_label': 'invia_email'});
}

Sto dando per scontato che tu utilizzi bootstrap almeno per la UI...
 
Si lo so, infatti per inviare con il form devi fare un doppio click.... Se riuscissi a fare una chiamata in ajax il risultato è garantito...
allora prova a fare così... Togli la parte che ti ho inviato prima... ripristina il tuo file.....
HTML:
$('form').submit(function(e){
    e.preventDefault();

'event', 'play', {'send_to': 'UA-miocodice','event_category': 'invia_email','event_label': 'invia_email'});
  setTimeouf(function(){
          this.submit();
   },1500);
});
Prova così dovrebbe funzionare!
 
:-(( provato ora: il form invia di nuovo ma l'evento su analytics continua a non apparire... inizio a scoraggiarmi...
 
Vai così.. A me funziona perfettmente:
Codice:
onclick="gtag('event', 'generate_lead', {'event_category': 'Categoria','event_label': 'quello che vuoi'});"

Puoi metterlo dove ti pare, se lo devi piazzaere in un link, mettilo prima del href ovvero:
Codice:
<a onclick="gtag('event', 'generate_lead', {'event_category': 'Categoria','event_label': 'quello che vuoi'});" href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
 
no ma anche a me nei link funziona
è qua dentro che non va-->
<input type="submit" name="Submit" value="Invia" >
 
Puoi provare semplicemente così..
Codice:
<input onclick="gtag('event', 'generate_lead', {'event_category': 'Categoria','event_label': 'quello che vuoi'});" type="submit" name="Submit" value="Invia" >
Per lo stesso motivo del link potrebbe creare problemi se messo dopo il submit.
 
niente non va neanche così: il form parte ma l'evento non viene chiamato
non so proprio + cosa fare, le abbiamo provate tutte...
 
AHHHHHHHHHHHHHHH nooooooooooooo
contrordine: FUNZIONAAAAAAAAA
l'evento è arrivato, in ritardo ma è arrivato
quindi la soluzione è-->
input onclick="gtag(ecc ecc
grazie a tuttiiiii
 
  • Like
Reactions: otto9due

Discussioni simili