Van 4 uur naar 30 minuten per klantrapportage
Marketingbureaus, IT-dienstverleners, SEO-agencies: ze besteden allemaal te veel tijd aan maandelijkse rapportages. Data ophalen uit verschillende tools, samenvoegen in een template, inzichten formuleren, presentatie opmaken. Per klant 2-4 uur. Bij 20 klanten: 40-80 uur per maand puur aan rapportages.
We bouwen voor fictief marketingbureau "Momentum Digital" een systeem dat voor elke klant automatisch een maandrapportage genereert op basis van campagnedata uit Google Analytics, social media en advertentieplatforms. De accountmanager besteedt 20 minuten aan review en persoonlijke toevoeging.
Architectuur
Elke klant heeft een eigen Google Sheet met KPI-data. n8n verzamelt maandelijks de data, Claude analyseert en schrijft inzichten, n8n genereert een geformatteerde rapportage als Google Doc, en verstuurt deze per e-mail.
Stap 1: Klantdatabase aanmaken in Airtable
Maak een Airtable base "Klanten Momentum Digital" aan:
Velden: Bedrijfsnaam, Contactpersoon, E-mail, KPI Sheet URL (link naar Google Sheet), Rapportagefrequentie (maandelijks/kwartaal), Actieve diensten (multi-select: SEO/SEA/Social/Content), Rapportagestijl (formeel/informeel), Rapportage-dag (getal 1-28 van de maand)
Vul alle actieve klanten in. De KPI Sheet URL verwijst naar de klantspecifieke Google Sheet die je in stap 2 aanmaakt.
Stap 2: KPI-template per klant in Google Sheets
Maak een template Google Sheet aan met drie tabbladen.
Tabblad 1 — KPIs: maandoverzicht van kernmetrics. Kolommen: Maand | Metric | Waarde | Doel | Verschil vs vorige maand | Verschil vs doel
Vul de rows met de KPIs die relevant zijn per klant. Voorbeelden voor een SEO-klant: organische sessies, keyword-rankings top 10, nieuwe backlinks, conversies via organisch. Voor een social media-klant: bereik, engagement rate, nieuwe volgers, clicks naar website.
Tabblad 2 — Campagnedata: ruwe data per campagne of kanaal.
Tabblad 3 — Insights log: historische Claude-analyses voor vergelijking.
Stap 3: Data-verzameling automatiseren
Per databron een aparte n8n integratie:
Google Analytics 4: gebruik de GA4 API (via HTTP Request in n8n). Haal per klant de maanddata op: sessies, gebruikers, conversies, per kanaal. GA4 vereist een service account met Analytics Read-rechten.
Google Search Console: eveneens via API. Haal clicks, impressies, CTR en gemiddelde positie op per maand.
Meta Ads: via Meta Marketing API. Haal spend, bereik, impressies, clicks en conversies op.
Handmatig alternatief: als API-integraties te complex zijn, maak dan een Google Form voor accountmanagers om maandelijks de KPIs in te voeren. n8n verwerkt het formulier automatisch.
Stap 4: Data naar Google Sheets schrijven
Na het ophalen van de data, schrijft n8n de waarden naar de juiste rijen in het KPI-tabblad van de klant-specifieke Sheet. Gebruik de Google Sheets > Update Row node met de juiste cel-referenties.
Voeg een berekening toe voor "Verschil vs vorige maand": de Sheets-formule =((B2-B1)/B1)*100 berekent de procentuele verandering automatisch zodra de nieuwe waarde is ingevoerd.
Stap 5: Claude aanroepen voor analyse
Na het vullen van de Sheet, stuur de KPI-data naar Claude voor analyse:
HTTP Request naar Claude:
Prompt:
"Je bent een senior accountmanager bij een Nederlands marketingbureau. Schrijf een professionele maandanalyse voor klant {{ bedrijfsnaam }} op basis van onderstaande KPI-data. Schrijf in {{ rapportagestijl }} stijl. Geef: 1) Samenvatting resultaten van de maand (150 woorden), 2) Positieve ontwikkelingen met verklaring (2-3 punten), 3) Aandachtspunten en aanbevelingen (2-3 punten), 4) Focus voor komende maand (1-2 concrete acties). Schrijf vanuit wij-perspectief (wij als bureau), gebruik concrete cijfers uit de data.\n\nKPI-data:\n{{ kpi_data_als_tekst }}"
Formatteer de KPI-data als leesbare tekst in de Code node voordat je naar Claude stuurt.
Stap 6: Google Doc rapportage genereren
Maak een Google Doc template aan met placeholders: {{bedrijfsnaam}}, {{maand}}, {{samenvatting}}, {{kpi_tabel}}, {{analyse}}, {{aanbevelingen}}, {{volgende_stap}}.
In n8n: Google Drive > Copy File (kopieer de template voor deze klant). Google Drive > Update File (vervang de placeholders met de daadwerkelijke data). Naam van het nieuwe bestand: "Rapportage {{ bedrijfsnaam }} {{ maand-jaar }}".
Alternatief: genereer de rapportage als HTML en converteer naar PDF via een service als CloudConvert of WeasyPrint.
Stap 7: Rapportage versturen per e-mail
Gmail node: stuur de rapportage naar de contactpersoon van de klant.
Subject: Maandrapportage {{ bedrijfsnaam }} — {{ maand }}
Body (door Claude gegenereerd, klantspecifiek):
"Beste {{ contactpersoon }}, bijgevoegd de maandrapportage voor {{ maand }}. {{ korte_highlight_uit_analyse }}. We bespreken de resultaten graag in ons maandelijkse overleg op {{ datum_overleg }}. Heb je in de tussentijd vragen? Neem gerust contact op. Met vriendelijke groet, {{ accountmanager }}"
Voeg de rapportage toe als bijlage (PDF of Google Doc link).
Stap 8: Rapportage-agenda instellen
Maak een n8n workflow met Schedule trigger. Logica: haal elke dag om 07:00 alle klanten op uit Airtable waarbij Rapportage-dag = dag van de maand (vandaag). Verwerk alle klanten met die dag als rapportagedag.
Dit zorgt dat klant A op de 5e van de maand rapporteert, klant B op de 10e, klant C op de 15e. Spreiding voorkomt dat je tien rapportages op dezelfde dag hebt.
Stap 9: Review-stap voor accountmanagers
Voeg een review-stap toe voor de accountmanager:
Stuur de concept-rapportage 24 uur voor verzending naar de accountmanager via Slack of e-mail.
Geef een link naar het Google Doc voor eventuele aanpassingen.
Na 24 uur: als geen aanpassingen zijn gemaakt, stuurt n8n automatisch. Als de accountmanager een "STOP"-reactie stuurt (via webhook), wordt de verzending gepauzeerd.
Stap 10: Rapportage-archivering
Sla elke verzonden rapportage op in Google Drive in een klantenmap: Drive > /Klanten/{{ bedrijfsnaam }}/Rapportages/{{ jaar }}/
Update Airtable: voeg een "Laatste rapportage" datum toe aan het klantrecord.
Update de Insights log in de klant-Sheet: kopieer de Claude-analyse naar het tabblad voor historische vergelijking. Na 12 maanden kun je Claude laten analyseren hoe de KPIs year-over-year hebben gepresteerd.
Troubleshooting
GA4 API geeft 403: controleer of het service account de juiste rechten heeft in GA4 (Viewer-rol is voldoende voor data ophalen).
Google Docs placeholder niet vervangen: zorg dat de placeholder exact overeenkomt, inclusief spaties. Gebruik een Code node om alle placeholders te vervangen via een regex-loop.
Claude-analyse te generiek: voeg meer context toe aan de prompt: branche, doelgroepen, seizoenspatronen en specifieke doelen van de klant. Sla deze context op per klant in Airtable.
Rapportage te laat verstuurd: zorg dat de n8n schedule-trigger vroeg genoeg staat (07:00) en dat de verwerking niet time-out gaat bij langzame API-responses. Verhoog de workflow-timeout in n8n-instellingen.
Resultaat
Na implementatie genereert het systeem maandelijks gepersonaliseerde rapportages voor alle klanten, zonder handmatig werk. De accountmanager besteedt 20 minuten aan review in plaats van 3 uur aan samenstellen. Kwaliteit is consistenter: Claude vergeet geen enkel KPI-punt. En klanten ontvangen hun rapportage altijd op het afgesproken tijdstip.