Marketingdata ophalen met een AI-agent: GSC, GA4 en Google Ads

Elke maand staan er nieuwe cijfers in Google Search Console, Google Analytics en Google Ads — en elke maand blijft dat werk liggen omdat niemand tijd heeft om alles handmatig te exporteren en naast elkaar te leggen. Een AI-agent lost dat op: die haalt de data zelf op, via een veilige service account-verbinding. In dit artikel laat ik je zien hoe je zo'n koppeling opzet met Hermes, welke rechten je geeft (en welke niet), en hoe de output eruitziet.

Ik gebruik hiervoor onze eigen Hermes-installatie bij Voltti: dezelfde stappen, dezelfde terminal-output, zonder verzonnen cijfers. Nog geen agent geïnstalleerd? Begin met onze tutorial over Hermes installeren op desktop of terminal.

Marketingdata uit GSC, GA4 en Google Ads samenkomen in een AI-agent
Drie databronnen, één verbinding: de agent haalt op wat jij anders handmatig exporteert.

Stap 1: Een service account aanmaken in Google Cloud

Een service account is een identiteit voor programma's in plaats van mensen, met precies de rechten die jij toekent en niets meer. Je eigen Google-account deel je dus nooit. En de configuratie hoef je niet zelf te doen: je geeft de agent één opdracht, de rest doet die zelf. Zo'n opdracht ziet er zo uit, met dezelfde flow die Hermes Desktop bij een echte klant uitvoerde:

Stel bij mij een Google Cloud service account in met read-only toegang tot onze marketingdata.

Doe het volgende:
1. Installeer gcloud als dat nog niet gebeurd is.
2. Maak een nieuw Google Cloud project aan, bv. "marketing-data".
3. Maak binnen dat project een service account aan met een duidelijke naam en genereer een JSON-key.
4. Activeer de Search Console API, de Analytics Data API en de Google Ads API.
5. Stel GOOGLE_APPLICATION_CREDENTIALS in zodat het service account standaard gebruikt wordt.
6. Open daarna de browser en voeg het e-mailadres van het service account toe als gebruiker met read-only rechten in de instellingen van Google Search Console, Google Ads en Google Analytics. Bewaar elke wijziging.
7. Toon achteraan het e-mailadres van het service account en waar de JSON-key staat, zodat ik ze kan controleren.

Laat me weten als een stap om bevestiging vraagt.

De agent doorloopt de volledige flow zelfstandig. Eerst de terminal: gcloud installeren als dat nog niet op de machine staat, een Google Cloud-project aanmaken, het service account genereren met een JSON-key, de APIs activeren en de omgevingsvariabelen instellen. Daarna opent de agent de browser, gaat naar de gebruikersinstellingen van Google Search Console, Google Ads en Google Analytics, voegt daar het e-mailadres van het service account toe met read-only rechten en bewaart de wijziging. Bij die klant werkte alles naderhand meteen; de enige menselijke taak was meekijken en achteraf controleren of de rechten kloppen.

Liever zelf klikken, of draait je agent zonder browsertoegang? Dit zijn dezelfde stappen handmatig:

  • Maak in de Google Cloud Console een nieuw project aan (of hergebruik een bestaand project).

  • Creëer onder IAM & Admin een service account en genereer een JSON-key.

  • Activeer onder APIs & Services de Search Console API, Analytics Data API en Ads API.

  • Voeg het e-mailadres van het service account in Search Console (en later in Google Analytics en Ads) toe als gebruiker met read-only rechten.

  • Zet GOOGLE_APPLICATION_CREDENTIALS naar het pad van de JSON-key.

Vanaf dat moment kan de agent zichzelf authenticeren bij Google. Bij Voltti draait deze combinatie in productie: een dedicated service account met uitsluitend read-only toegang tot Search Console. Geen rechten op facturering, geen schrijfrechten, geen toegang tot andere diensten. Aan diezelfde minimale aanpak besteden we ook aandacht op onze pagina over veilig en verantwoord AI gebruiken.

hermes — Search Console rapport via service account

$ hermes "Trek de Search Console-statistieken van voltti.ai over juni–augustus 2026"

Google Search Console — voltti.ai (juni–augustus 2026)

Top queries

