我在React和react-router-dom中有一个SPA;我正在尝试使用 Matomo 标签管理器跟踪历史记录更改的页面视图。
我遵循了这两个指南:
当路线更改时,我使用 useEffect 挂钩更新文档标题:
useEffect(() => {
document.title = title;
}, [title]);
正在跟踪页面浏览量,但之前路线的标题会被记录并显示在 Matomo Dashboard 上。
问题在于 History Change 标签在页面标题更新之前被触发。
我尝试将标题推送到数据层
_mtm.push({ CustomPageTitle: title })
_paq.push(["setDocumentTitle", title])
但在这两种情况下,它们都是在触发历史记录更改后推送的。
我发现跟踪正确标题的唯一方法是关闭历史更改标签并使用自定义事件以编程方式跟踪页面视图,例如:
_mtm.push({ event: "my-page-view" });
这个错误,我无法使用
_mtm.push({ event: "mtm.PageView" });
有没有办法使用 Matomo 标签管理器来做到这一点?
我在跟踪前一页标题时遇到了与跟踪代码管理器相同的问题,因为一旦网址发生更改,历史记录更改就会触发。我通过在标签的高级设置中添加 1 秒延迟来解决这个问题。跟踪页面视图需要一秒钟的时间,这对我来说是可以接受的,并且现在具有正确的页面标题。