Google Analytics 4
Only GA4 is supported. Universal Analytics collects nothing.
#How
Readers' browsers load Google's gtag.js and send page views and search events directly to Google. Reports are read back from GA4 using the Google account you connected.
#Where you do it
Task | Where |
|---|---|
Open the settings page | Confluence > Settings > Apps > Google Analytics |
Connect Google (do this first) | Connect Google panel > Connect Google Analytics |
Pick the GA4 property | Connect Google panel > GA4 property |
#Settings that affect this
Setting | Where | What it does |
|---|---|---|
Connect Google Analytics / Disconnect | Settings > Apps > Google Analytics > Connect Google | Starts a Google sign-in popup. The connection is site-level: one admin connects once and the whole Confluence site uses it. Disconnect revokes access at Google and deletes the stored tokens. |
GA4 property | Settings > Apps > Google Analytics > Connect Google | Which GA4 property the in-Confluence reports read from. Also scopes the data stream, API secret and custom dimension controls. |
Data stream | Settings > Apps > Google Analytics > View tracking | Picking a web data stream fills in the Measurement ID for you. |
#Limits that apply here
Limit | Value | What happens |
|---|---|---|
Measurement ID format | - | Universal Analytics IDs are accepted by the settings field but collect nothing anywhere. |
GA4 data latency | - | New events and newly created custom dimensions take up to 48 hours to appear in Google Analytics. This is Google's behaviour, not the app's. |
Google connection scope | - | The Google connection is site-level, not per-user. One admin connects and everyone uses it. |
#Worth knowing
"Hide Google Analytics pages in Confluence" only hides the app's own pages from navigation. Page titles are still sent to Google.
Report rows are not filtered by the viewer's Confluence permissions. Metrics come from Google keyed on page id and are shown to anyone who passes the Allowed groups check; only the titles are resolved with the viewer's own access. Use Allowed groups if this matters, and leave the Raw paths panel off, as that is the sharper exposure.
Universal Analytics is effectively dead in this app even though the setting exists. Every collection path requires a G- ID.
A manually pasted Measurement Protocol API secret is wiped by the next Save configuration unless retyped. Secrets picked or created through the Google picker survive.
The Google connection is site-level, not per-user. One admin's connection serves everyone, and disconnecting affects everyone.
#Related
Better with company.
