Skip to main content
Analytics
Setup about 2 minutes

Google Analytics 4 server-side events with SignalBridge

SignalBridge sends your conversions to Google Analytics 4 from its servers through the Measurement Protocol, using the standard GA4 event names. A purchase or lead that an ad blocker, a consent banner or a closed tab kept away from the browser tag can still reach your property.

It is a supplement to your GA4 tag, not a replacement. This page explains what is sent, how server events relate to browser sessions, how to connect a property, and the limits you should know before relying on the numbers.

By Kiril Kostov, Founder of SignalBridge. Checked against the product on .

Delivery
GA4 Measurement Protocol (server to Google)
Connect with
Google sign-in, then a property and web data stream
Needs
Editor access to the GA4 property
Credentials
A Measurement Protocol secret named SignalBridge, created or reused for you
Event names
GA4 recommended names, with unmapped events sent in lower case
Retries
One attempt per event. A timeout is recorded as unknown, not resent
Consent
Held back when marketing consent is denied or required and not granted
Plan
Counts as one platform. Starter and trial plans allow two platforms

How it works

  1. An event is captured

    The SignalBridge script or Shopify app records the event with its value, currency, items and page details, and gives it an event ID.

  2. Consent is applied

    If your site requires marketing consent and the visitor has not granted it, or if they have denied it, the event is not sent to GA4. The Traffic Quality exclusion that keeps suspected bot traffic away from ad platforms does not apply to analytics.

  3. The event is translated

    SignalBridge maps its event name to the GA4 name from the table below, adds the parameters GA4 expects, and checks the document against GA4's published limits before it is stored for delivery.

  4. A client ID is chosen

    If the event carries a GA client ID, it is used. Otherwise SignalBridge derives a stable numeric client ID from the visitor's connection and browser, because the Measurement Protocol requires one.

  5. The event is sent once

    SignalBridge writes a durable delivery record, then posts the document to Google with the Measurement ID and secret. The result is stored as received, rejected, or unknown. A network timeout is never resent, so a conversion is not double counted.

How SignalBridge events map to GA4 events

GA4 recommended event names are used where one exists. Anything else is sent under its own name in lower case, provided GA4 accepts the name. If you set Lead event routing, every lead-type event is first renamed to the single event you choose and then mapped as below.

SignalBridge eventGA4 eventNotes
PageViewpage_viewSent for tracked page views, with the page location, title and referrer shortened to GA4's 100-character limit.
ViewContentview_itemSent with item details when the platform provides them.
AddToCartadd_to_cartSent with item and value details.
InitiateCheckoutbegin_checkoutSent with item and value details.
AddPaymentInfoadd_payment_infoReported when a payment step is completed.
PurchasepurchaseSent with value, currency, items and a transaction ID.
Lead, Contact, Schedulegenerate_leadThree lead-type events share GA4's one recommended lead event.
CompleteRegistration, SignUpsign_upBoth registration events share GA4's sign_up event.
StartTrialstart_trialTrial starts are reported under their own GA4 name.
SubscribesubscribeNewsletter and subscription sign-ups.
SubmitApplicationsubmit_lead_formApplication forms are reported under their own name.
Search, FindLocationsearchSearch term is included when present.
AddToWishlistadd_to_wishlistWishlist additions.

What GA4 enforces on every server event

SignalBridge checks each document against these Measurement Protocol limits and does not send one that breaks them.

RuleLimit
Events per request1 to 25
Parameters per eventUp to 25
Event and parameter namesStart with a letter, up to 40 letters, digits or underscores, and avoid reserved names
Text valuesUp to 100 characters
Items per eventUp to 200
Request bodyUnder 130 kB

Requirements

  • A GA4 property with a web data stream.
  • A Google account with the Editor role on that property.
  • Google's user data collection acknowledgement completed for the property, which only the property owner can do.
  • The SignalBridge script on your site or the SignalBridge Shopify app.

