Why do I have heatmap samples but no screenshot?
When viewing your heatmap samples you may see the following message in the UI:
There have been XX samples recorded so far. However, no screenshot has been taken yet. If there is a « Screenshot URL » for this heatmap, it may take a while for the screenshot to become available as a user first needs to open this screenshot URL. Depending on the sample rate this may take a while.
The most likely reason for this is the security settings of your website. When you first visit a web page configured for a heatmap the entire DOM (page markup) is captured and saved in your Matomo database. This is then used later for displaying your heatmap in the samples screen. This initial request can sometimes be very large and some Web Application Firewalls or security settings detect this as a threat and block the request. Heatmap samples such as clicks and scrolls are much smaller requests and are generally treated as normal requests.
Troubleshooting
With the web console in the Browser Developer Tools (F12) already open, visit the page in your website that you have configured for the heatmap. Check for any failed requests – these could be HTTP errors like 500, 403 or 414. If you do see any of these codes please check the following:
- Web Application firewall settings.
- Any security plugins, such as WordFence.
- Your server POST request size limit may need increasing.
- Check your server logs for a clearer description of the error.
- Whitelist the Matomo requests so they aren’t blocked.
If you see a 414 error, it likely means the POST request was blocked by your website security settings. This is because the tracker will automatically attempt to send a GET request if the POST request fails. As the GET request will likely exceed the maximum URL character limit, a 414 error (URL too long) will occur.
If you are confident that your Matomo web server configuration is not the cause of the issue please create a trial on our Matomo cloud platform then use our dual tracking script (setting the cloud as the primary tracking endpoint).
Configure your heatmap with the same settings in the Matomo cloud instance and try again. If the cloud heatmap capture is successful, then it indicates that your Matomo server is blocking the requests.