我需要建议。目前,我有网站。主页上有书签而没有重新加载页面(onclick)。通常我不会有问题,但我无法捕捉有关像elementID,elementClasses等博彩公司的相关数据(不可能改变它)..我附加屏幕以获得更好的想法。网站有许多语言版本因此无法使用点击文本。
我建议在每个书签上使用它:
onclick="dataLayer.push({'event': 'name-of-bookmark'});"
这是正确的方法还是你有更好的解决方案?
答案 0 :(得分:0)
是谷歌分析专家。说到GTM,dataLayer是信任事件的最佳人选。
是的,语法onclick="dataLayer.push({'event': 'name-of-bookmark'});"
是正确的,您可以使用该事件触发您的事件
答案 1 :(得分:0)
我总是希望尽可能避免使用内联javascript,我相信可以在不使用任何dataLayer推送的情况下获得您想要的内容,这样可以实现更清晰的实现。关键是自定义dataLayer值宏。
<div>
<h2>My First Title</h2>
<a href="#"><img src="picture.png" /></a>
</div>
<div>
<h2>My Second Title</h2>
<a href="#"><img src="picture.png" /></a>
</div>
我们想要跟踪某人点击第一个链接的时间,但似乎不是我们可以用来捕获链接的任何默认宏。这是自定义宏的来源
使用以下设置创建新宏:
Macro Name = "elementFirstSiblingInnerHTML"
Type = "DataLayer Variable"
Variable Name = "gtm.element.parentElement.firstElementChild.innerHTML"
然后,您可以使用以下设置创建触发器:
Trigger Name = "My First Title Click"
Choose Event = "Click"
Fire On {{elementFirstSiblingInnerHTML}} equal to "My First Title"
Viola,你现在有一个触发器,当有人点击第一个链接没有任何类,ID等时。宏通过查看元素的父亲的第一个孩子的innerHTML来工作。等于&#34;我的第一个标题&#34 ;;触发触发器。
这只是一个例子,但你几乎可以通过点击设置的gtm.element DataLayer变量访问整个DOM。它只围绕点击的元素。
gtm.element.parentElement.firstElementChild.innerHTML
你会使用(假设click事件是dataLayer中的第8个事件)
dataLayer[7]["gtm.element"].parentElement.firstElementChild.innerHTML
如果您向我提供指向您所指的页面的链接,我可能会想出一个适用于您的情况的自定义宏。此外,这里也是一个很棒的博客。 http://www.simoahava.com/analytics/macro-magic-google-tag-manager/(列表中的第14项)