generated: '2026-08-13' method: searched source: >- https://developer.matomo.org/guides/tracking-javascript-guide, https://developer.matomo.org/api-reference/tagmanager/javascript-api-reference, https://matomo.org/pricing/ (Exportable Widgets, listed in all plans), openapi/matomo-tag-manager-openapi.json, openapi/matomo-sites-manager-openapi.json summary: >- Matomo ships three families of client-side surface: the JavaScript tracking client every site embeds, the Tag Manager container and its data layer, and Widgetize — Matomo's embeddable report widgets, which are the closest thing it has to a prebuilt UI component library. All are served from the customer's own instance rather than from a vendor CDN. families: - family: JavaScript Tracking Client kind: script loader: matomo.js url: https://developer.matomo.org/guides/tracking-javascript-guide served_from: https://{matomo_host}/matomo.js official: true description: >- The `_paq` command-queue tracking client embedded on the customer's pages. Not a UI component — it renders nothing — but it is the primary client-side artifact Matomo distributes and it is what SitesManager.getJavascriptTag returns. generated_by: - SitesManager.getJavascriptTag - SitesManager.getImageTrackingCode key_methods: - _paq.push(['trackPageView']) - _paq.push(['trackEvent', category, action, name, value]) - _paq.push(['trackGoal', idGoal]) - _paq.push(['trackSiteSearch', keyword, category, resultsCount]) - _paq.push(['setUserId', userId]) - _paq.push(['setCustomDimension', id, value]) - _paq.push(['requireConsent']) - _paq.push(['setConsentGiven']) note: >- Unpinned by design — the file is served by the instance and floats to whatever Matomo version that instance runs. See packages/matomo-packages.yml. - family: Tag Manager container kind: script loader: container_.js url: https://developer.matomo.org/api-reference/tagmanager/javascript-api-reference served_from: https://{matomo_host}/js/container_{idContainer}.js official: true description: >- Matomo Tag Manager's client-side container, with a `_mtm` data layer. Containers, tags, triggers and variables are all managed through the Reporting API. generated_by: - TagManager.getContainerEmbedCode - TagManager.getContainerInstallInstructions api_surface: openapi/matomo-tag-manager-openapi.json api_operations: 47 key_methods: - "_mtm.push({'event': ''})" environments_op: TagManager.getAvailableEnvironments preview_ops: - TagManager.enablePreviewMode - TagManager.disablePreviewMode - TagManager.changeDebugUrl - family: Widgetize (exportable report widgets) kind: embeddable-widget url: https://developer.matomo.org/api-reference/reporting-api-metadata served_from: https://{matomo_host}/index.php?module=Widgetize&action=iframe&... official: true description: >- Any Matomo report can be exported as a standalone embeddable widget — an iframe or a JS-embedded surface — and dropped into an external page or intranet dashboard. "Exportable Widgets" is listed as included in every Matomo plan. This is Matomo's prebuilt-UI answer: rather than a component library you build with, you embed Matomo's own rendered report. discovery_op: API.getWidgetMetadata auth_note: >- Embedding a widget outside an authenticated session requires a token_auth in the widget URL, which exposes that token to anyone who can read the page source. Matomo's guidance is to mint a dedicated view-only user's token for this. - family: Image tracker (no-JavaScript fallback) kind: pixel served_from: https://{matomo_host}/matomo.php official: true description: >- A 1x1 tracking pixel for environments where JavaScript cannot run — email, AMP, RSS. Generated by SitesManager.getImageTrackingCode. generated_by: - SitesManager.getImageTrackingCode not_shipped: - Web Components / custom elements - A React, Vue or Angular component package published to npm - Hosted prebuilt auth or checkout surfaces note: >- Matomo publishes no framework component packages of its own. Framework wrappers for the tracking client (React, Vue, Angular, Next.js, WordPress, Drupal…) exist but are community-maintained and listed at https://matomo.org/integrate/.