Matomo (Piwik) 在 React App 中跟踪错误 URL
Matomo (Piwik) tracks wrong URL in React App
我有一个基于 React 的 SPA,react-router
使用浏览器历史记录 API 来处理位置变化。我还安装并配置了 Matomo(以前称为 Piwik)。
我编写了一个中间件,它监听路由器的 @@router/LOCATION_CHANGE
动作,并在每次触发此类动作时调用 Matomo 跟踪器的 .trackPageVisit()
。
问题是,Matomo 每次都以某种方式只跟踪第一页的 URL。
因此,如果我使用 http://localhost
输入然后移动到 http://localhost/page
,Matomo 将跟踪 http://localhost
两次,而不是后者是 page
。当输入 /page
并移动到 /login
时,我会在报告中看到 /page
被跟踪了两次。这使我得出一个结论,即 Matomo 无法通过我的配置中的 history.pushState
以某种方式处理浏览器的历史操作。我正在寻找可能是什么原因的想法。
事实证明,Matomo 本身并不支持 pushState。
您需要使用 setCustomUrl
手动完成,然后调用 trackPageView()
.
可在此处找到更多内容:
https://matomo.org/blog/2017/02/how-to-track-single-page-websites-using-piwik-analytics/
我有一个基于 React 的 SPA,react-router
使用浏览器历史记录 API 来处理位置变化。我还安装并配置了 Matomo(以前称为 Piwik)。
我编写了一个中间件,它监听路由器的 @@router/LOCATION_CHANGE
动作,并在每次触发此类动作时调用 Matomo 跟踪器的 .trackPageVisit()
。
问题是,Matomo 每次都以某种方式只跟踪第一页的 URL。
因此,如果我使用 http://localhost
输入然后移动到 http://localhost/page
,Matomo 将跟踪 http://localhost
两次,而不是后者是 page
。当输入 /page
并移动到 /login
时,我会在报告中看到 /page
被跟踪了两次。这使我得出一个结论,即 Matomo 无法通过我的配置中的 history.pushState
以某种方式处理浏览器的历史操作。我正在寻找可能是什么原因的想法。
事实证明,Matomo 本身并不支持 pushState。
您需要使用 setCustomUrl
手动完成,然后调用 trackPageView()
.
可在此处找到更多内容: https://matomo.org/blog/2017/02/how-to-track-single-page-websites-using-piwik-analytics/