Set up Google Analytics 4

  1. Connect your Google account

    In your pixel's settings choose Connect Google Analytics 4 and approve access with the Google account that has access to the property.

  2. Choose a property and a web data stream

    Select the GA4 property and then its web data stream. SignalBridge reads the Measurement ID from the stream.

  3. Let SignalBridge create the secret

    SignalBridge looks for a Measurement Protocol secret named SignalBridge on the stream and creates one if it does not exist. If Google refuses because the user data collection acknowledgement is missing, accept it in GA4 and connect again.

  4. Send a test event

    Use the test button on the GA4 card. It sends an event called signalbridge_test, which proves that Google received the request. It does not prove that the secret is valid or that the event was processed.

  5. Set lead event routing

    If you track leads, open Lead event routing on the GA4 card and choose the one event that lead-type events should be reported as. It applies to Lead, CompleteRegistration, SubmitApplication, Contact, SignUp, Subscribe, StartTrial and Schedule. Purchases and other events are not affected.

Verify it works

  1. Trigger a real conversion

    Place a test order or submit a test lead on your site, then open the event stream in SignalBridge and confirm that GA4 shows as received for that event.

  2. Look for the event in GA4

    Search the event name in GA4 reports or Explorations. Standard reports can take a day or more to include new data.

  3. Do not rely on Realtime

    Server events appear in Realtime only when they carry a session ID and engagement time from a live browser session. SignalBridge forwards those only when it observed them and never invents them, so a server event can be missing from Realtime and still be processed.

Troubleshooting

  • Connecting fails when SignalBridge tries to create a secret

    The property owner needs to accept Google's user data collection acknowledgement in GA4 first. SignalBridge does not accept legal terms on your behalf.

  • No GA4 data stream is listed

    Create a web data stream in GA4 and reconnect. App streams are not used.

  • The test event succeeds but nothing appears in GA4

    A successful response only means that Google received the request. Check the Measurement ID and that the secret belongs to the same stream, then look in reports rather than Realtime.

  • Events show as unknown delivery

    A network error or timeout happened. SignalBridge does not resend, to avoid counting a purchase twice, so check GA4 before deciding whether the event is missing.

  • The same purchase appears twice

    The browser tag and the server both sent it. GA4 ignores repeated purchases that share a transaction ID, so make sure both use the same order ID, or let only one of them send purchases.

  • GA4 shows more users or page views than before

    Server events use a derived client ID, so GA4 treats them as separate from the browser's user, and page views are forwarded too. Compare conversion counts, not user counts, or check the numbers with the tag paused on a test property.

What to know before you rely on it

Where this integration stops, so the numbers you see are read correctly.

  • SignalBridge does not currently read the _ga cookie, so server events use a derived client ID and are not merged into the visitor's browser session.
  • Server events carry no traffic source of their own. Use them for conversion counts and key events, not for channel attribution inside GA4.
  • Page views are forwarded as well. Because server events do not share the browser's client ID, GA4 can show extra users and page views next to your tag's own numbers. Compare totals before you rely on them.
  • Each event gets one delivery attempt. If the outcome is unknown, SignalBridge does not retry.
  • A successful response from the Measurement Protocol does not confirm that the secret is valid or that the event was processed.
  • Visitors who have not agreed to marketing tracking are not sent to GA4.

Questions about this integration

Does this replace my GA4 tag?

No. Keep the tag for sessions, traffic sources and engagement. SignalBridge adds server-side events, chiefly for the conversions the tag does not record.

Why do server events not match browser sessions?

Joining them needs the GA client ID and session ID from the visitor's browser, and SignalBridge does not read those today. Events are therefore recorded as separate hits under a derived client ID.

Will purchases be counted twice?

GA4 ignores repeated purchase events with the same transaction ID. SignalBridge sends the order ID as the transaction ID when it has one, and its own event ID otherwise. If your tag uses a different identifier, you can still see duplicates.

What is the Measurement Protocol?

It is Google's way of sending events to GA4 over HTTP from a server. It needs a Measurement ID, which identifies the data stream, and a secret that authorises the request.

Do I have to create the API secret myself?

No. SignalBridge creates one named SignalBridge, or reuses an existing one with that name. You can delete or rotate it in GA4 under the data stream's Measurement Protocol settings.

Are bots filtered out?

The Traffic Quality exclusion applies to ad platforms. GA4 follows your consent settings only, and GA4 applies its own filtering of known bots and spiders.

Can I send custom events?

Yes, as long as the name is valid for GA4 and not reserved. It is sent in lower case, and events that break GA4's rules are not delivered.

Does GA4 count towards my plan limit?

It counts as one connected platform. Starter and trial plans allow two platforms, and Growth and above allow unlimited platforms.

Try Google Analytics 4 with SignalBridge

Every plan starts with a 14-day free trial. Connect it, send a test conversion and see the result before you decide.