2016-06-24 13 views
2

Ich bin ein Entwickler in codiva.io a java ide for students. Ich benutze den Codemirror-Editor. Ich möchte Änderungen verfolgen (insbesondere eine Pause oder ein Timeout nach der letzten Bearbeitung). Ich hatte zuvor Google Analytics verwendet, und für Ereignisse werden wir ga.send() tun. Jetzt benutze ich Google Tag Manager, für Klicks und andere Ereignisse scheint es, dass wir den Tag Manager selbst konfigurieren können. Mit Tag-Manager kann ich nicht finden, wie das Tracking für dieses implementieren.Google Tag Manager benutzerdefinierte Ereignisverfolgung

Codemirror generiert ein On-Change-Ereignis. Löschen Sie bei jeder Bearbeitung einen vorherigen Timer und richten Sie einen Timeout-Trigger ein, der nach 200 ms ausgeführt wird. (Die Zusammenstellung wird Tauchgang an dieser Stelle sein, und ich möchte sicherstellen, dass die Anzahl der dieses Ereignis verfolgen passiert)

+0

Bitte ergänzen Sie Ihre Frage mit Codebeispielen von dem, was Sie versucht haben. – nyuen

+0

In der Google-Suche konnte ich keine Dokumentation zur Implementierung von benutzerdefiniertem Tracking für den Tag-Manager finden. Wenn Sie Zeiger haben, wird es helfen. – JackDaniels

Antwort

5

Wenn ich Sie richtig verstehe:

Verwenden Sie Ereignis ändern, um eine benutzerdefinierte Ereignis haben geschoben zu data:

dataLayer.push({event:'compile'}); 

Dann einen Trigger vom Typ „benutzerdefinierten Ereignisses“, stellen Sie Ereignisnamen erstellen zu „übersetzen“ und verwenden Sie einen Google Analytics-Ereignis-Tracking-Tag zu schießen (wenn Sie die GA-Tag-Vorlage verwenden Sie kann den Hit-Typ über ein Dropdown-Menü auswählen).

Die "push" -Methode des DataLayers ist nicht die native Array-Methode, sondern eine spezielle Implementierung durch den GTM-Code; GTM verwendet dies, um Änderungen an der DataLayer zu überwachen, und das Schlüsselwort "event" weist GTM an, seine interne Datenstruktur zu aktualisieren, damit neue Werte für Tags und Trigger verfügbar werden.

Mit dem gleichen Push Sie auch als Eventcategory etc passieren können Daten zu:

dataLayer.push({ 
    event:'compile', 
    eventCategory:'myCategory', 
    eventAction:'myAction', 
    .... 
}); 

Sie dann neue Variablen des „data“ Art erstellen und den Namen des Schlüssels Sie zugreifen möchten eingeben. Sie können die Variable dann in Ihrem Ga-Tag verwenden, indem Sie sie entweder aus der Autosuggest-Liste auswählen (wenn Sie auf das Symbol rechts neben den Feldern eventCategory usw. klicken) oder den Variablennamen mit geschweiften Klammern eingeben, zB {{myVariableName}} .

Denken Sie auch daran, dass sich das Schlüsselwort "event" in der dataLayer nicht auf Google Analytics-Ereignisse bezieht, außer in dem Sinne, dass es zum Auslösen der Ereignisverfolgung (sowie anderer Tags) verwendet werden kann. "Ereignis" ist nur ein Schlüsselwort in GTM, das angibt, dass Daten aktualisiert wurden und die Tags jetzt auf die neuen Daten zugreifen können.

+0

Danke. Ist dataLayer eine globale Variable, die erstellt wird, wenn das GTM-Skript enthalten ist, oder muss ich es erstellen? – JackDaniels

+0

Der DataLayer wird von GTM erstellt; Sie können es jedoch vor dem GTM-Tag deklarieren, wenn Sie Werte haben, auf die beim Seitenaufruf zugegriffen werden muss (d. h. sobald das GTM-Tag zum ersten Mal ausgeführt wird). Weitere Informationen finden Sie im Entwicklerhandbuch: https://developers.google.com/tag-manager/devguide –

+0

Wie legen wir die Ereignisaktion, die Ereigniskategorie usw. fest? – JackDaniels