Matomo è un'eccellente soluzione di analytics — rispettosa del GDPR, della proprietà dei dati, sovrana sui dati. Ciò che però Matomo non fa bene di serie: rielaborare i dati in modo flessibile nei fogli di calcolo. Se Lei invia settimanalmente un report sul traffico alla direzione, cura mensilmente una tabella di audit SEO o vuole semplicemente esplorare i Suoi dati con il coraggio dei filtri di Google Sheets, deve sposare Matomo e Sheets. Nella pratica funzionano tre strade, tutte con un diverso impegno di configurazione. Per la questione di fondo, se nel 2026 sia meglio Matomo o Google Analytics, legga il mio articolo su Google Analytics vs. Matomo — questo qui presuppone che Lei usi già Matomo.
Prerequisiti: un'istanza Matomo attiva (Cloud o self-hosted), accesso API (vedi sotto), un account Google con accesso a Sheets. Tempo per la configurazione: 30–90 minuti per metodo.
Perché Sheets invece dell'interfaccia di Matomo?
Prima di entrare nel tecnico, una breve domanda: a cosa serve tutto questo?
- Reporting agli stakeholder. I dirigenti vogliono tabelle, non dashboard che richiedono di essere loggati e di muovere il mouse. Una tabella Sheets riempita automaticamente ogni settimana con i cinque indicatori più importanti vale oro.
- Confronto tra strumenti. Se vuole mostrare i dati Matomo accanto ai dati della Search Console, alle statistiche di Mailchimp e alle conversioni del CRM, Sheets è il collante.
- Sistema di valutazione personalizzato. Vuole calcolare un „Page-Quality-Score“ a partire da bounce rate, durata della sessione e conversion rate? Tabelle pivot, FORMULE, IF annidati — questa è casa di Sheets, non di Matomo.
- Archivio storico. Alcuni piani Matomo Cloud hanno limiti di conservazione dei dati. Chi persiste gli indicatori importanti in Sheets li avrà ancora tra cinque anni.
Ciò che Sheets non sostituisce: l'interfaccia di Matomo stessa. Analisi dei funnel, registrazioni delle sessioni, heatmap — quelle continua a farle in Matomo. Sheets è il livello di aggregazione e distribuzione.
Metodo 1: Reporting API di Matomo + Apps Script (passo dopo passo)
Il metodo più robusto e flessibile. Tempo di configurazione: 30–60 minuti.
Passo 1: creare un Auth Token Matomo.
In Matomo → Gestione utenti → Sicurezza → „Token di autenticazione“ → „Crea nuovo token“. Permesso: read-only sulle Site rilevanti. Annoti il token (lo vedrà solo una volta).
Passo 2: costruire l'URL dell'API.
La Reporting API di Matomo ha una struttura molto coerente:
https://IHR-MATOMO.example.com/index.php
?module=API
&method=VisitsSummary.get
&idSite=1
&period=day
&date=last30
&format=JSON
&token_auth=IHR_TOKEN
Parametri importanti:
method— ciò che vuole interrogare (ad es.VisitsSummary.get,Actions.getPageUrls,Referrers.getKeywords)idSite— l'ID della Site (lo vede nel backend di Matomo)period—day,week,month,year,rangedate— ad es.last30,2026-05-01,2026-05-31format=JSON— restituisce dati strutturati, ideale per Apps Script
Passo 3: configurare Google Apps Script.
In Google Sheets → Estensioni → Apps Script. Il seguente script (struttura di base):
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(['Data', 'Visite', 'Visitatori unici', 'Frequenza di rimbalzo', 'Tempo medio']);
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');
}
Passo 4: memorizzare il token in modo sicuro. Apps Script → Impostazioni del progetto → Proprietà dello script → MATOMO_TOKEN come chiave, il Suo token come valore. Così il token non resta nel codice.
Passo 5: impostare un trigger. Apps Script → Trigger → „Aggiungi nuovo trigger“ → fetchMatomoVisitsSummary → a tempo → ogni giorno alle 06:00.
Fatto. Da ora in poi il Suo foglio si aggiorna automaticamente ogni mattina con i dati delle visite degli ultimi 30 giorni.
Metodo 2: Looker Studio come ponte
Se vuole scrivere meno script e cliccare di più.
Configurazione:
- In Looker Studio (un tempo Google Data Studio) → „Origini dati“ → „Matomo Connector“ (connettore della community).
- Stabilire la connessione con Matomo: URL + Auth-Token.
- Creare l'origine dati (ad es. „VisitsSummary“).
- In Looker Studio creare un report o trascinare direttamente i dati in una tabella.
- In Looker Studio → „File“ → „Esporta in Google Sheets“ — una tantum oppure tramite Scheduled Email.
Vantaggi:
- Nessun codice
- Visualizzazioni „for free“ in Looker Studio
- Report e-mail pianificati direttamente da Looker
- Self-service per utenti non tecnici
Svantaggi:
- I connettori della community hanno qualità variabile — alcuni non sono più aggiornati da due anni
- I report di Looker Studio non sono dinamici come la logica nativa di Sheets
- Lenti con grandi quantità di dati
Per molte configurazioni più piccole (liberi professionisti, piccole agenzie) è questa la soluzione pragmatica — senza il mal di pancia di Apps Script.
Metodo 3: plugin e bridge SaaS
Esistono due tipi di plugin:
Plugin per WordPress (se Matomo è integrato tramite WordPress):
- „Matomo Analytics — Ethical Stats“ (plugin ufficiale di Matomo) mostra sì i dati nella dashboard di WordPress, ma l'esportazione verso Sheets non è integrata.
- „Connect Polylang for Matomo“ e simili plugin specializzati puntano ad altri casi d'uso.
Bridge SaaS:
- Coupler.io — a pagamento (da 49 USD/mese), integrazione basata su clic tra Matomo e Google Sheets. Conviene se vuole integrare più origini dati.
- Supermetrics — il grande protagonista. Molto costoso (da 99 EUR/mese), ma adatto alle grandi aziende.
- Funnel.io — simile a Supermetrics, un po' più economico.
Il mio consiglio per la maggior parte dei lettori: il Metodo 1 (Apps Script) è il miglior investimento in 60 minuti, che può curare da solo a lungo termine senza costi ricorrenti. I bridge SaaS hanno senso quando vuole orchestrare più di 5 origini dati e non ha voglia di scrivere script.
Fonti di errore: Auth-Token, CORS, rate limit
In oltre venti configurazioni ho visto ripetutamente i seguenti errori:
1. Auth-Token con troppi permessi. Per l'integrazione con Sheets crei un token dedicato con esclusivamente permesso read per la Site specifica. Non usi mai token di amministrazione — se un giorno passa la scheda aperta a qualcuno, il rischio è troppo alto.
2. Errori di codifica dell'URL. Se usa filtri con caratteri speciali (ad es. segment=pageUrl=@/blog/), questi devono essere codificati correttamente. UrlFetchApp.fetch in Apps Script si aspetta di solito URL puliti — encodeURIComponent() è il Suo amico.
3. Problemi di CORS (non in Apps Script, ma nel browser). Se vuole chiamare l'API di Matomo da una web app nel browser, ha bisogno di header CORS in Matomo. Apps Script non ne è interessato, perché la chiamata avviene lato server.
4. Rate limit. Matomo Cloud non ha (al 2026) rate limit API ufficiali, ma per le configurazioni self-hosted su hardware debole i report di grandi dimensioni (ad es. pageview su 365 giorni con segmentazione) possono sovraccaricare il server. Soluzione: smaller chunks, intervalli date più brevi.
5. Incoerenze nei timestamp. Matomo usa UTC. Se in Sheets lavora con orari locali, possono verificarsi effetti off-by-one-day. In Apps Script, prima della scrittura, converta con Utilities.formatDate(date, 'Europe/Vienna', 'yyyy-MM-dd').
Esempio pratico: report settimanale sul traffico
Una configurazione concreta che ho attiva per tre clienti:
Struttura del foglio:
- Scheda „Raw“: dati di Apps Script da Matomo (aggiornati ogni giorno)
- Scheda „Weekly“: somme settimanali calcolate tramite
QUERY()/SUMIFS() - Scheda „Dashboard“: grafici e box KPI che fanno riferimento a „Weekly“
- Scheda „E-Mail“: testo settimanale preparato con
&eTEXT()
Trigger di Apps Script:
- Ogni giorno alle 06:00: aggiornare la scheda Raw
- Ogni lunedì alle 09:00: eseguire inoltre
sendWeeklyEmail(), che dal foglio invia un'e-mail agli stakeholder
L'e-mail settimanale contiene poi automaticamente: le 5 pagine top della settimana, il confronto con la settimana e il mese precedenti, nuovi referrer, anomalie tecniche (ad es. una bounce rate improvvisamente aumentata su una landing page).
Chi va nella stessa direzione — usare meglio i dati, ricavare di più dagli analytics — dovrebbe dare un'occhiata anche al mio articolo sulle analisi SEO gratuite per principianti. E per il quadro generale SEO + WordPress: fondamenti SEO di WordPress.
Desidera aiuto per la configurazione?
Se non vuole impostare da solo la configurazione di Apps Script per la Sua istanza Matomo, posso farlo io per Lei in 2–3 ore — inclusa una formazione di consegna, così potrà aggiungere da solo nuovi report. Mi scriva in breve cosa vuole tracciare.
→ Richiedi la configurazione: Mettiti in contatto
Tag
