2017-03-13 9 views
0

Ich habe Probleme beim Verfolgen eines Klicks mit Google Tag Manager.Auslösen von Klicks in GTM mithilfe der virtuellen Ansicht und Zählen dieser als Ereignisziel in GA

Ich habe ein Klickereignis und einen Klick-Trigger eingerichtet. Die Bedingungen des Klick-Trigger sind: Click Class - Equals - next-step`

Screenshots: This is how I created the tag.This is the trigger

Derzeit ist das Problem ist, dass der Auslöser nicht ausgelöst.

+0

Können Sie einen Screenshot des HTML für den Klick bereitstellen, den Sie verfolgen möchten? – sdhaus

+0

Hallo, hier ist der Link für den Screenshot: http://imgur.com/a/pY5tV –

+0

Sie müssen mehr Debugging tun. Wenn Sie mehr in GTM debuggen und auf das Element klicken, das Sie verfolgen möchten, welche Werte sehen Sie während des Ereignisses "gtm.click" für die Variable "Click Classes"? Wenn Sie "Nächster Schritt" nicht sehen, wird Ihr Tag nicht ausgelöst. – nyuen

Antwort

0

Ihr Problem tritt auf, weil zwei verschiedene Elemente angeklickt werden können: Nächster Schritt und ng-Bindung.

Wenn Sie auf den Text selbst klicken, hat er die Klasse ng-binding.

enter image description here

Während, wenn Sie irgendwo anders auf die Schaltfläche klicken, wird die Klasse der nächsten Schritt haben.

enter image description here

Weil Ihre ng-Bindung ist kein einzigartiges Attribut von diesem Ereignis zu feuern, würde ich eine Datalayer Variable erstellen (läßt es Geordneter Knoten Klasse nennen) mit dem folgenden Selektor:

gtm.element.parentNode.className 

Dadurch wird der Klassenname des übergeordneten Knotens zurückgegeben, der auf das angeklickte Element verweist. Dies bedeutet, dass Benutzer, die auf ng-binding klicken, die Elternknoten-Klasse von 'next-step' haben.

Mit diesem können Sie zwei Trigger für Ihr Tag haben.

1) Click Classes equals next-step 

2) Parent Node Class equals next-step 

Da Trigger mit einer ‚oder‘ Bedingung arbeitet, bedeutet dies, dass, wenn eine dieser beiden Ergebnisse zufrieden ist, dann wird es den Tag ausgelöst.

+1

Hallo, sdhaus, Du bist Genie! Da ich DataLayer noch nicht kenne, folgte unsere Lösung. Wir haben einen eindeutigen Klassennamen zu beiden div-Containern hinzugefügt. Hier ist der Screenshot: http://imgur.com/a/73PUO und daneben haben wir als Trigger den Klassennamen "equals" in "contains" geändert, da im Fall von equals dieser nicht ausgelöst wurde. –

Verwandte Themen