Looking for SegmentStream Marketing Analytics? It moved to measure.segmentstream.com →
Built in

Google Analytics 4

Google Analytics 4's BigQuery export, read by a dedicated service account. Queries run inside BigQuery and write to your warehouse; rows never pass through pipeline code.

Inside SegmentStream

Connected once, used everywhere.

Connections are declared in your repository and authorised in the console. The credentials stay with the platform; apps, pipelines, workflows and the agent use them under the same roles.

segmentstream.com
The console's connections page: Resend, Xero, Stripe, Supabase, LinkedIn and Telegram connections, each connected, with the key it is declared under in code
Connections declared in code and authorised here. The credentials stay with the platform, never in the repository.

What the connection reaches

  • Daily and intraday export tables, found by date
  • One query per run, merged into your warehouse by date
  • Only SELECT on the configured dataset; everything else is refused
Status
Built into the pipeline SDK
Connection class
BigQueryConnection
Credential
BigQuery Data Viewer on the GA4 export dataset

Connect Google Analytics 4

Three steps, the same for every connection. The credential goes to the platform, never into the repository or pipeline code.

  1. 1

    Declare it in connections/connections.py

    connections/connections.py
    from segmentstream.connections import BigQueryConnection connections = (    BigQueryConnection(key="ga4"),)
  2. 2

    Deploy

    $ segmentstream deploy
  3. 3

    Connect

    Set the project and dataset of the GA4 export in the console, or from the terminal. Saving creates a dedicated service account.

    $ segmentstream connection configure ga4 --source-project my-project --source-dataset analytics_123456
  4. 4

    Then

    Grant that service account BigQuery Data Viewer on the export dataset, then verify access.

    $ segmentstream connection verify ga4

Use it

Code asks for the connection by its key. The platform adds the credential on the way out.

pipeline/models/…
@s.model(key="ga4_events", connections=("ga4",), schema=SCHEMA, partitioning=DAILY)def ga4_events(context: s.Context) -> s.Ga4QueryResult:    client = s.ga4_bigquery_client("ga4", context=context)    client.query(sql_for(client, context.partition_keys))    return client.result()

Or ask your agent

“Connect our GA4 BigQuery export and build a daily sessions table.”

Part of these solutions

More in Analytics & social

Enterprise pilot

Want Google Analytics 4 set up for you?

Our forward-deployed engineers build one solution on your data, in your own workspace, as code you own. Tell us what you run today and what you want; your note goes straight to our founder.

  • One solution, on your data, in your own workspace
  • First version live in two weeks
  • Parity proven before anything is switched off
  • Fixed scope and price, credited to your contract if you continue

Not ready for a pilot? Send the form anyway with your question. An engineer will reply, not a sales rep.

How the pilot works

Goes to our founder’s inbox. No sales queue, no newsletter.

Connect what your company runs.

Start a pilot

Our engineers build the first version on your data in two weeks, at a fixed price.

Or build it yourself with your coding agent:

curl -fsSL https://segmentstream.com/install.sh | sh

We’ll email you product updates, tips and onboarding help. Unsubscribe anytime.