0

我正在尝试从 Google 跟踪代码管理器注册的单页应用程序 (SPA) 中的 URL 中删除个人身份信息 (PII)。

URL 的格式/customer/1234/invoice/5678为,我想将其发送给 GA4/customer/(redacted)/invoice/(redacted)

我所做的是以下内容:

  1. 在 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;
}

脚本

  1. 在 GA4 配置标签(在 上触发All Pages)中,我打开Fields to set并将字段名称更改page_location{{Page location without ids}}. 配置标签
  2. 我在 GTM 中开始预览,并让 GTM 加载网站。Tag Assistant 出现在页面上,GTM 报告它已连接。
  3. 到目前为止一切似乎都很好:
    • 我打开网站上的开发者控制台,看到由我的 GTM 脚本生成的带有时间戳的起始页 URL 的大约 20 行输出。
    • 在 GTM 的 Tag Assistant 中,我可以在 GTM 和 GA4 容器中的变量下看到修改后的 URL。(在分配给 的 GTM 容器中,在分配给(Page Location)Page location without ids的 GA4 容器中。dl
    • 在 GA4 中,我可以在 DebugView 中看到修改后的 URL,分配给page_locationParameter。
  4. 但是,当我导航到 URL 中带有 id 的页面时:
    • 控制台输出编辑后的 ​​URL,很好。(实际上是 4 次,不知道为什么。) 控制台日志
    • 但是,collect调用的有效负载显示参数的(编辑的)起始页URL dl。不包括实际页面 URL(无论是否编辑)。 网络选项卡
    • GTM 显示由 GTM 容器记录的历史事件,其中Page location without ids变量中的编辑 URL 很好。然而,Page PathPage URL变量没有被编辑,不知道这是好是坏。 GTM 容器
    • GTM 为 GA4 容器显示带有(已编辑)起始页面URL 的dl(页面位置)参数的页面视图! GA 容器
    • 并且 DebugView 中的 GA4 也将起始页面URL 显示为page_location参数。 调试视图

因此,出于某种原因,我无法将编辑后的 ​​URL 推送到 GA4 的dl参数中,而是 GA4 继续使用编辑后的初始(起始页)URL。

4

1 回答 1

0

嗯,不,真的不需要。GA4 配置+pageview 标签只需要调用一次。之后,它开始观察历史变化并跟踪大多数 SPA 上的每次综合浏览量。您只需要使用真正的页面视图触发器,并且如果您的 SPA 不发布导航历史更改,则仅添加更多。但是绝大多数 SPA 引擎不再犯这个错误了。

您实际上应该尝试实施它,然后提出您的问题。当您遇到非理论问题时更新您的问题,我们会提供帮助。

于 2021-12-08T01:08:08.650 回答