Marketing & analytics Available
Google Analytics 4
One GA4 property per client, linked on the client's own page. What comes out per day then lives in your own database, so every chart and every comparison with the previous period is drawn without a call to Google.
What you need
- The Marketing module is enabled and licensed for this workspace (Instellingen → Modules)
- A Google Cloud project with an OAuth client, configured under Instellingen → Google Workspace
- In that same project, both the Google Analytics Admin API and the Google Analytics Data API are switched on
- A Google account with read access to the GA4 property, connected under Instellingen → Mijn account
- The marketing.link.manage permission, to be allowed to link accounts
How to connect it
- 1 In the Google Cloud project your OAuth client belongs to, switch on both APIs: the Google Analytics Admin API and the Google Analytics Data API. Enabling only the Data API leaves the property picker dead while the rest of the module looks configured, because listing properties is an Admin API call.
- 2 Go to Instellingen → Mijn account (Settings → My account) and connect your Google account. One consent covers Analytics, Search Console and Ads together, so you walk through Google's consent screen once instead of three times.
- 3 Open Klanten → de klant (Clients → the client) and click edit on the Marketing panel.
- 4 Choose Account koppelen (Link account), set the source to
Analytics-propertyand pick this client's property from the list. - 5 If the client has more than one website, use Koppelen aan website (Link to website) to say which site the property measures. Leave it on Hele klant (Whole client) if the property covers everything.
- 6 That's it. The link immediately starts a backfill of roughly 13 months; while it runs the panel reads Eerste synchronisatie loopt (first sync in progress).
- 7 From then on the sync runs nightly and re-pulls the last seven days, so late or restated figures correct themselves.
What gets stored per day
Each linked property adds one small row per day to your database. From that, the panel, the tab and the cross-client overview draw their figures, their trend lines and their comparison with the previous period, without calling Google. The property's own currency travels with it, so revenue is labelled in the currency the property reports in.
- Sessions, users and new users
- Key events, also shown under the name conversions
- Engagement and revenue
- Sessions split across the acquisition channels
Drill-downs are fetched live
Only the daily totals go into the database. Drill-downs are fetched from Google on the spot for the range you are looking at and cached for about an hour, so clicking a tile never grows your warehouse with page paths. Every table also carries a link out to Google Analytics for the real analysis.
- Top pages and channels
- Devices
- Key events per event name
- Organic search engines, social platforms and referring sites, each on their own
You decide what the client sees
Per client you fix a layout: which tiles are visible, in what order, what they are called in Dutch and English, which drill-downs may be opened and which metric the chart defaults to. Key events can be switched off entirely for one client — they then disappear from the panel, the tab, the overview and the API response. The same layout is what a client with a portal login sees, and the monthly report's sections read from it.
A link belongs to a person
A link syncs through one colleague's Google connection, and the panel, the tab and the picker all name who that is. Without it the second employee sees a working link with no hint whose it is, connects Google again for data that is already flowing, and nobody learns that a client's numbers stop the day that person leaves. If the connection goes away the link goes dormant and asks to be reconnected. Unlinking deletes nothing: the link is deactivated and the synced history stays, including when you switch it back on later.
Permissions
Grant these to the role that manages this integration (Settings → Roles). Admin-only by default, and never to the client role.
-
marketing.metrics.readRead a client's marketing figures: the panel, the tab and the dashboard widget. Granted by default to admin, member and the client portal. -
marketing.link.manageLink and unlink properties, open the account picker and fix the per-client layout. Admin only by default. -
marketing.overview.readThe cross-client grid under Overzicht → Marketing, one row per linked client. Admin only by default.
What it deliberately does not do
- Nothing is written back to Google Analytics. The link only reads.
- Only daily totals are stored. Drill-downs are fetched per request, so you see whatever Google still serves at that moment.
- GA4 renamed conversions to key events. schakl. requests key events and shows them under both names; nothing is counted twice.
- Amounts are shown in the property's own currency and are never converted.
- Google Tag Manager is deliberately not a source: GTM has no metrics of its own, and the events it fires already arrive through GA4.
- If your organisation has no OAuth client of its own under Instellingen → Google Workspace, you talk to Google through the installation operator's Cloud project — and enabling the APIs in your own project then changes nothing.
Where to find it Klanten → de klant → paneel Marketing (Clients → the client → Marketing panel), plus that client's Marketing tab and Overzicht → Marketing (Overview → Marketing).
Read the guide