Google 优化:如何 A/B 测试,使用和不使用 Javascript 脚本

Google Optimize: How to A/B test, with and without a Javascript script

我的网站中有以下脚本:

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

我在Google中没有找到“删除”它的方法优化:有没有办法查看源代码,select这个脚本并“删除”它以进行测试? (我只看到 select 带有 ID 或 class 元素的方法,但看不到脚本)。

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

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

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

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

未来寻找问题解决方案的人请注意:我在这里也问过同样的问题: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 优化变体上)以注入脚本:

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

目前这对我来说效果很好。

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

--更新--

加载Javascript脚本除Google优化页面之外的所有地方运行 实验.

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

所以在全局网站头部添加了以下内容:

<!-- 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>