Google Analytics monitoring with Topologix

Analytics & Apps

GA4 web analytics on the canvas through a service account — 16 presets: 12 straight off the GA4 Data API (realtime active users, users/sessions/pageviews/events over 1-to-28-day windows, engagement and bounce rates) plus 4 near-real-time BigQuery presets that query the GA4 streaming export over 1-minute to 30-minute windows.

Requirements

  • A GA4 property and a GCP service account JSON key, with the service-account email added as Viewer under GA4 → Admin → Property Access Management.
  • No OAuth dance: the server signs a JWT with the key and exchanges it for a token scoped analytics.readonly + bigquery.readonly, refreshed automatically every hour.
  • For the “(BigQuery)” presets only: GA4 → Admin → BigQuery Links with Streaming enabled, and the service account granted BigQuery Data Viewer on the GA4 dataset plus BigQuery Job User on the project.

1 · Set up the integration

  1. Open the Integrations pageClick Integrations in the toolbar and pick Google Analytics from the catalogue.
  2. Create the service accountGCP Console → IAM → Service Accounts → create an account and add a JSON key, then grant that email Viewer on the GA4 property.
  3. Paste the JSONDrop the whole key file into Service Account JSON — the drawer echoes the detected client_email. The optional BigQuery Project ID and BigQuery Dataset fields default to the JSON’s project_id and analytics_<propertyId>.
  4. Create, then verifyClick Create, then reopen the integration and click Test — it lists account summaries and reports how many GA4 properties are accessible; with a BigQuery project set it also runs a trivial SELECT 1 to validate the Job User role and appends “BigQuery OK”.
The integration catalogue — Google Analytics found via search.
The integration catalogue — Google Analytics found via search.
The Google Analytics configuration drawer with example values. Every screen in this guide is the real product.
The Google Analytics configuration drawer with example values. Every screen in this guide is the real product.
Target on a private network? Route it through a proxy agent. Proxy agents run inside your network — behind NAT, on a management VLAN, in an air-gapped segment — and reach targets the Topologix server can't. The agent polls the server every 15 seconds for its assignments, runs the checks locally, and pushes results back every 5 seconds, so no inbound firewall rules are ever needed. Set a default proxy on the integration; every metric source can override it. If a proxy goes offline, its sources are marked stale within ~90 seconds and the last known values stay visible.

2 · Add it to a flow

  1. Select the nodeClick the node, open Metrics, then + Add and choose the Google Analytics integration.
  2. Pick property and metricThe GA4 Property dropdown is discovered from the service account (it’s the numeric Property ID — not the “G-” Measurement ID), and the Metric list shows every preset tagged with its path: realtime, report, or bigquery (~1m lag).
  3. SaveOptionally set a label, pick the interval, and click Add Source.
Live canvas screenshots for this integration require a real Google Analytics environment, so this guide shows the configuration screens only — the flow steps above work exactly like every other integration.

Good to know

  • Report presets use GA4’s own relative date ranges (yesterday, 7daysAgo, 28daysAgo), and the rate presets (engagement, bounce) are converted to percentages for the card.
  • The BigQuery presets read events_intraday_* — active users via APPROX_COUNT_DISTINCT(user_pseudo_id), events via COUNT(*) — so they see activity within about a minute, far ahead of the Data API’s processing lag.
  • Misconfiguration comes back as the exact fix, not a stack trace: a missing streaming export reads “turn on Streaming in GA4 → Admin → BigQuery Links”, a 403 names the two BigQuery roles to grant.

All integrations →

See it on your own infrastructure

Book a demo and we will walk you through Topologix with your systems in mind: on our cloud, or self-hosted in your own network.