GTM启动并运行,主要UA标记以及ClickListener标记。
为了减少宏的数量,我使用dataLayer变量宏来表示事件类别,动作,标签,值和&交互,因此它们可以用于许多规则和标签。
所以我想从一个链接/按钮收集数据(添加到收藏夹),我添加一个规则来使用{{event}}等于gtm.click来监听点击,{{Event Label}}等于Add_to_Fav(标签我通过onclick推送到DL。
到目前为止一切都很好,但我需要创建另一个UA标记(Track Type - 事件),该标记触发先前制定的规则。这是我的问题,使用这种方法似乎创建了许多标签。如果我有另外20个链接,我想从中收集数据,我是否需要继续创建这样的标签。当然,这会影响页面加载速度,所有页面上都会触发许多标签。
希望一切都清楚。
答案 0 :(得分:2)
如果您需要检索链接文本以将其用作事件标签,则不需要许多事件跟踪标记,这将非常冗长。相反,你可以使用自定义的javascript宏 - 关于它们的一个很酷的事情是你可以在自定义函数中使用现有的宏。
如果您创建单击侦听器或链接单击侦听器,则会创建一些宏 - 其中一个是{{element}},这是接收单击的DOM元素。
现在创建一个“自定义java脚本”类型的宏,它必须包含一个带有返回值的匿名函数。
检索点击链接文本的函数的准系统版本将是
function() {
var el = {{element}};
return el.innerText;
}
(实际上你不需要变量分配,你可以直接使用{{element}}。innerText)。
您可以为宏命名,例如Linktext并在您的单个事件跟踪代码中使用宏{{Linktext}},它将动态设置为所单击链接的文本值(尽管您可能需要检查内部文本的跨浏览器支持,或者可能使用innerHTML代替在你的用例服务可能是相同的目的)。