2013-11-27 12 views
5

Ich verwende Google Tag Manager, um Tags auf meiner Website zu feuern. Die Tags werden in allen Browsern mit Ausnahme von Internet Explorer (jeder Version) ordnungsgemäß ausgelöst. Was passiert, ist, dass der GTM-Makro in meinem benutzerdefinierten Javascript bei Verwendung von Internet Explorer nicht ausgefüllt wird. Wenn ich die Seite jedoch aktualisiere, werden sie aufgefüllt. Aufgrund dieser Tatsache nehme ich an, dass das Tag ausgelöst wird, bevor das DOM vollständig geladen ist. Ich verwende {{event}} equals gtm.dom in der "Regel". Ich habe auch versucht, {{event}} equals gtm.load in der "Regel" zu verwenden, aber das funktioniert auch nicht. Hier ist, wie ich das GTM Makro, Regel und Tag definiert habe. Was noch merkwürdiger ist, ist, dass wenn ich das Tag im "Vorschau" -Modus in GTM teste, es jedes Mal funktioniert, keine Probleme. Aber sobald ich es veröffentliche, funktioniert es nicht mehr, wenn ich die Seite nicht aktualisiere. Was mache ich falsch?Ich benutze Google Tag Manager, um Tags auf meiner Website zu feuern.Variablen "undefiniert" in benutzerdefinierten Code für jede Version von Internet Explorer

Makroname: PDP-ProdID
Makrotyp: Benutzerdefinierte JavaScript
Individuelle Javascript:

function() { 
    var pdp_prodid = document.getElementsByName('sku')[0].value; 
    return pdp_prodid; 
} 

Regelname: FullSite_Product_Detail_Page - Footer
Bedingungen:
{{url}} contains gohastings.com/product/
{{event}} equals gtm.dom

Tag Name: Fetchback_Smart_Pixel-Remarketing-PDP
Tag-Typ: Benutzerdefinierte HTML-Tag
HTML:
<iframe src='{{protocol}}://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products={{PDP-ProdID}}' scrolling='no' width='1' height='1' marginheight='0' marginwidth='0' frameborder='0'></iframe>

Firing Regeln: FullSite_Product_Detail_Page - Footer

Site: qa.gohastings.com (Ich habe jedoch einige Probleme auf meinem QA-Website, so nutzen Sie diesen Link, wie es werden Sie direkt zu einer Produktdetailseite zu nehmen.
http://qa.gohastings.com/product/BOOK/Fifty-Shades-of-Grey-Bk-1/sku/287464232.uts (Produktdetailseite)

Ergebnis-Tag auf der ersten Seite zu laden
<iframe width="1" height="1" src="http://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products=undefined" frameBorder="0" marginWidth="0" marginHeight="0" scrolling="no">

Ergebnis-Tag nach Neuladen der Seite
<iframe width="1" height="1" src="http://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products=287464232" frameBorder="0" marginWidth="0" marginHeight="0" scrolling="no">

Antwort

3

hatte ich ein ähnliches Problem Tracking von E-Commerce-Transaktionen mit Google Analytics. Das Ereignis gtm.dom würde ausgelöst werden, bevor ich die Transaktionsdetails eingerichtet habe. Am Ende habe ich ein benutzerdefiniertes Ereignis ausgelöst, nachdem ich die Datenschicht eingerichtet habe, anstatt das Ereignis gtm.dom zu verwenden.

Sie können die Regelbedingung {{event}} equals myPageLoad ändern, dann, nachdem die Seite geladen wird, und Sie wissen alles fertig ist, dass man (mit $(document).ready(...) in jQuery, zum Beispiel) benötigen, rufen:

dataLayer.push({ event: 'myPageLoad' }); 
+0

Matthew, danke für die Information. Ich werde es versuchen. –

+0

Da ich keinen Zugriff auf den Quellcode habe und meine IT-Abteilung momentan keine Zeit hat, Änderungen vorzunehmen, musste ich kreativ werden. Also habe ich mein CMS verwendet, um den Footer auf meiner Website zu aktualisieren, um dieses Skript als letztes zu integrieren. ' 'Es funktioniert jetzt perfekt in allen Browsern. –