如何从 URL 中删除 PII(GA4 w/GTM)

问题描述 投票:0回答:2

PII(个人身份信息)绝对不应该发送到 Google Analytics,这不仅违反了 GA 使用条款,而且还会泄露敏感的用户数据。那么,在使用 Google 跟踪代码管理器 (GTM) 和 Google Analytics 4 (GA4) 时,如何从 URL 中删除 PII,例如查询字符串参数(电子邮件、用户 ID 等),甚至从位置路径中删除 PII?

google-tag-manager google-analytics-4 pii
2个回答
7
投票

假设您已经在网页上设置了 GA4 媒体资源和 GTM。

因此,让我们为 GA4 配置创建新标签。作为测量 ID,我使用查找表变量(当您有多个环境(如测试、登台、生产)时,它是完美的 - 所有这些环境都有单独的测量 ID,但使用相同的 GTM 安装脚本),但您可以简单地编写 G-XXXXXXXXX此处的测量 ID。然后展开要设置的字段部分,添加

page_location
作为字段名称,然后单击值旁边的乐高按钮。 enter image description here

单击右上角的+(加号按钮)添加新变量。 enter image description here

选择自定义 JavaScript 作为变量类型。在左上角写下新变量的名称,我使用了

Redacted Page Location
enter image description here

现在我们越来越接近如何删除 PII。在自定义 JavaScript 部分中插入 JS 函数,该函数应返回经过编辑的 URL。我的函数使用正则表达式将 URL 中的 PII 替换为一些经过编辑的文本。我想要从 url 路径中编辑的参数是公司、项目、史诗和任务的 ID;和查询参数中的 userId。

function() {
  var url = window.location.toString();
  var filter = [
    {
      rx: /company\/\d+/g,
      replacement: 'company/REDACTED_COMPANY_ID'
    },
    {
      rx: /projects\/\d+/g,
      replacement: 'projects/REDACTED_PROJECT_ID'
    },
    {
      rx: /epics\/\d+/g,
      replacement: 'epics/REDACTED_EPIC_ID'
    },
    {
      rx: /tasks\/\d+/g,
      replacement: 'tasks/REDACTED_TASK_ID'
    },
    {
      rx: /userId=\d+/g,
      replacement: 'userId=REDACTED_USER_ID'
    },
  ];
  
  filter.forEach(function(item) {
    url = url.replace(item.rx, item.replacement);
  });
  
  return url;
}

假设我的页面的 URL 是

https://www.example.com/company/2247/projects/2114/epics/19258/tasks/19259?userId=1234567
,此函数将其编辑为
https://www.example.com/company/REDACTED_COMPANY_ID/projects/REDACTED_PROJECT_ID/epics/REDACTED_EPIC_ID/tasks/REDACTED_TASK_ID?userId=REDACTED_USER_ID

选择新添加的自定义变量,其名称应位于“值”字段中,然后保存您的 GA4 代码。 enter image description here

现在我们来测试一下。切换到预览模式并打开您的网站。在 GA 中,前往 GA4 属性的“调试视图”,等待 page_view 在时间轴中弹出(也许您必须再次重新加载页面),单击它并展开 page_location 变量。您应该会看到经过编辑的 URL。 enter image description here

就这样,尽情享受吧!


0
投票

考虑使用其他非 PII 分析提供商,这些提供商允许在不存储用户 PII 数据的情况下进行跟踪和分析,例如:您的分析

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.