2017-04-05 3 views
1

Ich bin auf der Suche nach einer einfachen Möglichkeit, Formulareinreichungen genau zu verfolgen. Dies ist der Code, den ich derzeit verwende:GTM - Fire-Tag auf Formular einreichen (nur wenn Pflichtfelder ausgefüllt sind)

$(function() { 
     $('#form').submit(function() { 
     dataLayer.push({ 
      'event': 'GAEvent', 
      'eventCat': 'Form Submit - Create', 
      'eventAction': 'Form Submit Document', 
      'eventLabel': checked, 
      'eventValue': count, 
      'gaNonInt': false 
     }); 
     }); 
    }); 

Das Problem ist, dass das Tag ausgelöst wird, auch wenn das Formular nicht übermittelt wird. Wenn beispielsweise ein erforderliches Feld nicht ausgefüllt wird und auf die Schaltfläche zum Übermitteln geklickt wird, sieht GTM den Übermittlungsklick als Vorlage an. Gibt es eine einfache Möglichkeit, das Tag nur auszulösen, wenn alle erforderlichen Felder ausgefüllt sind?

Vielen Dank im Voraus.

+0

Können Sie Ihr Formular HTML und jede JavaScript-Validierung veröffentlichen. –

+0

@JoshCronin Ich kann jedoch die Form massiv gestalten. Ich bin mir nicht sicher, wo die JS-Validierung gespeichert ist. Diese Formulare sind in Drupal 7 Core integriert. Ich habe festgestellt, dass alle erforderlichen Felder "ben? Tigt" in der Benennung ihrer Klassen? Könnte das irgendwie benutzt werden? – Kellen

+0

Wenn Sie nur das erforderliche Attribut betrachten, wird das Problem wahrscheinlich nicht vollständig gelöst. Es gibt möglicherweise andere Validierungsregeln, die verhindern, dass ein Formular gesendet wird, selbst wenn das Feld Text enthält. –

Antwort

3

Sie könnten versuchen, GTMs "native" Submit-Trigger anstelle des jQuery-Codes zu verwenden und sicherstellen, dass das Kontrollkästchen "check validation" aktiviert ist.

Die Javascript-Validierung in Ihrem Formular unterdrückt das Standardverhalten der Übergabeschaltfläche und ruft das Übergabereignis nur auf, wenn die Überprüfung bestanden wurde. Mit der Option "check validation" sollte der GTM-Formular-Submit-Trigger erkennen können, dass das Standardverhalten verhindert ist, und die Tags nur auslösen, wenn die Validator-Funktionen das submit-Ereignis aufrufen (ich sage "sollte", weil ich anekdotisch denke, dass Formular Submit Trigger ist nicht immer 100% zuverlässig, aber es könnte einen Versuch wert sein).

enter image description here

Verwandte Themen