Practice & troubleshooting · Knowledge
Does tracking slow down my Joomla site?
A clean setup costs almost nothing: the Matomo script loads asynchronously (the page does not wait), the plugin adds one line server-side, and the tracking request fires after the page already stands.
Performance damage comes from tracking sins, not tracking: multiple competing snippets, synchronous legacy embeds, and tag-manager containers stuffed with forgotten scripts.
The honest cost accounting – and the three sins to avoid
The accounting for a standard JStats-plus-Matomo setup: server-side, the plugin assembles one string per request – unmeasurable. Client-side, the snippet loads matomo.js asynchronously with the async attribute: the browser fetches it in parallel and never blocks rendering on it; the file itself is small, cacheable, and when self-hosted it comes from your own (ideally fast) server without a third-party DNS handshake. The actual tracking call is a tiny request after page load. Net effect on the metrics that matter – Largest Contentful Paint, interactivity – effectively zero; visitors cannot feel a clean analytics setup. The sins that do hurt: first, snippet accumulation – a plugin snippet plus a forgotten template copy plus an old GA tag means every page pays three times and the data doubles on top (the source-code check from the test routine finds this in a minute). Second, synchronous relics: ancient embed variants without async that genuinely stall rendering – if your snippet predates the async era, replace it with the current one from Matomo. Third, the tag-manager attic: containers where years of marketing pixels accumulate load dozens of scripts under one innocent tag – a periodic audit or, for a lean Joomla site, simply not using a container is the cure. The takeaway inverts the question: it is not tracking that slows sites, it is unattended tracking – one snippet, async, self-hosted, reviewed yearly, and analytics stays a rounding error.
Key facts
- Server cost: one string per request via addCustomTag – unmeasurable.
- Client cost: async matomo.js never blocks rendering; the tracking call fires after page load.
- Self-hosting bonus: no third-party DNS handshake, file served from your own fast host.
- Sin 1: snippet accumulation – pages pay multiple times, data doubles; source check finds it.
- Sins 2+3: synchronous legacy embeds and overstuffed tag-manager containers – replace and audit.