在Google跟踪代码管理器中,我将其设置为跟踪对包含特定类的元素的点击所获得的一些数据,并在Google Analytics(分析)中记录事件。对于文本链接来说,它似乎工作得很好,但是如果链接中还有用于图像,图标等的其他标签,我就会遇到问题。例如,以下代码会很好:
<a href="link.html" class="track_this" data-tracking-info="my info">Click here</a>
但这不起作用:
<a href="link.html" class="track_this" data-tracking-info="my info">
<span class="icon click-here"></span>
</a>
如果您单击文本,则类似的操作将起作用,但如果您单击图标,则将无效:
<a href="link.html" class="track_this" data-tracking-info="my info">
<span class="icon click-here"></span> Click Here
</a>
我知道我可以将“ track_this”类添加到图标的范围中,但是在更复杂的情况下它会变得非常混乱。想象一下,有一个带有图标的缩略图和位于其下方的一些文本都包裹在一个标签中。我必须在图像标签上放置该类和跟踪信息,图标的跨度,文本的div等。
有更好的方法吗?谢谢!
答案 0 :(得分:4)
如果可以看到您的GTM的设置方式,那么我可以更明确地说一下,但是我的猜测是您正在使用“所有元素”触发器来捕获这些链接点击,并过滤“点击类别”或“点击元件”。问题是,当链接标记(<a></a>
)包含另一个元素,例如<span>
时,即使触发了链接打开,GTM记录为收到点击的元素还是跨度,而不是链接。
如果要解决此问题,有两种选择,其中两种都应该起作用。
第一个是切换为使用“点击-只是链接”触发类型,然后对“ track_this”类进行过滤。对于此触发器,GTM允许单击事件“冒泡”,直到它们击中链接元素为止,然后针对该链接而不是被单击的元素测试触发器。只需使用此触发器类型就可以对您的所有三个样本起作用。
另一个选择是对“点击-所有元素”触发器使用更高级的过滤器。如果您修改触发器,使其触发“某些点击”,然后使条件“点击元素与CSS选择器匹配:”
.track_this, .track_this *
然后,它将注册对具有track_this类的任何元素的单击,以及对 这些元素中的任何元素的单击。