问题标签 [google-optimize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-analytics - 如何在 Google AMP 中跟踪多个 Google Optimize 实验?
amp-experiment
文档演示了在 AMP 中跟踪多个实验。但是,如何amp-analytics
正确配置?
在文档的报告部分,它提到了一个VARIANTS
占位符,该占位符将替换为实验和变体名称的序列化列表。Google Optimize 团队的这个答案似乎表明它可以<amp-analytics>
像这样添加到请求中:
但是,当我尝试此操作时,Google Optimize 不会记录任何访问。似乎要求experiment
请求包含xid
/ xvar
(用于实验 ID/变体):
这很好用,但是我一次只能运行一个实验,因为xid
/xvar
是硬编码到特定实验的。
有什么想法可以运行多个实验吗?
javascript - 在不使用 GTM dataLayer 的情况下触发自定义事件以激活 Google Optimize
语境
我正在 Angular 2 应用程序上实施 Google Optimize。我发现许多资源说明必须在自定义事件上触发优化(例如http://blog.stack.foundation/2017/06/02/using-google-optimize-with-angular/)。
这是因为 Angular2 需要先在客户端渲染,然后 Optimize 才能应用变化,所以页面加载不是一个合适的触发器。这是通过以下代码段完成的:
并Evaluate on custom event: optimize.activate
在 Google Optimize 中指定。
问题
Datalayer 是 Google Tag Manager 的一项功能,目前我的网站没有,最好不会实现 Google Tag Manager。是否有另一种方法可以触发不需要 GTM 的自定义事件?我可以格式化 GA 事件以激活 Optimize 而不是 GTM dataLayer 事件吗?
javascript - 跨设备/浏览器分配一致的 GA clientId 有什么负面影响
语境
我正在实施 Google Optimize,并希望确保用户在他们的所有设备/浏览器中都被分配相同的变体。Google Optimize 最初使用 Google Analytics clientId 来决定应该应用什么变体(从那时起使用 cookie)。
为了实现这个结果,我将我的网站用户 UUID 分配为 clientId,如下所示:
ga('create', ..., 'clientId': 'MY_USER_ID')
这具有预期的结果,并且似乎不会对我的 GA 数据造成任何负面影响。
问题
由于覆盖默认 clientId,我的 GA 数据是否有任何负面影响,这是否被认为是可接受的做法?
google-analytics - 用于优化 ID 的 GTAG
什么gtag.js
相当于以下analytics.js
Google Optimize 集成:
我在 Google 网站上找不到任何文档。
我看过的一些地方: https ://developers.google.com/analytics/devguides/collection/gtagjs/migration https://developers.google.com/analytics/devguides/collection/analyticsjs/experiments
更新 - 2018 年 8 月 23 日 - 使用来自@AnkDasCo 的回复
此外,我的 Optimize 实验配置为SERVER_SIDE
这意味着我不希望 Optimize 将实验和变体分配给站点。相反,这是我想从我身上控制的东西。我在页面中注入了以下内容:
但是,变量分配仍然由 Optimize 控制,而不是由上面的脚本控制。在上面的示例中,我要求将其设置为变体 id 1
,但它没有发生。
即使在单个语句中设置实验/变体,因为这也不起作用:
任何想法我可能会错过什么。任何帮助将不胜感激。
javascript - 在 Google Optimize 中插入动态 onClick 事件脚本
我需要通过 Google Optimize 实验添加一个 html 元素、一个按钮,并且它必须根据实验执行某个脚本。
我试图通过以下方式做到这一点:
inlineScript 变量的内容:
然而,这两种方法都不起作用。当我从后端对代码进行硬编码时,它工作正常,但需要通过 Optimize 动态添加。是否有另一种方法可以将动态 html 脚本添加到 html 中?
ab-testing - 全站谷歌优化重定向测试
我有一个网站 www.website.com,我们在另一个系统 shop.website.com 上构建了相同的网站。我们想测试新系统是否可以转换,所以我们想设置一个谷歌优化。有没有办法重定向所有子链接?像 www.website.com/* 到 shop.website.com/* 这样的结构完全相同。因此,如果人们访问 www.website.com/page3,它将访问 shop.website.com/page3。我们有 700 多个页面,因此进行 700 种不同的重定向实验基本上是不可能的。我阅读了所有指南文章和互联网相关论坛,但找不到简单的方法。有什么帮助吗?
我将不胜感激。
google-analytics - 在 Google Optimize 实验的 Google Analytics 报告中使用数据变量
用例
- 我在 dataLayer 变量中有一个客户 ID。
- 我在 Google Optimize 上运行了一个实验。
- 我想看看哪个客户 ID 看到了哪个实验。
谢谢你,祝你有美好的一天!
javascript - 谷歌优化 - 仅在没有发生重定向时执行 JS
我正在运行 Google Optimize 重定向测试。我需要推迟在 PageA(非重定向页面)上执行一些 JavaScript,直到我知道 Google Optimize 没有重定向到 PageB。谷歌优化是否触发了一些事件,告诉浏览器重定向和/或不重定向?谢谢
google-analytics - 在没有 Google Optimize 的情况下填写 ExperimentID 和 ExperimentVariant
我们有一个通过我们自己的实现运行的服务器端实验。
我们从 Google Optimize 开始,通过他们的服务器端实验解决方案跟踪实验,但我们似乎无法进行一些跟踪(不是标准设置)。现在我们要测试问题是否出在我们的 Optimize 实现上。
我们想要做的是在 fieldsObject 中填充 ExperimentId 和 ExperimentVariant,而不使用 Google Optimize 的实现。
我们在 GA 实施中使用了跟踪代码管理器,在调试过程中,我们确实看到了 ExperimentId ("expId") 和 ExperimentVariant ("expVar") 正在设置,但由于某种原因,GA 没有在我们的报告中获取它。
是否可以在不使用 Google Optimize 的情况下在 GA fieldsObject 中设置 expId 和 expVar?如果是这样,我如何以及如何在我的报告中看到它们?
javascript - 为什么 Google Optimize javascript 在页面刷新时不执行?
我正在使用 Google Optimize 通过注入一行 Javascript 在页面上运行 A/B 实验:
当我运行实验并在新的隐身窗口中查看目标页面时,“1”成功登录到控制台。
但是如果我刷新页面,控制台不会记录任何内容。我可以在页面之间导航,但没有任何记录。
如果我关闭隐身会话并开始一个新会话,我只能让它再次工作。
好像Optimize 只是在会话用户第一次看到变体时才执行脚本?
每次在会话中查看页面时,如何让 JS 运行?
注意:我尝试将代码放在正文和头部,在开始标记之后和结束标记之后。