【问题标题】:GTM Reduce number of tagsGTM 减少标签数量
【发布时间】:2014-02-10 13:17:43
【问题描述】:

GTM 启动并运行,主 UA 标记与 ClickListener 标记一起到位。

为了减少宏的数量,我将 dataLayer 变量宏用于事件类别、动作、标签、值和交互,因此它们可以用于许多规则和标签。

所以我想从一个链接/按钮收集数据(添加到收藏夹),我添加一个规则来监听点击,使用 {{event}} 等于 gtm.click 和 {{Event Label}} 等于 Add_to_Fav(标签我通过 onclick 推送到 DL。

到目前为止一切顺利,但我需要创建另一个 UA 标记(跟踪类型 - 事件),它会根据之前制定的规则触发。这是我的问题,使用这种方法似乎会创建很多标签。如果我有另外 20 个链接要从中收集数据,我是否需要继续创建这样的标签。当然,这会影响页面加载速度,因为所有页面上都会触发许多标签。

希望一切都清楚。

【问题讨论】:

  • 澄清一下,您正在寻找一种动态设置事件标签的方法,因为这是链接跟踪中唯一改变的部分?
  • 嗨,Eike,我的推理正确吗?我必须继续为每个点击事件创建标签和规则吗?
  • 不,请参阅下面的答案。

标签: macros google-analytics google-tag-manager data-layers universal-analytics


【解决方案1】:

如果您需要检索链接文本以将其用作事件标签,则不需要很多事件跟踪标签,那将非常冗长。相反,您可以使用自定义 javascript 宏 - 它们的酷之处在于您可以在自定义函数中使用现有宏。

如果您创建点击监听器或链接点击监听器,这将创建一些宏 - 其中之一是 {{element}},它是接收点击的 DOM 元素。

现在您创建一个“自定义 java 脚本”类型的宏,它必须包含一个带有返回值的匿名函数。

检索点击链接文本的函数的准系统版本是

function() {
var el = {{element}};
return el.innerText;
}

(其实不需要变量赋值,直接使用 {{element}}.innerText 即可)。

您为宏命名,例如Linktext 并在您的单个事件跟踪代码中使用宏 {{Linktext}} ,它将动态设置为单击链接的文本值(尽管您可能需要检查跨浏览器对 innerText 的支持,或者可能改用 innerHTML在您的用例中可能具有相同的目的)。

【讨论】:

  • Great Eike,这很有意义,并且减少了所需的标签数量。一旦创建了宏(如下),我是否需要创建一个将文本传递给 GA 的标签?函数(){返回{{元素}}.innerText; }
  • 也许我遗漏了一些东西,它的所有设置都没有通过调试模式下的新标签传递。我将 {{Linktext}} 作为事件标签传递,并在我之前的答案中使用自定义 Javascopt 宏。有什么想法吗??
  • 我对此进行了测试,因此我很确定它可以工作(但是,在这对您有用之前,您可能应该不接受答案)。该宏应该使用 Analytics 事件跟踪标签进入事件标签字段(它不会自行跟踪任何内容,它只是动态设置事件标签,因此您不必使用许多事件跟踪标签)。
  • 我发现我使用的是 clickListener 而不是 Link click Listener。更改后,我几乎可以运行它,但我看不到实时/预览模式事件中显示的哈希标签链接。此外,某些事件不提供事件类别或操作值。我想我会根据关于这个主题plus.google.com/104258622890980927916/posts/VY3mdBruzJp 的另一个对话为内部、出站和图像点击设置不同的标签
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-05
  • 1970-01-01
  • 2018-12-01
  • 2017-10-22
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
相关资源
最近更新 更多