QueryKlikkenImpressiesPositieCTR
voltti682,475,0%
ai agent of chatbot03018,20,0%
ai assistent bedrijf01121,50,0%

Totaal

MetricWaarde
Impressies240
Klikken7

De site staat al op positie 2,4 op de merknaam, maar voor "ai agent of chatbot" (30 impressies, positie 18,2) is er nog geen enkele klik. Aanbeveling: een artikel of landingspagina die exact dat zoekwoord beantwoordt, plus interne links vanaf de homepage om de pagina autoriteit te geven.

Echte output van onze eigen Hermes-installatie: GSC-data van voltti.ai, opgehaald met een read-only service account.
hermes — Search Console rapport via service account

$ hermes "Trek de Search Console-statistieken van voltti.ai over juni–augustus 2026"

Google Search Console — voltti.ai (juni–augustus 2026)

Top queries

QueryKlikkenImpressiesPositieCTR
voltti682,475,0%
ai agent of chatbot03018,20,0%
ai assistent bedrijf01121,50,0%

Totaal

MetricWaarde
Impressies240
Klikken7

De site staat al op positie 2,4 op de merknaam, maar voor "ai agent of chatbot" (30 impressies, positie 18,2) is er nog geen enkele klik. Aanbeveling: een artikel of landingspagina die exact dat zoekwoord beantwoordt, plus interne links vanaf de homepage om de pagina autoriteit te geven.

Wat de agent ermee doet: van cijfers naar acties

De ruwe data is slechts het begin. In het voorbeeld hierboven zag je 240 impressies en 7 klikken over drie maanden (juni–augustus 2026), met 75% klikratio op het merkwoord maar nul klikken op bredere zoektermen als "ai agent of chatbot". De agent vertaalt die observatie zelf naar een concrete actie: een pagina schrijven die die zoekterm beantwoordt, plus interne links om die pagina autoriteit te geven. Hoe we die maandelijkse werkwijze inrichten, beschrijven we in ons artikel over SEO met een AI-agent.

Uitbreiden naar Google Analytics 4

Voor GA4 volg je dezelfde stappen als voor Search Console, met twee nuances. Eén: je activeert de Analytics Data API in plaats van (of naast) de Search Console API. Twee: je voegt het service account niet in Search Console toe, maar als Viewer op de GA4-property zelf, onder Property Access Management. Daarna kan de agent vragen stellen als "welke landingspagina's zorgen voor de meeste sessies?" en dezelfde tabelstructuur terugkrijgen als bij Search Console.

Een eerlijke nuance: bij Voltti zelf is de GA4-koppeling nog niet actief — we beginnen klein met Search Console en breiden uit als er een echte vraag is. De structuur hieronder is hoe de agent GA4-data teruggeeft zodra de Viewer-toegang er is, met voorbeeldwaarden ter illustratie:

hermes — GA4-sessies per kanaal (voorbeeldstructuur)

$ hermes "Geef de sessies per kanaal van de laatste 30 dagen, gesorteerd op volume"

GA4 — julliewebsite.nl (voorbeeldstructuur)

Sessies per kanaal (laatste 30 dagen)

KanaalSessiesBouncepercentage
Organic Search1.24042%
Direct53051%
Referral21038%

Top landingspagina's

PadSessiesGem. sessieduur
/8121m 42s
/diensten3562m 10s
/blog/...2903m 05s

(Tabelstructuur zoals de agent die teruggeeft: jullie eigen cijfers verschillen per property en periode.)

Voorbeeldstructuur met illustratieve waarden: jouw cijfers komen uit je eigen GA4-property.
hermes — GA4-sessies per kanaal (voorbeeldstructuur)

$ hermes "Geef de sessies per kanaal van de laatste 30 dagen, gesorteerd op volume"

GA4 — julliewebsite.nl (voorbeeldstructuur)

Sessies per kanaal (laatste 30 dagen)

KanaalSessiesBouncepercentage
Organic Search1.24042%
Direct53051%
Referral21038%

Top landingspagina's

PadSessiesGem. sessieduur
/8121m 42s
/diensten3562m 10s
/blog/...2903m 05s

(Tabelstructuur zoals de agent die teruggeeft: jullie eigen cijfers verschillen per property en periode.)

