Skip to content
Start free Sign in

Matomo integration

Last updated

Kukie.io integrates with Matomo (formerly Piwik), the open-source web analytics platform. When the integration is enabled, the banner script loads your Matomo tracker and starts or stops tracking according to your consent model and each visitor's choice.

You need your own Matomo account. Kukie.io does not host Matomo or provide Matomo analytics reports. The integration connects the Matomo you already use - Matomo Cloud or a self-hosted Matomo - to your consent banner. Your analytics data is collected and viewed in Matomo.

Configuring the Matomo Integration

In the Banner Editor, go to the Integrations tab and find the Matomo Analytics card. Switch on Enable Matomo Integration, then fill in the two fields that appear:

  • Matomo URL - the address of your Matomo, including the protocol. For Matomo Cloud this is https://yourname.matomo.cloud; for a self-hosted Matomo it is the address you open Matomo at, for example https://analytics.example.com. Do not include a trailing slash or the matomo.js / matomo.php path - the banner script adds them.
  • Site ID - the numeric ID Matomo assigned to this website. You can find it in Matomo under Administration → Websites → Manage.

Click Save. Each Kukie.io site has its own Matomo settings, so a website you track in Matomo needs its own Site ID in that site's Banner Editor.

Tip: Your Matomo URL must be reachable over HTTPS from your visitors' browsers, because they load the Matomo tracker from it. Local addresses (localhost, .local domains, private IP addresses) are rejected when you save.

The integration loads the Matomo JavaScript tracker (matomo.js). It does not load Matomo Tag Manager containers.

The Matomo integration follows the consent model that applies to the visitor's region:

Opt-in Mode (GDPR)

In opt-in regions, the Matomo tracker is not loaded at all until the visitor accepts the Analytics category. Before that, the visitor's browser makes no request to your Matomo server.

When the visitor accepts Analytics, the banner script loads the tracker with Matomo's consent API: _paq.push(['requireConsent']) followed by _paq.push(['setConsentGiven']), and records the page view. A returning visitor who accepted earlier is tracked from the first page of the visit. If the visitor rejects Analytics, Matomo is never loaded and the visit is never recorded.

If the visitor later withdraws consent for Analytics, the banner fires _paq.push(['forgetConsentGiven']) and Matomo stops tracking. Kukie.io also removes the cookies listed under Analytics in your cookie list, which includes Matomo's _pk_* cookies once a scan has found them.

Opt-out Mode (CCPA)

In opt-out regions, Matomo is loaded and tracks as soon as the page loads, with Matomo's own Do Not Track support switched on (setDoNotTrack), so a browser that sends Do Not Track is not tracked by Matomo. If the visitor opts out of the Analytics category, the banner fires _paq.push(['forgetConsentGiven']) to stop tracking, and Matomo is no longer loaded on later pages.

Notice Only and Hidden Modes

In these modes, Matomo is loaded and tracks immediately, the same way as in opt-out mode, including the Do Not Track setting.

Privacy signals: in opt-out, notice-only and hidden modes, a visitor whose browser sends Global Privacy Control is treated as having rejected everything except necessary cookies when Respect GPC is on (the default), and the same applies to Do Not Track when Respect DNT is on. Matomo is not loaded for that visitor unless they allow Analytics themselves later, in the banner or its preferences.

What Matomo Tracks

Once Matomo is loaded, it records what your Matomo is configured to collect, typically:

  • Page views and navigation paths.
  • Referrer information.
  • Visit duration and bounce rate.
  • Browser, device, and operating system data.
  • Geographic location (based on IP, if configured in Matomo).

All of this data goes from the visitor's browser straight to your own Matomo - none of it is sent to Kukie.io. This makes Matomo a popular choice for organisations that want full control over their analytics data.

Matomo Cloud vs Self-Hosted

The integration works with both Matomo Cloud and self-hosted Matomo. The only requirement is that your visitors' browsers can reach the Matomo URL over HTTPS.

Removing Manual Tracking Code

If your site already has a Matomo tracking snippet added by hand, remove it after enabling the integration. Running both at the same time can count page views twice.

If you would rather keep your own snippet, leave the integration switched off. Kukie.io's auto-blocking treats Matomo as an Analytics script and holds it back until the visitor consents, as long as the Kukie.io script is placed above your Matomo snippet in the <head>.

Important: Unlike Google Analytics, Matomo does not use Google Consent Mode. The Matomo integration has its own consent management via the requireConsent / setConsentGiven API. Make sure you do not rely on GCM parameters for Matomo tracking decisions.

Follow this guide in your own account

Create a free account to follow this guide: add your site, scan it for cookies and publish your consent banner.

Start free

Kukie.io provides tools to collect and record consent. It is not legal advice, and using it does not by itself make a website compliant with any law.

Was this helpful?

Listed on