更新数据层变量的方法是在“本机”GTM 事件发生时或自定义事件旁边推送变量。所以基本上你是对的。
至于您担心 DL 可能会获得许多条目 - 在任何情况下,dataLayer 都会在每次点击时获得一个新条目(GTM 会自行添加),因此您的变量的额外条目可能并不重要。
如果您仍然想避免这种情况,您可以更新全局 Javascript 变量并在 GTM 中使用它。Google Tag Manager 可以访问您页面上的所有变量(您仍然会在 dataLayer 中获得所有点击事件)。
dataLayer 还有一个set
方法可以让你直接写入 Datalayer,这显然是你要找的。您需要获取您的 GTM 实例,然后您可以设置值:
var gtm = window.google_tag_manager[{{Container ID}}];
gtm.dataLayer.set('balloonsPopped', undefined);
详细信息例如在Bouneous 文章中。您可以在自定义 HTML 标记中使用它来在点击事件触发您的标记之前更新点击计数。
页面加载时也会重置 dataLayer。每次网页浏览要收集 10 000 次点击需要一个单页应用程序的地狱。
这被标记为谷歌分析。如果您计划在 GA 中跟踪点击,请记住 GA 会话在 500 次点击后过期,因此结果可能不是您所期望的(而且免费版本每月只有 1000 万次点击,点击跟踪会很快耗尽这一点)。如果你想跟踪 GA 中的点击次数,那么你需要一个事件或其他东西来跟踪点击,所以事件的数量基本上就是你正在寻找的指标,或者你可以创建一个自定义指标并将其设置为GA 调用中的“1”(意味着每次调用都会加一)。