Voor Google Ads geldt dezelfde service account-basis, maar er komt een extra drempel bij: je hebt een developer token nodig uit het Ads API-center van een beheerdersaccount (manager account). Een basis-token werkt alleen op testaccounts; wil je cijfers uit productie-accounts ophalen, dan vereist Google goedgekeurde toegang. Die aanvraag doorloopt Google handmatig — reken op enkele dagen wachttijd en een korte motivatie van je gebruik.

Ook belangrijk: koppel Ads pas nadat GSC en GA4 werken. De meerwaarde van Ads-data zit immers in de combinatie — klikken en kosten naast organische impressies en landingspagina's. Wie alles tegelijk opzet, maakt fouten in rechten die pas later pijn doen. De voorbeeldoutputs die je in veel tutorials ziet, zijn daarbij vaak illustratief; controleer altijd welke rechten er echt achter zitten.

Die combinatie van bronnen is trouwens precies waar een agent het verschil maakt. Een bedrijf dat factureert via Moneybird wil bijvoorbeeld weten welke campagnes niet alleen bezoekers opleverden, maar ook werkelijk omzet: de agent haalt GSC- en campagnestatistieken op, vraagt de facturatie van dezelfde periode via de API en legt beide naast elkaar. Dezelfde pragmatische aanpak voor je administratie beschrijven we in ons artikel over AI koppelen aan je CRM en CMS.

KenmerkEigen Google-account delenDedicated service account

Rechten

Volledige accounttoegang, moeilijk te beperken

Exact de scopes die je toekent, bv. alleen GSC read-only

Actieverloop

Verloopt met je sessie, vraagt opnieuw inloggen

JSON-key blijft geldig tot je hem intrekt

Auditing

Eigen naam in de logs, geen onderscheid mens/machine

Elke aanroep logt onder het service account, traceerbaar

Terugdraaien

Wachtwoord wijzigen voor het hele account

Key of account intrekken zonder andere toegang te breken

Read-only is een keuze, niet een beperking

Alle koppelingen in dit artikel zijn bewust read-only: de agent kan cijfers lezen en analyseren, maar niets wijzigen in je Google-accounts. Zou je ooit schrijfrechten willen (bv. biedstrategieën aanpassen), dan geef je die apart en apart te herzien. Voor maandelijkse analyse is lezen voldoende — en het maakt de audit-trail simpel: elke aanroep is traceerbaar onder het service account.

Ben je nieuwsgierig wat een AI-agent voor jouw marketingdata kan betekenen in België en Nederland? Bekijk hoe een pilot verloopt of bespreek je vraag direct met ons via de knop hieronder.

Seppe Gadeyne

  • Artikel werd geüpdate op

    Veelgestelde vragen

    01Is een service account veiliger dan mijn eigen account?

    Ja, mits je minimale rechten geeft. Een service account kan niets buiten de scopes die jij toekent. Bij Voltti heeft die van Search Console uitsluitend read-only toegang; meer niet. Bovendien kun je een key op elk moment intrekken zonder je eigen account te raken.

    02Kan Hermes ook schrijven in Google Search Console?

    Niet met de read-only-rechten die we hier beschrijven, en dat is bewust. Voor analyse is lezen voldoende. Zou je ooit schrijfrechten nodig hebben, dan geef je die apart en apart te herzien.

    03Werkt dit ook met Google Analytics 4 en Google Ads?

    Ja, met dezelfde basis: Analytics Data API activeren en het service account als Viewer op de GA4-property zetten, of voor Google Ads een developer token regelen. Ons eigen service account heeft die toegangen bewust nog niet actief — we beginnen klein en breiden uit als er een echte vraag is.

    04Wat kost een service account in Google Cloud?

    Het aanmaken van een service account en het gebruik van de Search Console API is gratis. Kosten ontstaan pas als je APIs activeert die factureerbaar gebruik kennen; voor GSC-analyse is dat niet het geval.

    05Moet de JSON-key op dezelfde machine staan als Hermes?

    De machine die de API aanroept moet de key kunnen lezen, dus in de praktijk staat de key bij de agent. Bewaar de key buiten je backups van gewone bestanden en geef het bestand strikte rechten. Draait je agent op eigen hardware, kijk dan eerst naar onze uitleg over lokale en hybride AI.

    Klaar om je data aan een agent te koppelen?

    Bespreek je pilot