Events (Ereignisse) doppelt

Derzeit Tracke ich mein View_Item so es erscheint aber im Echtzeitbericht nicht als Ereignisse sondern als PageView.

<script>
window._paq = window._paq || [];
var productInfo = {{VAR_ECommerce-Items}};

window._paq.push(['setEcommerceView',
    productInfo[0].item_id,
    productInfo[0].item_name,
    productInfo[0].item_category,
    productInfo[0].price
]);
</script>

Wenn ich es so umändere:

<script>
window._paq = window._paq || [];
var productInfo = {{VAR_ECommerce-Items}};

window._paq.push(['setEcommerceView',
    productInfo[0].item_id,
    productInfo[0].item_name,
    productInfo[0].item_category,
    productInfo[0].price
]);

window._paq.push(['trackEvent', 'eCommerce', 'Produktansicht', productInfo[0].item_name
]);
</script>

Dann sind es zwar als Ereignisse im Echtzeitbericht aber diese immer doppelt und danach noch als PageView.

Wenn ich es so mache:

<script>
window._paq = window._paq || [];
var productInfo = {{VAR_ECommerce-Items}};

window._paq.push(['setEcommerceView',
    productInfo[0].item_id,
    productInfo[0].item_name,
    productInfo[0].item_category,
    productInfo[0].price
]);

window._paq.push(['trackPageView']);
</script>

Dann ist es auch nicht besser!

Wo ist mein Fehler?

Hallo,
weil … alle _paq.push sowie alle bei jedem Webpage-Aufruf getriggert werden. Es fehlt eine Regel, wann(!) diese getriggert werden sollen.

Beispiel: _paq.push(['trackEvent' ...) wird zum Beispiel in einem <a href="..." onclick="_paq.push(['trackEvent' 'Link', 'Click', this.href]);">Link</a> verwendet. Wenn der Link angeklickt wird, dann wird dies als Matomo-Event getrackt.

Es ist auch möglich Event-Tracking mittels einer JavaScript-Regel zu gestalten:

if (value === true) {
  _paq.push(['trackEvent' 'Kategorie', 'Element', 'Value');
}

Da musst du dich über JavaScript schlau machen.

Naja normal sollte doch eigentlich das “setEcommerceView” eigentlich ein Ereigniss auslösen oder?

Nein, setEcommerceView ist für die Ansichten bei Produkten und kein Ereignis :

-)

Also zweite Spalte von rechts … für die Konversionsrate benötigt

Danke @Thomas_Zeithaml

wie bekomme ich es hin das das Ereignis nicht doppelt kommt?

image

Also hier hat der Besucher eine Kategorie angeschaut und dann auf ein Produkt geklickt was dann das Ereignis doppelt auslöste und dann den den Seitenbesuch anzeigt.

dies wurde im TagManager mit diesen Code gemacht:

<script>
window._paq = window._paq || [];
var productInfo = {{VAR_ECommerce-Items}};

window._paq.push(['setEcommerceView',
    productInfo[0].item_id,
    productInfo[0].item_name,
    productInfo[0].item_category,
    productInfo[0].price
]);

window._paq.push(['trackEvent', 'eCommerce', 'Produktansicht', productInfo[0].item_name
]);
</script>

Das schaut nicht falsch aus. Man müsste das mal im Tag Manager Debugger anschauen, warum das zweimal gefeuert wird. Wie gesagt, setEcommerceView erzeugt keine Seitenansicht oder Ereignis - sondern nur ein View auf Produkt / Kategorieebene. Dein TrackEvent feuert das Ereignis ab. Ich vermute, es wird an zwei Stellen getriggert. Das sieht man sehr schön im Tag Manager - also im Debug-Modus.

Also im TagManager sehe ich das das view_item 2x gefeuert wird, mir ist aber nicht klar wieso.

Ich habe den Trigger view_item nur 1x genutzt und habe wie oben gesagt auch nur einmal den TAG_view-item am laufen.

Wie kann es dennoch sein das es 2x kommt.

Hier die Config das TAG:

Hier die Config des Trigger:

Hier der Datalayer aus dem TagManager:

Vielleicht hilft das?

Es bestehen immer die Möglichkeiten erstens den Seitenquelltext zu prüfen (über das Kontextmenü im Browser) und zweitens die Netzwerkanalyse im Browser-Inspektor zu überwachen, bei der jedes Triggern von Matomo als Request an Matomo zu sehen ist.

Ich mache das etwas anders …

Ich befülle im Quellcode den Datalayer - also außerhalb vom Tag-Manager:

<script>
window._mtm = window._mtm || [];
window._mtm.push({'productInfos':{'sku': '8182790134362', 'name': 'GoPro Hero 4 Silver', 'price': 429.99, 'category': 'Kameras'}});
</script>

und dann halt die Werte richtig füllen

Im Tag Manager habe ich nur eine Variable mit dem Datalayer angelegt.

Im Tag feuer ich bei einer Seitenansicht dann den EcommerceView ab - bei jeder Seitenansicht.

Ja so mache ich es auch.

Sehe da keinen Unterschied.