0

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

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

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

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

希望这一切都清楚。

4

1 回答 1

2

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

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

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

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

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

(实际上你不需要变量赋值,你可以直接使用 {{element}}.innerText )。

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

于 2014-02-10T15:41:39.683 回答