首页 > 解决方案 > 如何从 URL 中删除 PII(带有 GTM 的 GA4)

问题描述

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

标签: google-tag-managergoogle-analytics-4pii

解决方案


假设您已经在页面上设置了 GA4 属性和 GTM。

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

单击右上角的 +(加号按钮)以添加新变量。 在此处输入图像描述

作为变量类型,选择自定义 JavaScript。在左上角写下新变量的名称,我使用了Redacted Page Location. 在此处输入图像描述

现在我们离如何删除 PII 越来越近了。在自定义 JavaScript 部分插入应该返回编辑 URL 的 JS 函数。Mine 函数使用正则表达式将来自 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

选择新添加的自定义变量,它的名称应该在 Value 字段中,并保存您的 GA4 标签。 在此处输入图像描述.

现在让我们测试一下。切换到预览模式并打开您的网站。在 GA 头中转到 GA4 属性的调试视图,等待 page_view 在时间轴中弹出(也许您必须再次重新加载页面),单击它并展开 page_location 变量。您应该会看到编辑后的 ​​URL。 在此处输入图像描述

就这些,尽情享受吧!


推荐阅读