提问人:swygerts 提问时间:9/26/2020 最后编辑:jnovackswygerts 更新时间:9/26/2020 访问量:2659
我们是否可以将“消息”用作(自定义)事件来触发 Google 跟踪代码管理器中的代码?
Can We Use "Message" as an (custom) Event to Fire a Tag in Google Tag Manager?
问:
我有一个被推送到我的数据层,目前没有事件键。id
dataLayer.push()
我知道最佳做法是使用事件键,例如,然后在 Google 跟踪代码管理器界面中,设置一个在自定义事件发生时激活的触发器。'event': 'idPush'
idPush
有没有办法让我在看到通用时仍然激活触发器?'Message'
答:
1赞
Ben Larson
9/26/2020
#1
我不能 100% 确定,因为我没有阅读 GTM 源代码,也找不到任何谈论这个问题的文章,但我有理由确定这是无法做到的。
我试过了:
- 创建一个具有正则表达式匹配的触发器,该触发器将匹配任何内容,包括任何内容。
Custom Event
.*
- 匹配 ,因为根据预览窗格,变量设置为 for events。
undefined
_event
undefined
Message
不幸的是,这些都不起作用,预览模式只是说.这让我认为 GTM 只检查当 a 被推入 .No tags were evaluated
Message
event
dataLayer
评论
0赞
Ben Larson
9/26/2020
您可能知道,当页面加载时,您可以使用 GTM 将 javascript 注入到页面上,因此也许您可以以某种方式将其用作解决方法,直到您可以再次更改页面的代码。这可能是不可能的,这取决于你的页面是如何工作的,这只是一个想法。
1赞
Eike Pierstorff
9/26/2020
#2
不。在发生事件之前,GTM 不知道消息的内容 - 消息只是调试器告诉您已将某些内容添加到全局 dataLayer 变量(存在于浏览器的全局命名空间中,而不是 GTM 的受限命名空间中)。偶数是更新 GTM 的内部状态,使其知道对 dataLayer 的更改和添加。
根据您的用例,您可以使用触发器类型来创建自己的事件 - 例如,将可见性触发器设置为您知道将在消息之后位于视口的元素,然后将考虑 dataLayer 的新值。或者,使用 setInterval 函数创建自定义 HTML 标记,该函数会定期将事件推送到 dataLayer。
虽然这些解决方案可能有效,但我认为它们实际上并不好。从长远来看,找到更改页面代码的解决方案几乎肯定比使用解决方法更令人头疼。
评论