Matomo Heartbeat ★ Official & Simple
$url = $apiUrl . '?' . http_build_query($params);
if (idleTime >= this.options.idleTimeout && this.isActive) this.stopHeartbeat(); this.log(`User idle for $idleTime seconds, stopping heartbeat`); matomo heartbeat
<!DOCTYPE html> <html> <head> <!-- Matomo Tracking Code --> <script> var _paq = window._paq = window._paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() var u="https://your-matomo-domain.com/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '1']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); )(); </script> $url = $apiUrl
The Matomo Heartbeat Timer is a vital component for any serious web analytics implementation. By moving beyond the limitations of server-side logs and utilizing client-side "keep-alive" signals, organizations can correct the pervasive issue of underreported visit durations. By moving beyond the limitations of server-side logs
These sites should set the Heartbeat interval aggressively (e.g., 15 seconds). Knowing exactly how long a user reads an article helps editorial teams determine optimal article length and engagement levels.