Google 跟踪代码管理器 (GTM) 预览已损坏。无法读取 null 的属性(读取“替换”)

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

Google 跟踪代码管理器 (GTM) 的预览模式看不到打开的页面。
GTM 和 Google Analytics 停止对这些页面工作。

https://tagassistant.google.com/ 中的摘要块为空或列出的事件并非来自我网站的所有页面。

我在浏览器的 DevTools 中看到以下 JavaScript 错误

Uncaught TypeError: Cannot read properties of null (reading 'replace')
这是由我的网页上的 document.referrer 等于 null 引起的。

google-analytics google-tag-manager
1个回答
0
投票
解决方法

打开浏览器的 DevTools > Console,找到所有出现此错误的失败位置。

目前有两个。

单击每个中的第一个蓝色行,您将看到失败的代码。

在其上设置一个断点,然后从上下文菜单中编辑此断点以添加条件。

使用此代码作为条件

a != null ? false : (a = '')

看到断点现在有条件了。

解决方法已完成。 GTM 的预览模式现在可以正常工作了。

警告

有问题的代码已被压缩,将来

a

 函数参数的名称可能会更改为其他名称。相应地替换 
a

原因

您的网页可能有

document.referrer

 等于 null。
这可能是由 302 HTTP 重定向引起的,该重定向可能是由某些棘手的身份验证或网站上的其他内容触发的。
您可以使用
Redirect Path Chrome 扩展 来查看它。

Google Chrome 的

GTM 的 Tag AssistantTag Assistant Companion 扩展 中存在相同的代码错误。

他们的代码使用

document.referrer

,如下所述。

d = { href: e, title: f, referrer: q(d.document.referrer), readyState: d.document.readyState };
这会导致在代码中调用字符串的

null.replace(...)

,如下所示

​function q(a) { return a.replace(/([\?&])gtm_debug=x&/, "$1").replace(/[\?&]gtm_debug=x($|#)/, "$1") }
    
© www.soinside.com 2019 - 2024. All rights reserved.