1

语境

我正在 Angular 2 应用程序上实施 Google Optimize。我发现许多资源说明必须在自定义事件上触发优化(例如http://blog.stack.foundation/2017/06/02/using-google-optimize-with-angular/)。

这是因为 Angular2 需要先在客户端渲染,然后 Optimize 才能应用变化,所以页面加载不是一个合适的触发器。这是通过以下代码段完成的:

window['dataLayer'].push({'event': 'optimize.activate'});

Evaluate on custom event: optimize.activate在 Google Optimize 中指定。

问题

Datalayer 是 Google Tag Manager 的一项功能,目前我的网站没有,最好不会实现 Google Tag Manager。是否有另一种方法可以触发不需要 GTM 的自定义事件?我可以格式化 GA 事件以激活 Optimize 而不是 GTM dataLayer 事件吗?

4

2 回答 2

1

尽管 dataLayer 是一个跟踪代码管理器功能,Optimize 使用该变量来发送信息,您不需要添加 GTM 即可使用 Google Optimize

您只需创建一个符合Data Layer - GTM 规范的 dataLayer 变量,而不是一个简单的 javascript 变量。休息会工作。

还要确保不要覆盖 dataLayer 变量并将其声明在优化代码之上。

于 2018-08-20T12:03:53.987 回答
0

您可以同时将多个事件推送到其中dataLayer吗?问因为它对我有用,因为这些值可用于不同的触发器。我正在使用它来跟踪两个不同的事件和用户 ID。

<script>
    var dataLayer = window.dataLayer = window.dataLayer || [];
    dataLayer.push({'event': 'Click Map Event'});
    dataLayer.push({'event': '5Sec Event'}); 
    dataLayer.push({'event':'UserID Event','userID': '12483'});
</script>
于 2018-10-20T10:29:59.420 回答