Matomo ist eine ausgezeichnete Analytics-Lösung — DSGVO-freundlich, eigentumsfreundlich, daten-souverän. Was Matomo aber nicht von Haus aus gut macht: Daten flexibel in Spreadsheets weiterverarbeiten. Wenn Sie wöchentlich einen Traffic-Report an die Geschäftsführung schicken, monatlich eine SEO-Audit-Tabelle pflegen oder einfach mit dem Filter-Mut von Google Sheets über Ihre Daten gehen wollen, müssen Sie Matomo und Sheets verheiraten. Drei Wege funktionieren in der Praxis, alle mit unterschiedlichem Setup-Aufwand. Für die Grundsatzfrage, ob Matomo oder Google Analytics 2026 die bessere Wahl ist, lesen Sie meinen Beitrag zu Google Analytics vs. Matomo — dieser hier setzt voraus, dass Sie Matomo bereits einsetzen.
Voraussetzungen: Eine laufende Matomo-Instanz (Cloud oder self-hosted), API-Zugriff (siehe unten), ein Google-Konto mit Sheets-Zugriff. Zeit für Setup: 30–90 Minuten je Methode.
Warum Sheets statt Matomo-UI?
Bevor ich technisch werde, kurz die Frage: Wofür ist das überhaupt sinnvoll?
- Reporting an Stakeholder. Geschäftsführer:innen wollen Tabellen, keine Dashboards mit eingeloggter Maus-Aktion. Eine wöchentlich automatisch befüllte Sheet-Tabelle mit den fünf wichtigsten Kennzahlen ist Gold.
- Cross-Tool-Vergleich. Wenn Sie Matomo-Daten neben Search-Console-Daten, Mailchimp-Stats und CRM-Conversions zeigen wollen, ist Sheets der Klebstoff.
- Eigenes Bewertungssystem. Sie wollen aus Bounce-Rate, Sitzungsdauer und Conversion-Rate einen „Page-Quality-Score“ berechnen? Pivot-Tabellen, FORMELN, IF-Verschachtelungen — das ist Sheets-Heimat, nicht Matomo-Heimat.
- Historisches Archiv. Manche Matomo-Cloud-Pläne haben Daten-Retention-Limits. Wer wichtige Kennzahlen in Sheets persistiert, hat sie noch in fünf Jahren.
Was Sheets nicht ersetzt: das Matomo-UI selbst. Funnel-Analysen, Session-Recordings, Heatmaps — das machen Sie weiterhin in Matomo. Sheets ist die Aggregations- und Verteilungsschicht.
Methode 1: Matomo Reporting API + Apps Script (Schritt für Schritt)
Die robusteste und flexibelste Methode. Setup-Zeit: 30–60 Minuten.
Schritt 1: Matomo Auth Token erstellen.
In Matomo → Personalverwaltung → Sicherheit → „Authentifizierungs-Tokens“ → „Neues Token erstellen“. Berechtigung: read-only auf die relevanten Sites. Notieren Sie das Token (Sie sehen es nur einmal).
Schritt 2: API-URL aufbauen.
Die Matomo Reporting API hat eine sehr konsistente Struktur:
https://IHR-MATOMO.example.com/index.php
?module=API
&method=VisitsSummary.get
&idSite=1
&period=day
&date=last30
&format=JSON
&token_auth=IHR_TOKEN
Wichtige Parameter:
method— was Sie abfragen wollen (z. B.VisitsSummary.get,Actions.getPageUrls,Referrers.getKeywords)idSite— die Site-ID (sehen Sie im Matomo-Backend)period—day,week,month,year,rangedate— z. B.last30,2026-05-01,2026-05-31format=JSON— bringt strukturierte Daten zurück, ideal für Apps Script
Schritt 3: Google Apps Script aufsetzen.
In Google Sheets → Erweiterungen → Apps Script. Folgendes Script (Grundgerüst):
function fetchMatomoVisitsSummary() {
const url = 'https://IHR-MATOMO.example.com/index.php'
+ '?module=API&method=VisitsSummary.get'
+ '&idSite=1&period=day&date=last30'
+ '&format=JSON&token_auth=' + getToken();
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const data = JSON.parse(response.getContentText());
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Matomo');
sheet.clearContents();
sheet.appendRow(['Datum', 'Visits', 'Unique Visitors', 'Bounce Rate', 'Avg. Time']);
Object.entries(data).forEach(([date, metrics]) => {
sheet.appendRow([
date,
metrics.nb_visits || 0,
metrics.nb_uniq_visitors || 0,
metrics.bounce_rate || '0%',
metrics.avg_time_on_site || 0
]);
});
}
function getToken() {
return PropertiesService.getScriptProperties().getProperty('MATOMO_TOKEN');
}
Schritt 4: Token sicher speichern. Apps Script → Projekteinstellungen → Skript-Properties → MATOMO_TOKEN als Key, Ihr Token als Value. So liegt das Token nicht im Code.
Schritt 5: Trigger einrichten. Apps Script → Trigger → „Neuen Trigger hinzufügen“ → fetchMatomoVisitsSummary → zeitgesteuert → täglich um 06:00 Uhr.
Fertig. Ab jetzt aktualisiert sich Ihr Sheet jeden Morgen automatisch mit den letzten 30 Tagen Visit-Daten.
Methode 2: Looker Studio als Brücke
Wenn Sie weniger scripten und mehr klicken wollen.
Setup:
- In Looker Studio (früher Google Data Studio) → „Datenquellen“ → „Matomo Connector“ (Community-Connector).
- Verbindung mit Matomo herstellen: URL + Auth-Token.
- Datenquelle anlegen (z. B. „VisitsSummary“).
- In Looker Studio einen Bericht erstellen oder direkt die Daten in eine Tabelle ziehen.
- In Looker Studio → „Datei“ → „In Google Sheets exportieren“ — entweder einmalig oder per Scheduled Email.
Vorteile:
- Kein Code
- Visualisierungen „for free“ in Looker Studio
- Geplante E-Mail-Berichte aus Looker direkt heraus
- Self-Service für nicht-technische Nutzer:innen
Nachteile:
- Community-Connectors haben unterschiedliche Qualität — manche sind seit zwei Jahren nicht mehr aktualisiert
- Looker-Studio-Berichte sind nicht so dynamisch wie native Sheets-Logik
- Bei großen Datenmengen langsam
Für viele kleinere Setups (Solo-Selbstständige, kleine Agenturen) ist das die pragmatische Lösung — kein Apps-Script-Bauch.
Methode 3: Plugins und SaaS-Bridges
Es gibt zwei Sorten Plugins:
WordPress-Plugins (wenn Matomo via WordPress eingebunden ist):
- „Matomo Analytics — Ethical Stats“ (offizielles Plugin von Matomo) zeigt zwar Daten in WordPress-Dashboard, aber Sheets-Export ist nicht eingebaut.
- „Connect Polylang for Matomo“ und ähnliche Spezial-Plugins zielen auf andere Use Cases.
SaaS-Bridges:
- Coupler.io — kostenpflichtig (ab 49 USD/Monat), klickbasierte Integration zwischen Matomo und Google Sheets. Lohnt sich, wenn Sie mehrere Datenquellen integrieren wollen.
- Supermetrics — der große Player. Sehr teuer (ab 99 EUR/Monat), aber Konzern-tauglich.
- Funnel.io — ähnlich Supermetrics, etwas günstiger.
Mein Rat für die meisten Leser:innen: Methode 1 (Apps Script) ist die beste Investition in 60 Minuten, die Sie ohne laufende Kosten dauerhaft selbst pflegen können. SaaS-Bridges sind dann sinnvoll, wenn Sie 5+ Datenquellen orchestrieren wollen und keine Skript-Lust haben.
Fehlerquellen: Auth-Token, CORS, Rate-Limits
In über zwanzig Setups habe ich folgende Fehler immer wieder gesehen:
1. Auth-Token mit zu vielen Rechten. Erstellen Sie für die Sheets-Integration ein eigenes Token mit ausschließlich read-Berechtigung für die spezifische Site. Niemals Admin-Tokens verwenden — wenn Sie irgendwann den Tab geöffnet weitergeben, ist das Risiko zu hoch.
2. URL-Encoding-Fehler. Wenn Sie Filter mit Sonderzeichen verwenden (z. B. segment=pageUrl=@/blog/), müssen die korrekt encoded sein. UrlFetchApp.fetch in Apps Script erwartet meist saubere URLs — encodeURIComponent() ist Ihr Freund.
3. CORS-Probleme (nicht in Apps Script, aber im Browser). Wenn Sie die Matomo API aus einer Browser-Webapp aufrufen wollen, brauchen Sie CORS-Header in Matomo. Apps Script ist davon nicht betroffen, weil der Aufruf serverseitig läuft.
4. Rate-Limits. Matomo Cloud hat (Stand 2026) keine offiziellen API-Rate-Limits, aber für self-hosted Setups auf schwacher Hardware können große Reports (z. B. Pageviews über 365 Tage mit Segmentierung) den Server überlasten. Lösung: smaller chunks, kürzere date-Ranges.
5. Zeitstempel-Inkonsistenzen. Matomo nutzt UTC. Wenn Sie in Sheets mit lokalen Zeiten arbeiten, kann es zu off-by-one-Day-Effekten kommen. In Apps Script vor dem Schreiben mit Utilities.formatDate(date, 'Europe/Vienna', 'yyyy-MM-dd') konvertieren.
Praxis-Beispiel: wöchentlicher Traffic-Report
Konkretes Setup, das ich für drei Kunden laufen habe:
Sheet-Aufbau:
- Tab „Raw“: Apps-Script-Daten aus Matomo (täglich aktualisiert)
- Tab „Weekly“: berechnete Wochensummen via
QUERY()/SUMIFS() - Tab „Dashboard“: Charts und KPI-Boxen, die auf „Weekly“ verweisen
- Tab „E-Mail“: vorbereiteter Wochen-Text mit
&undTEXT()
Apps Script Trigger:
- Täglich um 06:00: Raw-Tab aktualisieren
- Jeden Montag um 09:00: zusätzlich
sendWeeklyEmail()ausführen, das aus dem Sheet eine E-Mail an die Stakeholder schickt
Die wöchentliche E-Mail enthält dann automatisch: Top 5 Seiten der Woche, Vergleich zu Vorwoche und Vormonat, neue Referrer, technische Auffälligkeiten (z. B. plötzlich gestiegene Bounce-Rate auf einer Landingpage).
Wer in dieselbe Richtung geht — Daten besser nutzen, mehr aus Analytics rausholen — sollte sich auch meinen Beitrag zu kostenlosen SEO-Analysen für Anfänger anschauen. Und für das große Bild SEO + WordPress: WordPress SEO-Grundlagen.
Hilfe beim Setup gewünscht?
Wenn Sie das Apps-Script-Setup für Ihre Matomo-Instanz nicht selbst aufsetzen wollen, kann ich das in 2–3 Stunden für Sie einrichten — inklusive Übergabe-Schulung, damit Sie selbst neue Reports ergänzen können. Schreiben Sie mir kurz, was Sie tracken wollen.
→ Setup anfragen: Kontakt aufnehmen
Tags



