There are several possible reasons why Matomo (Piwik) is not tracking your visits properly:
- Make sure you are viewing reports for the correct website and date in Matomo In Matomo, make sure you selected the right website in the website selector. Also, try to look at reports for “today” by changing the date in the date picker. Please wait at least 10 seconds after generating visits on your website: by default Matomo will only process reports every 10 seconds when “today” is selected.
- Matomo by default supports DoNotTrack: please check you haven’t enabled DoNotTrack in your browser options.
- Archiving triggered from the browser must be enabled, if it is disabled the Cron script must be configured properly
In Administration > System > General Settings, ‘Allow Matomo archiving to trigger when reports are viewed from the browser’ must be set to ‘Yes’. If it is set to ‘No’, you must configure the cron script to automatically archive your web analytics reports, or Matomo will show ‘No Data’. More information about auto archiving.
- Third party Matomo plugins It is possible that some Third party Matomo plugins could cause problems when tracking your visitors. Please try to disable all the third party plugins you are using to see if it fixes the issue.
- Do you have logs registered in your Matomo database? If your Matomo tracking code is properly installed, Matomo would record visits in your database. To check if you have logs in your database, go to Matomo > Visitors > Visits log, and select “today” in the calendar. If you see recent visitor information, it means that the visitor tracking is working, but maybe there is a problem with reports archiving. Note: you can also check if logs are recorded correctly by looking at the table “matomo_log_visit” (using phpMyAdmin for example) and see if there are visits recorded. Alternatively, you can enable the plugin “DBStats”, and then go to the “Database usage” tab in your Matomo administration area, and check if the table matomo_log_visit has any rows.
- Matomo displays a red cross (on IE) or a broken image icon on your tracked pages, instead of the 1*1 transparent Pixel Check out this FAQ answer.
- Access to piwik.php fails If your host uses mod_security to block requests containing URLs (eg. hosts like HostGator, The Planet), check out the Matomo and mod_security FAQ. If you use HTTP Authentication (Basic or Digest) on your Matomo files, you should exclude piwik.php and piwik.js from this authentication, or visitors on your website would be prompted with the authentication popup.
- Local copy of piwik.js outdated Some users make a local copy of piwik.js on a different server than their Matomo installation. This is not officially supported and causes issues when the piwik.js bundled with Matomo is updated and not compatible with the previous version (for example, this is the case in Matomo 0.5.5). Please check that your Matomo JS tracking code is exactly the one given in the Matomo admin screen.
- Using Matomo latest version If you are still seeing “No data”, please make sure you are using the latest version of Matomo (if not, update now).
- Check your webserver error logs If all else fails, it is possible that there is a server misconfiguration preventing Matomo from tracking your visits or processing reports. Often, there will be an error in the webserver error logs (apache logs, IIS logs, nginx logs, etc.). Please check that your PHP is configured to log errors: (php.ini should contain log_errors = On and error_log = /path/to/log). The messages in the webserver error log will help you find the source of the problem, for example search for the error message on this website.
- Troubleshooting when a tracking request is sent correctly but data is not visible in ‘Visits log’ When you can see in the Browser Developer Tools > Network panel that your tracking requests are correctly sent to the Matomo Tracking API (
matomo.php?), but your data is not tracked then you can quite easily debug the tracker. Follow the steps in Debugging the Tracker. Tracking requests will then output the tracking log messages in readable english, and it will clearly say any issue or reason why the request is not being tracked.