There are several possible reasons why Matomo (Piwik) is not tracking your visits properly:

  • Incorrect Matomo tracking code Please check that you can find the Matomo javascript code on your website pages that you wish to track. Sometimes, when you copy paste the javascript code in other softwares, like Word or FrontPage, they may add extra spaces or characters. Make sure the code looks like this example (and that it mentions the right URL of your Matomo installation). In some cases, when you install Matomo on your local test server, the javascript code might contain “localhost” or “127.0.0.1”. When you deploy Matomo in production, you have to edit the Javascript code so that it points to your website URL, eg. “http://example.org/piwik/”. Also, each Matomo tracking code contains the idsite of your website registered in Matomo. If you only registered one website in Matomo, the idsite found in your Javascript code should be “1”.
  • 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.
  • Browser addons blocking the Matomo Tracking Javascript (NoScript, DoNotTrack, etc.) If you use browsers addons such as Adblock, Adblock plus, NoScript, Ghostery or others, the Matomo Javascript code is not executed in your browser. Try to use a different browser that does not have these extensions, or disable these browser extensions and try again.
  • 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.
  • Testing Matomo with disabled Javascript By default, Matomo only tracks visitors with javascript enabled. When you are testing that Matomo tracks visits properly make sure you have javascript enabled. If you need help with javascript tracking check out docs/javascript-tracking. If you need to use a tracking method which doesn’t involve javascript have a look at docs/tracking-api.
  • 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.
  • Tracking https (SSL) pages If you install the Matomo Javascript Tracking tag on https:// pages, then the tracking requests will be sent to Matomo via https. This means that the server you installed Matomo on must be able to handle these https requests, or no data will be tracked. See also Matomo and SSL tracking and checking that Matomo SSL Server is correctly configured.
  • 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.