Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Google标记管理器从URL中删除查询字符串_Javascript_Google Analytics_Google Tag Manager - Fatal编程技术网

Javascript 使用Google标记管理器从URL中删除查询字符串

Javascript 使用Google标记管理器从URL中删除查询字符串,javascript,google-analytics,google-tag-manager,Javascript,Google Analytics,Google Tag Manager,我正试图通过从URL中删除查询字符串来整理Google Analytics中的分析,但这已经分为三个要求 我想删除GA分析中显示的查询字符串 活动UTM仍然需要工作 阻止UTM中收集的任何PII击中GA 我发现了许多JavaScript方法(见下文)可以执行任务3,但我不知道这个实现是否会影响任务1和任务2 这就引出了我的问题 JavaScript方法是否会阻止所有查询字符串完全命中GA,从而破坏我的活动UTMs? 谢谢你的帮助 JavaScript附在下面 function(){ var pa

我正试图通过从URL中删除查询字符串来整理Google Analytics中的分析,但这已经分为三个要求

  • 我想删除GA分析中显示的查询字符串
  • 活动UTM仍然需要工作
  • 阻止UTM中收集的任何PII击中GA
  • 我发现了许多JavaScript方法(见下文)可以执行任务3,但我不知道这个实现是否会影响任务1和任务2

    这就引出了我的问题

    JavaScript方法是否会阻止所有查询字符串完全命中GA,从而破坏我的活动UTMs?

    谢谢你的帮助

    JavaScript附在下面

    function(){
    var params=['name','email'];
    var a=document.createElement('a');
    var param,
    qps,
    眼压,
    爱
    我
    a、 href={{Page URL}};
    如果(a.搜索){
    qps='&'+a.search.replace('?','')+'&';
    对于(i=0;i-1){
    ioe=qps.indexOf('&',iop+1);
    qps=qps切片(0,iop)+qps切片(ioe,qps长度);
    }
    }
    a、 search=qps.slice(1,qps.length-1);
    }
    返回a.href;
    }
    
    如果使用这样的函数(
    window.location={{{clean URL}}
    )更新DOM中的页面位置,自然会导致重新加载,从而导致很多问题

    如果您使用此函数的结果设置与页面和引用相关的UA参数,那么它不会影响与点击中的这些参数无关的任何内容。例如,您可能希望清除
    页面
    字段,该字段不只是页面点击:


    utm参数之类的东西是从普通DOM/BOM中提取的(例如
    window.location
    )除非您自己在Analytic的自定义过滤器中进行提取,否则不会从服务器端的稍后位置计算和。

    此外,您还可以使用Google Analytics内置的机制,通过在视图设置中设置排除URL查询参数来删除URL参数。文件如下:
    不需要JS。

    谢谢您的帮助。请原谅我的无知,但你能澄清一下吗?我该怎么办?我是使用我现有的JS还是需要另一个JS来生成这个{{clean url}}?如果您将脚本定义为GTM customjs变量,我会使用clean url作为脚本的名称。。如果您希望去除所有参数,并且仍然不影响UTM参数在其他注释中的使用方式,那么您可以从URL类型变量开始,但是您可能仍然需要添加回要跟踪的特定URL参数,即用于站点搜索的参数。您希望使用过滤变量覆盖哪些分析参数,以及您希望在变量中使用何种过滤级别,这些都是您可以分别在标记和变量定义中处理和调整的内容。
    function() {
    
    var params = ['name', 'email'];
    var a = document.createElement('a');
    var param,
      qps,
      iop,
      ioe
      i;
    
    a.href = {{Page URL}};
    
    if (a.search) {
    
    qps = '&' + a.search.replace('?', '') + '&';
    
    for (i = 0; i < params.length; i++) {
    
      param = params[i];
      iop = qps.indexOf('&' + param + '=');
    
      if(iop > -1) {
    
        ioe = qps.indexOf('&', iop + 1);
        qps = qps.slice(0, iop) + qps.slice(ioe, qps.length);
    
      }
    
    }
    
    a.search = qps.slice(1, qps.length - 1);
    
    }
     return a.href;
    }