1

我使用 GoogleTagManager 脚本和 dataLayer 对象。我在文档中读到dataLayer 对象必须在 GTM 脚本上方填充。但是我需要在用户选择产品时添加产品详细信息,并且它会在 GTM 脚本加载后发生。如果我使用 dataLayer.push(chosenObject) 这个动作会调用谷歌标签管理器脚本吗?它会起作用吗?

4

1 回答 1

2

是的,您可以随时将变量推送到 dataLayer,“诀窍”在于如何从标签中的 dataLayer 访问数据(另外,如果您在 GTM 代码上方声明 dataLayer,则不称为“推送”-您将其声明为变量,以便稍后推送)。

如果您想在页面加载后立即使用它,则有必要在 dataLayer 中声明数据 - 标准页面浏览触发器将在 GTM 代码加载后立即运行(即在页面完成加载之前),因此显然 GTM 可以仅访问代码中之前的数据。

在 GTM 中触发标签需要一个事件(不要与 Google Analytics 事件或 Javascript 事件混淆,GTM 中的事件只是一个保留的变量名称)。

GTM 隐式产生了一些事件——页面加载事件、DOM 就绪、点击和提交事件。

如果稍后您想触发一个元素来响应您推送到 dataLayer 的值,您需要一个自定义事件:

dataLayer.push({
'event':'i_pushed_a_value',
 'payload' : 'this is my data'
})

(请不要说数据以键->值对的形式出现)。

现在您可以有一个触发事件的触发器i_pushed_a_value,并且您可以使用类型为 dataLayer 的自定义变量(输入键,在本例payload中,作为变量配置中的键)来保存您的数据。

于 2015-04-24T15:29:51.160 回答