我正在尝试从 Google 跟踪代码管理器注册的单页应用程序 (SPA) 中的 URL 中删除个人身份信息 (PII)。
URL 的格式/customer/1234/invoice/5678
为,我想将其发送给 GA4/customer/(redacted)/invoice/(redacted)
我所做的是以下内容:
- 在 GTM 中,我创建了一个自定义 JavaScript 变量
Page location without ids
,其调用内容如下。(注意:{{Page URL}}
在这里使用,但也尝试window.location.href
过同样的效果。)
function() {
// including timestamp for debugging purposes
var url = Date.now() + {{Page URL}}.replace(/\d{4}/g, '(redacted)');
// outputting to console for debugging purposes
console.log(url);
return url;
}
- 在 GA4 配置标签(在 上触发
All Pages
)中,我打开Fields to set
并将字段名称更改page_location
为{{Page location without ids}}
. - 我在 GTM 中开始预览,并让 GTM 加载网站。Tag Assistant 出现在页面上,GTM 报告它已连接。
- 到目前为止一切似乎都很好:
- 我打开网站上的开发者控制台,看到由我的 GTM 脚本生成的带有时间戳的起始页 URL 的大约 20 行输出。
- 在 GTM 的 Tag Assistant 中,我可以在 GTM 和 GA4 容器中的变量下看到修改后的 URL。(在分配给 的 GTM 容器中,在分配给(Page Location)
Page location without ids
的 GA4 容器中。dl
- 在 GA4 中,我可以在 DebugView 中看到修改后的 URL,分配给
page_location
Parameter。
- 但是,当我导航到 URL 中带有 id 的页面时:
因此,出于某种原因,我无法将编辑后的 URL 推送到 GA4 的dl
参数中,而是 GA4 继续使用编辑后的初始(起始页)URL。