Skip to main content

Google Analytics 4 Connection

What you can do

  • Conversion events — send server-side conversion events (purchases, sign-ups, leads) from your Signals to a Google Analytics 4 property, so GA4 can attribute them as conversions and feed them into its reporting and bidding models.

The Google Analytics 4 connection is available for Signals only (conversion tracking). It cannot be used as an audience destination.

It uses GA4's Measurement Protocol, which sends events straight to GA4 from BPP — independent of your website's browser tag.

Prerequisites

  • A Google Analytics 4 property with a web data stream already created for your website.
  • Editor access (or higher) on the GA4 property — you need it to create an API Secret.
  • Your website must be actively sending data to GA4 through its site tag. The Measurement Protocol only processes events for a web stream that has received hits recently; if your site is not sending data to GA4, the events may not appear. See Things to know.

Find your Measurement ID and API Secret

The connection needs two values from your GA4 account: a Measurement ID and an API Secret.

  1. Sign in to Google Analytics and select your GA4 property.
  2. Open Admin (the gear icon, bottom-left).
  3. In the Property column, click Data streams.
  4. Click your web stream (the one that matches your website).

Measurement ID

On the web-stream details page, the Measurement ID is shown at the top right of the panel.

  • Format: G-XXXXXXXXXX (for example, G-A1B2C3D4E5).
  • Copy it — this goes into the Measurement ID field in BPP.

API Secret

Still on the same web-stream page:

  1. Find the Measurement Protocol API secrets section and open it.
  2. Click Create.
  3. Give the secret a nickname, for example "Bytek".
  4. Copy the secret value immediately. It is a long alphanumeric string and is only shown in full once.

If you lose the secret, you cannot reveal it again — just create a new one and use that instead.

Setup

  1. Navigate to Connections and click New Connection.
  2. Give the connection a name.
  3. Select Google Analytics 4 as the connection type.
  4. Under Measurement Protocol Credentials, paste the Measurement ID (G-XXXXXXXXXX) and the API Secret.
  5. Click Add Connection.

The connection is verified automatically when you save it — there is no separate "Test" button.

  • Active (connected) means the Measurement ID is in the correct format and GA4's endpoint is reachable.
  • Important: GA4 cannot confirm that your API Secret is actually correct at this point. A connection can show Active even if the secret is wrong (but correctly formatted). You will only discover a wrong secret at the first real export, or in GA4's DebugView. See Things to know.

Editing later? The API Secret stays masked after saving. Leave the API Secret field blank to keep the stored secret unchanged; only fill it in when you want to replace it.

How it works

  1. BPP reads the events that match your signal's trigger filters from your data warehouse.
  2. For each event, BPP:
    • Determines the user identity (see Identity mapping).
    • Computes the conversion value using your formula.
    • Builds a GA4 event with the event name, value, currency, and any mapped parameters.
  3. BPP sends the events to GA4 via the Measurement Protocol in batches (up to 25 events per request, handled automatically).
  4. The sync result is saved to Sync History.

Identity mapping

GA4 needs to attribute each event to a user. You map one or both of the following fields from your data:

  • Client ID — the field holding GA4's client_id.
  • User ID — the field holding your internal user identifier.

At least one of the two is required. If you map only User ID, BPP generates a stable Client ID for each user automatically — you do not need to provide one. Events with no usable identity are skipped.

What to configure in BPP

When you add a Google Analytics 4 destination to a Signal:

FieldRequiredWhat it does
Google Analytics 4 AccountYesThe GA4 connection to use.
Event NameYesThe GA4 event name. Pick from Purchase, Add to Cart, Begin Checkout, Generate Lead, Sign Up, or Other (then type a Custom Event Name).
Conversion ValueYesA formula that computes the value of each event (e.g. the order total).
Currency CodeYesThe currency applied to every event sent from this destination (e.g. EUR, USD).
Client ID FieldYes*The column holding GA4's client_id.
User ID FieldYes*The column holding your internal user id.

* Client ID or User ID — you need at least one.

Tips

  • Run a Preview first. Before doing a real run, trigger a Preview Mode run and inspect the generated CSV to confirm the event name, value, currency, and identity mappings are correct.
  • Double-check the API Secret. Because GA4 cannot validate it at connection time, a typo only surfaces at the first real export. Confirm the secret you copied matches the one shown in GA4.
  • Map both identifiers when available — it gives GA4 the strongest signal for attribution.
  • Use realistic values. GA4 uses the conversion value in its modelling, so make sure your formula produces the true monetary value per event.

Troubleshooting

SymptomLikely cause
Connection shows Active but no events appear in GA4The API Secret is wrong (GA4 cannot detect this at connection time). Verify the secret in GA4 and update the connection.
No events appear in GA4 reporting at allThe web stream has not received hits from your site tag recently (Measurement Protocol requires recent traffic). Confirm your site tag is firing.
Events missing from the exportThe events are older than 72 hours — GA4 does not attribute events older than that, so BPP skips them. Adjust your data window.
Rows skipped — "no usable identity"Neither Client ID nor User ID is populated for those rows. Check that at least one identity field is mapped and populated.
Some rows sent, others notThis is expected — each event is validated individually. Review the Sync History status message for the specific reasons.
Want to debug in GA4Use GA4 DebugView (real-time debug report) to see exactly which events and parameters GA4 receives.

Things to know

  • GA4 cannot validate credentials at connection time. A connection can show Active even with a wrong (but correctly formatted) API Secret or Measurement ID. The error only appears at the first real export or in GA4 DebugView.
  • Only recent events are sent. GA4 attributes events from roughly the last 72 hours. Older events are skipped automatically, because GA4 would not count them.
  • A value is required, and currency is fixed per destination. Every event must carry a value, and the currency you choose applies to all events from this destination.
  • The web stream needs recent traffic. The Measurement Protocol only processes events for a web stream that has received hits in the last ~72 hours.

Updating credentials

Google Analytics 4 connections use a static Measurement ID and API Secret — there is no OAuth login and nothing expires. If a secret is compromised or rotated in GA4, open the connection, enter the new API Secret, and save. All signals using the connection resume on their next run.