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

Removing Query Strings from the URL Using Google Tag Manager

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

  1. 我想删除在 GA 分析中显示的查询字符串。
  2. 广告系列 UTM 仍然需要工作。
  3. 阻止 UTM 中收集的任何 PII 影响 GA。

我发现了很多 JavaScript 方法(见下文)可以完成任务 3,但我不知道这个实现是否会影响任务 1 和 2。

这引出了我的问题;

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

感谢您的帮助!

JavaScript附在下方

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;
}

如果您使用这样的函数 (window.location={{clean URL}}) 的结果更新 DOM 中的页面位置,您自然会因重新加载而导致很多问题。

如果您使用此函数的结果来设置与页面和引荐来源网址相关的 UA 参数,那么它不会影响与这些参数无关的任何内容。例如,您可能希望清除 page 字段,它不仅仅出现在页面点击中:

像 utm 参数之类的东西是从服务器端的正常 DOM/BOM(例如 window.location)和 sent as separate parameters and are not calculated from page related parameters 中提取的,除非您在 Analytic 的自定义过滤器中自己进行提取。

您还可以使用 Google Analytics 内置机制通过在视图中设置 排除 URL 查询参数 来删除 URL 参数设置。文档在这里:https://support.google.com/analytics/answer/1010249?hl=en 无需 JS。