当前位置:   article > 正文

vue使用matomo进行数据统计,区别每个路由_matomo.js

matomo.js

首先在main.js找那个引入vue-matomo

安装一下matomo  

  1. import VueMatomo from 'vue-matomo'
  2. Vue.use(VueMatomo, {
  3. host: 'http://matomo.na.xyz', // 这里配置你自己的piwik服务器地址和网站ID
  4. siteId: 3,//siteId值
  5. // 根据router自动注册
  6. router: router,
  7. // // 是否需要在发送追踪信息之前请求许可
  8. // // 默认false
  9. requireConsent: false,
  10. enableLinkTracking: true,
  11. // // 是否追踪初始页面
  12. // // 默认true
  13. trackInitialView: false,
  14. // // 最终的追踪js文件名
  15. // // 默认 'piwik'
  16. trackerFileName: 'matomo',
  17. debug: false
  18. });
然后下面是关键一步,就是需要在app.vue中监听路由变化
  1. watch: {
  2. '$route' () {
  3. let locationHash = window.location.hash;
  4. sessionStorage.setItem("hashLocation",locationHash);//把路由存在缓存中,此处你可以console.log看出路由变化
  5. }
  6. },

然后再每个组件中发送追踪信息就行了,注意是每个组件哦

  1. created(){
  2. const hashLocation= sessionStorage.getItem("hashLocation");//缓存中获取当前页面的路由名称
  3. const newLocation = hashLocation.split("#/")[1];
  4. this.$matomo.setCustomUrl("http:baidu.com"+"/"+newLocation);//覆盖页面报告的url,可以自定义页面url,加上本页面路由
  5. // this.$matomo.trackEvent(shopCode,hashLocation);//事件
  6. this.$matomo.trackPageView(hashLocation);//页面名称,可以自定义页面名称
  7. }

然后就可以在matomo网站中查看这些数据如下图,在页面名称选项中可以看到自定义名字的页面

 

 

 

 

matomo参数说明官方网站https://developer.matomo.org/api-reference/tracking-javascript

 

 

 

 

 

以下是js版本使用matomo的,比较简单,需要在每个html中加上此段代码

  1. <script type="text/javascript">
  2. var _paq = window._paq || [];
  3. _paq.push(['setCustomUrl', 'http://h5t.namektest.xyz/hyhlc/car']);//自定义每个页面链接
  4. _paq.push(['setDocumentTitle', 'hyhlc-car']);//自定义每个页面名称
  5. /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  6. _paq.push(['trackPageView']);
  7. _paq.push(['enableLinkTracking']);
  8. (function() {
  9. var u="//matomo.name.xyz/";// // 这里配置你自己的piwik服务器地址和网站ID
  10. _paq.push(['setTrackerUrl', u+'matomo.php']);
  11. _paq.push(['setSiteId', '5']);//setId
  12. var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  13. g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  14. })();
  15. </script>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/456206
推荐阅读
相关标签
  

闽ICP备14008679号