javascript - Google Optimize : How to A/B test, 带和不带 Javascript 脚本

标签 javascript wordpress google-optimize

我的网站中有以下脚本:

<script type="text/javascript" src="https://code.evidence.io/js/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjE2OTh9.2mZpV00Ls3Wgrl7Knm-Bh2z-I7lPaX_5b4d-RbuWl90"></script>

我在 Google Optimize 中找不到“删除”它的方法:是否可以查看源代码、选择此脚本并“删除”它以进行测试? (我只看到选择带有 ID 或类的元素的方法,但没有看到脚本)。

如果没有,我最好的办法是从我的网站上删除该脚本并将其添加到 Google 优化全局 Javascript 部分。

但我不知道如何将该脚本放入 function(){ }

不确定这个想法是否真的有意义。

实际上,我发现这个想法有问题:我找不到如何将 Javascript 代码添加到整个网站,因为它似乎准备测试单个页面。

Screenshot: Google Optimize Global Javascript section

注意 future 寻找问题解决方案的人:我在这里也问过同样的问题:https://support.google.com/optimize/thread/84843254?hl=en

最佳答案

所以 a "community specialist" gave me the solution .我希望在这里总结它可以帮助其他人:

If you want to delete a element in the page, that's not possible. The script has already been executed, removing the element does not do anything.

解决方法是删除网站中的脚本。

然后将以下代码添加到全局 Javascript(在 Google 优化变体上)以注入(inject)脚本:

const scriptEl = document.createElement('script');
scriptEl.src = 'https://.....';
document.head.appendChild(scriptEl);

目前这对我来说非常有效。

啊,我还没有找到在整个网站上测试脚本的方法,所以我必须创建几个实验来代替。

--更新--

用于加载 Javascript 脚本的脚本除 Google 优化页面之外的任何地方我们正在运行实验的地方。

在我的具体案例中,我意识到上述解决方案是不够的,因为我需要整个网站上的脚本来捕获网站上的每日用户数。

所以在global网站的head中添加了如下内容:

<!-- Load Javascript script globally except on the page where we are testing it with Google Optimize -->

<script>

  if(window.location.href.indexOf("/URL-OR-PART-OF-THE-URL-1/") > -1) {
    // (If the URL contains the above, load nothing)
  }
  else if(window.location.href.indexOf("/URL-OR-PART-OF-THE-URL-/") > -1) {
    // (If the URL contains the above, load nothing)  
  }
  else { 
    // Loads Javascript Evidence pixel    
    (function () {
    var params = {}; // If you want to pass anything, to the called function
    var script = document.createElement("script");
    script.type = "text/javascript";
    if (script.readyState) {
        script.onreadystatechange = function () {
            if (script.readyState == "loaded" || script.readyState == "complete") {
                script.onreadystatechange = null;
                theFunctionInsideExternalScript(params);
            }
        }
    } else {
        script.onload = function () {
            theFunctionInsideExternalScript(params);
        }
    }
    script.src = "https://SCRIPT-URL-TO-LOAD-GOES-HERE";
    document.getElementsByTagName("head")[0].appendChild(script)
    })();
  }

</script>

关于javascript - Google Optimize : How to A/B test, 带和不带 Javascript 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64970930/

相关文章:

javascript - 如何使用 "this"对任何图像应用操作?

php - 如何在wordpress的自定义插件中获取页面id

preview - 强制特定的测试变体作为谷歌优化中的预览

google-analytics - 此页面上未正确安装ID为GTM-…的容器的Google Optimize代码段

javascript - 如何将 JS 脚本标签添加到 React App 的 ComponentDidMount 中?

javascript - 如何返回数组中的非重复值?

javascript - 内部(私有(private))函数和闭包

javascript - Ol3 功能的唯一标识符

php - 使用我的插件功能将表单数据放入我的数据库中

php - 从 WooCommerce 获取产品描述?