Marketing
De cijfers van de klant, waar je al werkt
Koppel per klant hun Google Analytics 4, Search Console, Google Ads en SE Ranking; de cijfers verschijnen daarna op de klantpagina zelf, in een marketingtabblad en in één overzicht over alle klanten. Elke koppeling draagt haar eigen synchronisatiestatus, dus een verouderde grafiek is nooit stil. Welke tegels de klant te zien krijgt en hoe ze heten, stel je per klant samen.
Vijf bronnen, gekoppeld op de klant
Een klant krijgt zijn eigen koppelingen: een GA4-property, een Search Console-site, een Google Ads-account en een SE Ranking-project. Meerdere koppelingen per bron mogen, dus een klant met twee merken houdt ze uit elkaar. Elke koppeling kan bovendien aan één website van die klant hangen in plaats van klantbreed te blijven, zodat een klant met twee sites per site groepeert. De accountkiezers zoeken met type-ahead en tonen precies wat de Google-koppeling van de ingelogde collega werkelijk kan bereiken; een lege lijst legt uit waarom hij leeg is en wat de volgende stap is.
- Nog geen Google-account gekoppeld: de knop "Google koppelen" staat er meteen naast
- Rechten ontbreken: koppel opnieuw en geef toegang tot die ene bron
- Toegang ingetrokken: de koppeling meldt "Verbinding verbroken"
- De API staat niet aan in het Google Cloud-project: opnieuw koppelen helpt niet, en dat staat er ook
- Google Ads zonder ontwikkelaarstoken: het scherm verwijst je naar Instellingen → Marketing
Op de klantpagina, in een tabblad, over alle klanten heen
Op elke klantpagina staat het paneel Marketing: de laatste 30 dagen tegen de 30 daarvoor, KPI-rijen met het verschil, sparklines en de gekoppelde accounts als chips met "Openen in Google Analytics" erachter. Dat paneel leest volledig uit de eigen database en doet nul aanroepen naar Google, dus het opent net zo snel als de rest van het dossier. Wil je verder kijken, dan opent het marketingtabblad van die klant met langere perioden en de uitsplitsingen; de pagina Marketing in de zijbalk toont hetzelfde dashboard met een klantkiezer erboven, dus het is één scherm met twee ingangen. Overzicht → Marketing legt er één regel per gekoppelde klant naast, server-side sorteerbaar, zodat je bij de koffie ziet wie aandacht nodig heeft. Licenseer je ook de rapportagemodule, dan levert marketing negen van de hoofdstukken voor de maandelijkse klantrapportage.
- Klantpaneel: 30 dagen tegen de vorige 30, met sparklines en accountchips
- Klanttabblad: langere perioden, uitsplitsingen en de indelingseditor
- Overzicht → Marketing: bronnen, sessies, kliks, gem. positie, uitgaven, conversies en key events per klant
- Dashboardtegel voor het team, en een tegel op het dashboard van de klant zelf in het portaal
KPI's die je kunt openmaken
Elke bron levert zijn eigen KPI-rij, met de verandering ten opzichte van de vorige periode ernaast. Je kiest de periode: laatste 30 dagen, deze maand, dit kwartaal, laatste 90 dagen of de laatste 12 maanden, telkens vergeleken met de periode ervoor. Onder de tegels zitten de uitsplitsingen, die live bij de bron worden opgehaald in plaats van meegesynchroniseerd: toppagina's, kanalen, apparaten en belangrijke gebeurtenissen per gebeurtenis uit Analytics; topzoektermen, toppagina's en de grootste stijgers en dalers uit Search Console; campagnes uit Ads; en zoekwoorden, zoekwoordgroepen, de website-audit en zichtbaarheid in AI-zoekresultaten uit SE Ranking. De tegels zelf komen uit de dagcijfers die 's nachts zijn opgehaald, dus een periodewissel kost geen quotum bij Google.
- Analytics: sessies, gebruikers, nieuwe gebruikers, belangrijke gebeurtenissen, conversies, betrokkenheid, omzet en kanalen
- Search Console: kliks, vertoningen, CTR en gemiddelde positie
- Google Ads: uitgaven, kliks, vertoningen, conversies en conversiewaarde
- SE Ranking: gemiddelde positie, Top 3, Top 10, Top 30, scorende en gevolgde zoekwoorden
Jij stelt samen wat de klant ziet, en hoe het heet
Het dashboard van een klant bewerk je zoals je je eigen Mijn dag-pagina inricht: klik op "Indeling bewerken" en je versleept tegels om ze te herordenen, verbergt wat deze klant niet nodig heeft (verborgen tegels wachten in een strook eronder), hernoemt ze ter plekke in het Nederlands en het Engels, zet uitsplitsingen aan of uit, kiest de standaardgrafiek, of verbergt een hele bron voor deze klant. Alles slaat direct op, en de indeling is precies wat een klantlogin in het portaal te zien krijgt. Verbergen gebeurt aan de serverkant: een verborgen tegel verdwijnt uit de gegevens die het paneel, het tabblad en het overzicht krijgen, hij wordt niet in de browser weggedrukt. Zolang je niets aanraakt verandert er niets, want geen indeling betekent gewoon: toon alles. Diezelfde editor is waar een conversie zijn eigen naam krijgt, want GA4 noemt hem zoals de developer hem ooit heeft aangemaakt.
- GA4 zegt generate_lead; de klant leest "Aanvragen via de website"
- Een eigen naam per sleutelgebeurtenis, per taal, getypt in de rij waar die gebeurtenis staat
- De GA4-gebeurtenisnaam blijft eronder de referentie, dus de cijfers blijven kloppen
- Een gebeurtenis die deze periode niet gemeten is, voeg je toe op zijn ruwe GA4-naam
- Liever geen conversiecijfers delen? Zet de tegel met sleutelgebeurtenissen uit voor deze klant
Een grafiek die veroudert, zegt dat zelf
Elke koppeling draagt haar eigen status: Gesynchroniseerd, Eerste synchronisatie loopt, Synchronisatiefout of Verbinding verbroken, met "Laatst gesynchroniseerd …" erbij. Een koppeling synchroniseert via het Google-account van één collega en elk scherm noemt wie dat is, zodat niemand hoeft te raden waarom de cijfers stilvallen als die persoon vertrekt. 's Nachts haalt een taak per organisatie de dagcijfers op en trekt daarbij de laatste week opnieuw door: Search Console wordt pas twee tot drie dagen later definitief en de attributie van Analytics en Ads blijft nog even schuiven, dus late gegevens herstellen zichzelf. Elke koppeling loopt los van de andere, dus één kapotte verbinding legt de rest niet stil. Bij het aanmaken van een koppeling start een backfill van ongeveer dertien maanden, per maand weggeschreven, zodat sparklines en jaar-op-jaar meteen werken. Ontkoppelen wist niets: de koppeling wordt gedeactiveerd, de gesynchroniseerde historie blijft, en opnieuw koppelen zet hem weer aan.
Sleutels, rechten en licentie
Marketing rijdt mee op de Google-koppeling van je bureau: je registreert je eigen Google Cloud-project en de marketingrechten worden bij hetzelfde toestemmingsscherm gevraagd, dus een collega hoeft niet drie keer langs Google. Onder Instellingen → Marketing zet je de SE Ranking API-sleutel (één sleutel voor het hele bureau, waar elk klantproject aan wordt gekoppeld) en het Google Ads-ontwikkelaarstoken; beide worden versleuteld opgeslagen en nooit teruggegeven, het scherm meldt alleen dát er een sleutel staat. Wie wat mag, staat los van elkaar: de cijfers lezen doet standaard elk teamlid, koppelingen leggen is beheerderswerk en het kruis-klantoverzicht is een managementscherm. De kern van schakl. is open source (AGPL); marketing is een uitbreidingsmodule en vraagt een licentiesleutel. Loopt die af, dan wordt de module alleen-lezen: koppelen en instellingen weigeren en de nachtelijke synchronisatie staat stil, maar het paneel, het tabblad en het overzicht blijven de al opgehaalde cijfers tonen.
- Marketingcijfers bekijken: standaard voor elk teamlid, te versmallen als je advertentiebudget gevoelig vindt
- Marketingkoppelingen beheren: beheerders, zoals de Google-instellingen zelf
- Marketingoverzicht bekijken: het kruis-klantscherm, standaard voor managers
- Een klantlogin in het portaal ziet alleen het dashboard dat jij voor die klant hebt samengesteld
De periode is een naam, geen aantal dagen
De vraag die een bureau werkelijk krijgt is "hoe ging juli?", en dertig dagen terugtellen vanaf vandaag beantwoordt die niet: dat is 11 juli tot 9 augustus, en dat is geen maand waar iemand over rapporteert. Eén woord benoemt daarom de periode: een lopend venster, een rollend voorzetsel als deze maand of vorig kwartaal, of een vastgezette periode als 2026-07. Een tabblad blijft zo volgende maand nog steeds "vorige maand" betekenen, terwijl een link die je in een gesprek plakt de maand blijft tonen waar je naar keek. Het label wordt bepaald door de datums en niet door het woord dat je koos, dus een maand via de kiezer en dezelfde maand via het tabblad zijn niet uit elkaar te houden. Datzelfde geldt voor de vergelijking: een percentage is een uitspraak over twee periodes, dus staan ze er allebei bij ("t.o.v. 11 jul - 9 aug 2025" en niet "t.o.v. vorige periode"), en je kiest zelf of het dashboard tegen vorig jaar of tegen de vorige periode afzet, met per klant een afwijking waar seizoen dat vraagt.
- Een periode-tot-nu zonder hele dag valt terug op de vorige hele periode; 1 augustus heeft nog geen augustus
- Een periode die je zelf benoemde wordt nooit stilzwijgend vervangen
- Het overzicht over alle klanten negeert bewust de afwijking per klant, want percentages met verschillende noemers rangschikken niets
Meer weten?
De documentatie beschrijft elke module tot in de details, van installatie tot rechten.