问题标签 [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.

0 投票
1 回答
4860 浏览

google-analytics - 在 localhost 上运行时 Google Optimize 未触发

我正在尝试按照这些说明在 JavaScript 中获取 Google Optimize 实验数据。但是我没有得到回调,也看不到调试器中发生的任何事情。

链接说明使用gtag方式配置GA,所以我按照https://developers.google.com/gtagjs/devguide/snippet设置gtag,按照https://support.google.com/配置Optimize optimize/answer/7513085?hl=en使用方法 1:使用全局网站代码 (gtag.js) 安装 Optimize

我想展示我正在使用的确切代码,但由于我是在 React 中使用 Next.js 服务器端渲染进行的,因此与纯 HTML + JS 相比,原始代码有一些额外的东西。源代码如下所示:

此代码生成一个结果页面,该页面启动分析并跟踪 pageView,就像它应该的那样,当我在 Google Optimize 控制台中执行“运行诊断”时,它会打开页面,检查 JavaScript 并报告:

优化已正确安装

在此页面上验证 Optimize 安装时未检测到重大问题。

我还安装了 Google Chrome Tag Assistant 插件,它报告 Google Optimize 标签已正确安装。

我可以在网络日志中看到以下调用:

我还验证了google_optimize全局变量是否已创建,并且它有一个.get()方法。如果我(在调试器网络面板中)https://www.google-analytics.com/gtm/js?...查看请求的 http 响应,我实际上可以看到代码中嵌入了正确实验的 Google 优化实验数据。

optimize.callback所以一切看起来都很好,除了这个事件似乎是一个完全没有操作的事实。它根本不做任何事情。而且我不知道如何访问我在调试器的 http 响应中看到的实验数据。

0 投票
2 回答
1097 浏览

google-tag-manager - dataLayer.push 正在添加新项目而不是更新现有项目

我正在使用 Google Optimize 运行一些 A/B 测试,并试图从我的应用程序中更新 dataLayer 中的值,但不是更新它,而是添加一个新对象。根据文档,如果密钥已经存在,它应该更新。

我错过了什么吗?

例如:

0 投票
1 回答
2235 浏览

javascript - 安装谷歌标签管理器后如何修复网站性能?

我们的网站上运行着谷歌标签管理器。我曾经将它以及其他一些非紧急脚本放在页面加载时 3.5 秒的 javascript“setTimeout”中,这是我用来在许多性能测试工具上给出出色性能分数的技巧。但是,由于 setTimeout 的延迟,同样在运行的 Google Optimize 不会在我们的网站上验证 - 它仅在页面加载时运行且没有计时器延迟时才有效。

在将 GTM 移出超时后,它使我们的性能得分从 90 左右下降到 20 到 40 之间。

我知道这可能是由于在 GTM 中加载了什么,但我没有能力不在那里加载其中的一些项目。

我想知道在这种情况下是否有其他方法可以提高页面速度性能,在这种情况下我需要 GTM 和 Google 优化页面加载。我们网站上的大多数其他性能项目已经优化,这就是为什么这个下降如此令人震惊。

我试图将此 GTM 标记移动到页脚,并将其设置为使用 window.onload 加载,但没有运气。此外,它已经使用异步进行了设置。

这就是我现在设置的,但它正在扼杀性能。

0 投票
0 回答
40 浏览

google-optimize - 如何使用通配符或变量设置 URL

在 Google 优化中,我们试图对包含变量的网页进行测试,例如:

https://yyy.com/lang/{lang}/{city}/list

....其中 list 会有变体,例如list_vA,list_vB等等.. 用于重定向测试。

到目前为止,在 Google Optimize 的界面中,我们已经看到有多种条件可用于执行不同的操作,但我们不确定哪些条件适用于这种情况并且我们的测试不起作用。

任何人都可以提供有关如何设置正确的编辑器链接以及如何正确设置重定向 URL 的教程?

0 投票
2 回答
1997 浏览

javascript - SPA 上的 Google 优化 JS API

我的 SPA 上的 Google Optimize JS API 有问题,回调仅在页面重新加载时运行,但是在向后和转发到特定页面时,回调没有运行。这是场景:

1) 我重新加载应用程序并转到我的页面进行 A/B 测试:mysite.com/testpage

2)正在运行以下代码:

并被useVariant(variantId)称为设置正确的variantId。

3) 我单击或导航离开该页面,然后单击/导航回到 mysite.com/testpage,这是一个 SPA,请注意。

4)gtag()代码被重新调用,但回调useVariant()没有被运行。

5)WTF。

6)如果我使用 CMD+R 重新加载页面(是的,我使用的是 Mac),代码将按照第 1 点运行)并且一切正常。

我尝试了以下方法:

A. 使用重置数据层google_tag_manager['xxx'].datalayer.reset()

B. 使用未定义的回调重新推送事件gtag('event', 'optimize.callback', undefined)

C. 重置datalayer = [] manually

D.optimize.callback从数据层中移除事件

E. 以上的任意组合(有时会产生一些有趣的结果)

所以问题在第5点:WTF?非常感谢任何建议/想法。

谢谢!

0 投票
1 回答
61 浏览

google-optimize - 我们如何在 Google 优化中运行两个 A/B 测试,但只让访问者进入其中一个 a/b 测试?

例如,我们有两个页面主页和联系页面,并且在谷歌优化中都有自己的变体。因此,当访问者访问主页并从谷歌优化获取新变体时,当访问者重定向到联系页面并查看 Versa 时,它不应该看到新的联系页面变体。希望你明白这一点。

0 投票
1 回答
1564 浏览

google-analytics - 解决 Google Analytics 和 Google Optimize 之间的配置不匹配问题?

所以我使用谷歌分析、谷歌优化和谷歌标签管理器。我也觉得我可能会失去理智。

出于性能原因,我们不想通过 GTM 添加 google 优化脚本。我们想对其进行硬编码。但是每次我尝试时,安装都不起作用。具体来说,当我在谷歌优化设置页面上单击“运行诊断”时,我收到一条错误消息

页面上的所有 Analytics 跟踪代码都必须具有相同的跟踪器配置设置。[...] 以下跟踪器配置属性没有相同的配置:alwaysSendReferrer。

所以我进入我方便的 Analytics 调试器,找到该alwaysSendReferrer属性,并注意它设置为true. 伟大的。我编辑了我传递给谷歌优化初始化脚本的配置对象,并添加了alwaysSendReferrer: true. 到目前为止,一切都很好。除了......我得到同样的错误。

我认为我们的分析设置可能有问题,所以我摆脱了硬编码的谷歌优化脚本,而是通过谷歌优化 GTM 标签包含它——出乎意料的是,它运行得很好。我想“好吧,我只需找到 GTM 正在添加的脚本并将其复制/粘贴到代码库中”,但它当然会在其生命的一英寸内被缩小,并且将 javascript 与其余标签解开将是一个整体其他努力。

我可以访问{{Default UA Settings}}GTM 中的变量,谷歌的文档真的希望我将该对象传递给 GTM 中的官方“Google Optimize”标签。这行得通(我已经测试过了),但如前所述,我们不想那样做。

如果有人知道 Google Optimize 配置对象应该是什么样子,那将对我有很大帮助。

现在我的看起来像这样(删除了识别细节)

我已经尝试了false, "true", 1, 基本上我能想到的所有其他东西(我非常有信心 Google Analytics 在我们的网站上将此属性设置为 true )——我唯一的猜测是我可能正在将值设置为错误的地方,谷歌优化没有看到它。帮助?

0 投票
0 回答
1229 浏览

jquery - 有没有办法在 Google Optimize 中插入 JQuery/Javascript?

我正在使用 Google Optimize 将 jQuery 添加到我的网站。我在控制台中收到此错误:

无法在“DOMWindow”上执行“postMessage”:提供的目标原点 ('') 与接收窗口的原点 ('') 不匹配

有没有办法解决这个问题?

这是我的 jQuery:

0 投票
2 回答
982 浏览

google-analytics - 使用 Google Analytics 跟踪优化防闪烁片段超时

如何使用 Google Analytics 成功检测和跟踪优化防闪烁片段超时?

我注意到该dataLayer变量hide["GTM-XXXXXX"]true何时超时,false如果不是。

问题是没有与此变量更改相关的事件。您将如何跟踪超时?

我的目标是每次片段超时时向 Google Analytics 发送一个事件。

0 投票
0 回答
14 浏览

google-optimize - 在 Google Optimze 中使用号召性用语跟踪标题更改

我真的找不到太多关于您有一个带有标题的框并在该框中调用操作的示例的文章。我们设置了一个 A/B 测试来切换元素容器上的标头语言。

主要是我们有一个购物车页面,其中有一个带有 3 个捐赠选项的捐赠框。我们不会更改选项。我们所做的改变是页面上的语言。但是,页面上还有一个“签出”按钮。

当用户选择捐赠选项(这是一个按钮)时,它会发回购物车并将捐赠金额添加到购物车中。

因此,如果它正在拉动的转换是有人点击捐赠选项或结帐按钮的转换,我很难破译。我如何告诉跟踪转换中的差异?

有任何想法吗?如果标题导致用户单击捐赠金额或者他们只是要结帐,我将如何判断成功。我是否需要添加某种其他触发器来跟踪标题的成功并且他们单击了其中一个捐赠按钮?