TrackingRouter
Jede Website behält ihr eigenes Profil, dazu ein gemeinsames Profil mit durchgehenden Sessions: ein Tracking-Request, serverseitig in die freigegebenen Websites kopiert.
Zur Plugin-Seite · ab 29 €/Monat Live-Demo ansehen ↗
Überblick
TrackingRouter erfasst einen Tracking-Hit serverseitig in mehreren Websites Ihres Matomo.
Eigene Profile und eine durchgehende Session
Jede Website, Marke oder jeder Bereich behält sein eigenes Matomo-Profil, dazu kommt ein gemeinsames Profil, das alles sieht. Ein Besucher, der erst Ihren Blog liest und dann im Shop kauft, erscheint im Blog-Profil, im Shop-Profil und im gemeinsamen Profil als ein durchgehender Besuch: der ganze Weg, die echte Einstiegsseite und Herkunft sowie die Bestellung gehören zusammen.
Roll-up-Berichte können das nicht: Sie addieren die Besuche getrennter Websites, derselbe Besucher zählt doppelt, und der Weg zwischen den Websites geht verloren.
Voraussetzung: Im gemeinsamen Profil muss der Besucher auf jeder Domain als dieselbe Person erkannt werden, zum Beispiel
- über denselben Fingerabdruck (cookieloses Tracking, keine Einrichtung nötig),
- über Cross-Domain-Linking bei verschiedenen Domainnamen (
enableCrossDomainLinkingundsetDomains; im Tag Manager „Aktiviere Cross Domain Linking“ und „Domains“), - über eine Wildcard-Cookie-Domain für eine Domain und ihre Subdomains (
setCookieDomain('*.example.com'); im Tag Manager „Cookie Domain“), - oder über eine User-ID bei angemeldeten Nutzern.
So funktioniert es
Die Seite sendet einen Tracking-Request mit dem zusätzlichen Parameter idsites:
matomo.php?idsite=1&idsites=3,4&url=…
Matomo erfasst ihn wie gewohnt für Website 1 (die Primär-Website) und kopiert ihn serverseitig in jede angeforderte Website, die die Primär-Website freigegeben hat. Requests ohne idsites werden genau wie bisher verarbeitet.
- Die Kopien übernehmen die Besucher-ID des Originals, sofern es eine trägt (Cookie, User-ID). Bei cookielosem Tracking erkennt Matomo den Besucher wie immer in jeder Website für sich.
- Zielkonversionen, Ecommerce-Bestellungen, Heartbeat-Pings und benutzerdefinierte Dimensionen werden nur kopiert, wo Sie es aktivieren.
- Eine Kopie, die nicht erfasst werden kann, wird übersprungen; das Original und die übrigen Kopien werden trotzdem erfasst.
Einrichtung
- Primär-Website: unter Administration → Websites → Verwalten die Website bearbeiten, Abschnitt Tracking Router: Weiterleitung aktivieren (Einwilligung gilt für die Zusatz-Websites) einschalten und die erlaubten Zusatz-Websites wählen.
- Zusatz-Websites: Ziele und benutzerdefinierte Dimensionen werden je Website nummeriert. Wenn Sie sie kopieren, legen Sie sie in jeder Zusatz-Website mit denselben IDs und derselben Bedeutung an.
- Website:
idsitesmit den Tracking-Requests senden:- Tag Manager: in der Variable „Matomo-Konfiguration“, Feld Append To Tracking Url:
idsites=3,4. Das ist der einfachste Weg für feste Zusatz-Websites. Für Zusatz-Websites, die je Seite wechseln (etwa je Bereich), nutzen Sie stattdessen eine Custom Request Processing-Funktion. Auch Custom Data mit dem Namenidsitesfunktioniert, als erster Custom-Data-Eintrag. - matomo.js:
_paq.push(['appendToTrackingUrl', 'idsites=3,4']);vortrackPageView.
- Tag Manager: in der Variable „Matomo-Konfiguration“, Feld Append To Tracking Url:
Einstellungen
| Einstellung | Standard | Zweck |
|---|---|---|
| Weiterleitung aktivieren (Einwilligung gilt für die Zusatz-Websites) | aus | Schaltet das Routing für die Primär-Website ein und bestätigt, dass die Einwilligung Ihrer Besucher auch die Zusatz-Websites abdeckt. Die übrigen Einstellungen erscheinen, sobald sie an ist. |
| Erlaubte Zusatz-Websites | leer | Bis zu zehn Websites, nach Namen sortiert. Angeforderte Websites, die hier fehlen, werden ignoriert. |
| Ecommerce-Bestellungen und Warenkörbe kopieren | aus | Sonst werden Bestellungen nur in der Primär-Website erfasst. |
| Manuelle Zielkonversionen kopieren | aus | Setzt dieselben Ziele mit denselben IDs in den Zusatz-Websites voraus. |
| Heartbeat-Pings kopieren | aus | Zusammen mit Heartbeat-Tracking aktivieren, damit die Besuchsdauer stimmt. |
| Benutzerdefinierte Dimensionen kopieren | aus | Setzt dieselben Dimensionen mit denselben IDs in den Zusatz-Websites voraus. |
| Besucher-ID in den Kopien erzwingen | aus | Erweitert; nur, wenn jeder Request eine stabile Besucher-ID trägt. |
Für die ganze Installation unter Administration → System → Allgemeine Einstellungen → Tracking Router: Admin-Zugriff auf jede Zusatz-Website verlangen. Aktivieren, sobald verschiedene Personen oder Kunden verschiedene Websites verwalten.
Betrieb
- Serverlast: Jede Zusatz-Website bedeutet einen weiteren Tracking-Request. Requests ohne
idsitesbleiben unberührt. - Datenschutz: Jede Zusatz-Website speichert eigene Rohdaten des Besuchs. Die Websites sollten denselben Verantwortlichen und dieselbe Einwilligung haben; genau das bestätigt der Weiterleitungs-Schalter.
- Mehrere Server: Geänderte Einstellungen gelten, sobald der Tracker-Cache abläuft (standardmäßig 300 Sekunden), sofort mit
./console core:clear-caches. - CDN:
matomo.phpdarf nicht von einem CDN gecacht werden, weil das Kopieren auf dem Server passiert.
Zusammenspiel mit anderen Plugins
- BulkTracking: Jeder Hit eines Bulk-Requests wird nach seinem eigenen
idsiteskopiert; die Behandlung ungültiger Hits durch BulkTracking bleibt unverändert. - QueuedTracking: zusammen mit diesem Plugin noch nicht getestet.
Grenzen
- Höchstens zehn Zusatz-Websites pro Request und pro Primär-Website.
- Kopien werden nicht erneut weitergeleitet.
Einsatzszenarien
- Eigene Profile plus ein gemeinsames: Jede Website oder jeder Bereich behält sein eigenes Matomo-Profil und seine Berichte. Ein gemeinsames Profil sieht zusätzlich alles, etwa alle Marken oder alle Regionen.
- Durchgehende Sessions statt Roll-up: Roll-up-Berichte addieren nur getrennte Besuche: Wer vom Blog in den Shop wechselt, zählt doppelt, und der Weg reißt ab. Im gemeinsamen Profil bleibt es ein Besuch, mit echter Einstiegsseite, Herkunft und Bestellung.
- Ein Request, ein Tracker: Kein zweiter Tracker im Browser: Der Server kopiert den Hit, nur in die freigegebenen Websites. Eine fehlerhafte Kopie stört nie das Original, Requests ohne idsites bleiben unverändert.
Einrichtung Schritt für Schritt
Wie Sie das Plugin installieren, steht unter Plugins installieren. Danach richten Sie das Routing pro Website ein. Sie brauchen Admin-Zugriff auf die beteiligten Websites in Matomo und Zugriff auf den Tracking-Code Ihrer Seiten.
Zwei Begriffe vorab: Die Primär-Site ist die Website, deren ID wie gewohnt im Tracking-Code steht. Zusatz-Sites sind die Websites, die denselben Hit zusätzlich erhalten sollen.
-
Mehrmandanten-Installation absichern. Verwalten verschiedene Personen oder Kunden verschiedene Websites in Ihrem Matomo, öffnen Sie zuerst Administration → System → Allgemeine Einstellungen → FeinwerkTrackingRouter und aktivieren Sie Strikter Modus: Admin-Zugriff auf jede Zusatz-Site erforderlich. Ohne diesen Schalter reicht Admin-Zugriff auf die Primär-Site, um jede andere Website der Installation als Zusatz-Site einzutragen.
-
Zusatz-Sites freigeben. Öffnen Sie Administration → Webseiten → Verwalten, bearbeiten Sie die Primär-Site und wählen Sie im Abschnitt FeinwerkTrackingRouter unter Erlaubte Zusatz-Sites bis zu zehn Websites aus. Nur diese Websites kann ein Hit der Primär-Site erreichen.
-
Einwilligung bestätigen. Aktivieren Sie bei derselben Primär-Site Zusatz-Sites teilen Consent-Domäne. Damit erklären Sie, dass die Einwilligung der Besucher auch für alle freigegebenen Zusatz-Sites gilt, etwa weil alle Websites denselben Verantwortlichen haben. Solange der Schalter aus ist (Standard), leitet das Plugin nichts weiter. Die Zusatz-Sites brauchen keinen eigenen Schalter.
-
Weitergabe festlegen. Seitenaufrufe, Events, Content-Tracking und andere Hits gehen an die Zusatz-Sites. Vier Datenarten bleiben standardmäßig in der Primär-Site und lassen sich einzeln freischalten:
- Ecommerce-Parameter weiterleiten: Umsatz kann dann in mehreren Websites gezählt werden.
- Manuelle Goal-Konversionen weiterleiten: Ziel-IDs gelten pro Website, Ziel 1 kann woanders etwas anderes bedeuten.
- Ping- (Heartbeat-) Hits weiterleiten: Pings ohne vorherigen Seitenaufruf erzeugen verwaiste Besuche.
- Custom Dimensions weiterleiten: Slot 1 kann in jeder Website etwas anderes bedeuten.
Visitor-ID über Fan-out erzwingen (erweitert) lassen Sie aus. Die Besucher-ID der Primär-Site geht ohnehin in jede Kopie über. Einschalten sollten Sie die Option nur, wenn jeder Hit eine stabile ID trägt, zum Beispiel eine User-ID.
-
Tracking-Code ergänzen. Auf den Seiten, deren Hits zusätzlich in andere Websites sollen, ergänzen Sie den Parameter
idsitesmit den IDs der Zusatz-Sites. Mit dem JavaScript-Tracker geht das vortrackPageView:_paq.push(['appendToTrackingUrl', 'idsites=3,5']);Bei direkten Aufrufen der Tracking-API hängen Sie
&idsites=3,5an. Hits ohneidsitesverarbeitet Matomo wie bisher.
Erster Test: Rufen Sie eine Seite mit dem ergänzten Tracking-Code auf und öffnen Sie für eine Zusatz-Site Besucher → Besucher-Log. Der Seitenaufruf sollte dort genauso erscheinen wie in der Primär-Site. Fehlt er, prüfen Sie: Steht die ID unter Erlaubte Zusatz-Sites? Ist Zusatz-Sites teilen Consent-Domäne aktiv? Enthält der Tracking-Request wirklich idsites (Netzwerk-Tab der Browser-Entwicklertools)?
Praxisbeispiele
Markenwebsites plus Konzern-Roll-up. Drei Marken haben je eine eigene Website in Matomo (IDs 2, 3 und 4), die Unternehmensgruppe will alle Besuche zusätzlich in einer gemeinsamen Website (ID 1) sehen. Bei jeder Marken-Site tragen Sie ID 1 als Zusatz-Site ein und aktivieren den Consent-Schalter, der Tracking-Code jeder Marke sendet idsites=1. Die Markenteams arbeiten weiter in ihren Websites, die Gruppen-Site enthält alle Hits als eigene Besuche und lässt sich wie jede andere Website auswerten.
Ein Bereich für ein eigenes Team. Der Karrierebereich unter /karriere der Unternehmenswebsite (ID 1) soll zusätzlich in einer HR-Website (ID 7) landen, auf die nur das HR-Team Zugriff hat. Nur die Seiten unter /karriere senden idsites=7, alle anderen Seiten bleiben unverändert.
Rubriken in mehrere Profile. Ein Portal (ID 1) zählt Rubrik A zusätzlich in Site 2, Rubrik B in Site 3 und Rubrik C in beide (idsites=2,3). Dafür reicht ein einziger Tracker auf der Seite.
Shop mit getrennter Umsatzsicht. Der Shop (ID 5) leitet zusätzlich an die Gruppen-Site weiter, Umsätze sollen aber nur im Shop zählen. Lassen Sie Ecommerce-Parameter weiterleiten aus: Die Gruppen-Site erhält die Seitenaufrufe, Bestellungen und Umsätze bleiben in der Shop-Website.
Gut zu wissen
- Grenzen: Höchstens zehn Zusatz-Sites pro Primär-Site und pro Hit. Verteilt wird nur eine Stufe, Kopien werden nicht erneut verteilt. IDs in
idsites, die nicht freigegeben sind, ignoriert das Plugin. - Rechte: Die Freigabe pflegt, wer Admin-Zugriff auf die Primär-Site hat. Im strikten Modus ist zusätzlich Admin-Zugriff auf jede Zusatz-Site nötig. Den strikten Modus schalten Hauptadministratoren in den allgemeinen Einstellungen ein.
- Datenschutz: Jede Zusatz-Site speichert eigene Rohdaten des Besuchs. Setzen Sie den Consent-Schalter nur, wenn die Websites denselben Verantwortlichen und dieselbe Einwilligung teilen.
- Stabilität: Ein Fehler bei einer Zusatz-Site beeinträchtigt die Verarbeitung der Primär-Site nicht.
- Serverlast: Jede Zusatz-Site bedeutet einen weiteren Tracking-Request, den Ihr Server verarbeitet. Mit dem Plugin QueuedTracking laufen die Kopien unabhängig über die Queue. Sind im Schnitt mehr als zwei Zusatz-Sites eingetragen, lohnt sich QueuedTracking.
- Caching: Der Tracking-Endpunkt
matomo.phpdarf nicht über ein CDN zwischengespeichert werden, weil die Verteilung auf dem Server passiert. - Mehrere Server: Geänderte Freigaben greifen je Server nach Ablauf des Tracker-Caches (Standard 300 Sekunden). Sofort wirkt
./console core:clear-cachesauf jedem Server. - Bulk-Tracking: Bei gebündelten Requests verteilt das Plugin jeden enthaltenen Hit nach seinem eigenen
idsites. - Umstieg von TrackingRouter: Nutzen Sie noch die Vorgängerversion
TrackingRouter(bis 1.x), installieren und aktivieren Sie FeinwerkTrackingRouter. Es übernimmt alle Einstellungen und entfernt das alte Plugin, Ihr Tracking-Code bleibt unverändert.
Technische Referenz
| Eigenschaft | Wert |
|---|---|
| Technischer Name | FeinwerkTrackingRouter |
| Aktuelle Version | 2.1.1 |
| Matomo | ≥ 5.0.0, < 6.0.0 |
| PHP | ≥ 7.4.0 |
| Lizenz | kostenpflichtig |
| Datenbankänderungen | keine in der aktuellen Version |
FAQ
Was ist der Unterschied zu Roll-Up Reporting?
Roll-Up Reporting addiert die Berichte mehrerer Websites. Jede Website behält ihre eigenen Besuche, ein Besucher, der die Website wechselt, zählt also als zwei Besuche, und der Weg dazwischen geht verloren. TrackingRouter erfasst den Hit zusätzlich in einem gemeinsamen Profil, in dem die Seiten aller Websites einen durchgehenden Besuch bilden. Die Berichte je Website bleiben in ihren eigenen Profilen erhalten.
Was brauche ich für durchgehende Sessions über mehrere Domains?
Der Besucher muss auf jeder Domain des gemeinsamen Profils als dieselbe Person erkannt werden: ohne Cookies über denselben Fingerabdruck, mit Cookies über Cross-Domain-Linking (verschiedene Domainnamen) oder eine Wildcard-Cookie-Domain wie *.example.com (Subdomains), oder über eine User-ID. Sonst beginnt jede Domain im gemeinsamen Profil einen neuen Besuch; die Profile der einzelnen Websites sind davon nicht betroffen.
Muss ich meinen Tracking-Code ändern?
Nur dort, wo Hits zusätzlich in andere Websites sollen: idsites ergänzen, etwa mit appendToTrackingUrl in matomo.js oder im Feld „Append To Tracking Url“ im Tag Manager. Alles andere funktioniert unverändert weiter.
Werden Ziele und benutzerdefinierte Dimensionen übernommen?
Nur wenn Sie es je Art aktivieren und die Zusatz-Websites dieselben Ziele und Dimensionen unter denselben IDs haben, denn diese IDs werden je Website vergeben. Events, Content-Tracking und Site-Suche brauchen keine Vorbereitung.
Ist die Besucher-ID in jeder Website gleich?
Trägt der Request eine (Cookie, User-ID), übernehmen die Kopien sie. Bei cookielosem Tracking erkennt Matomo den Besucher wie immer in jeder Website für sich; die Besuche innerhalb jeder Website, auch im gemeinsamen Profil, entstehen wie gewohnt.
Wie wird die Einwilligung behandelt?
Ein Schalter auf der Primär-Website erklärt, dass die Einwilligung ihrer Besucher auch die freigegebenen Zusatz-Websites abdeckt. Solange er aus ist (Standard), wird nichts kopiert.
Und die Performance?
Requests ohne idsites bleiben unberührt. Jede Zusatz-Website bedeutet einen weiteren Tracking-Request, den Ihr Server verarbeitet. Zusammen mit QueuedTracking ist das Plugin noch nicht getestet.