GA4 Measurement Protocol
Quick answer: The Measurement Protocol is a direct HTTP API for sending events straight to GA4 from your own server - no browser, no GTM container involved at all. It's the right tool for offline conversions (a phone order fulfilled later, a subscription renewal processed by a backend job) rather than anything happening on a live page.
Google doesn't have a product called "Conversions API" the way Meta does, but the Measurement Protocol serves the same purpose for GA4: sending event data directly from a server to Google's collection endpoint, bypassing the browser and any GTM container entirely.
How this differs from GTM server-side tracking
It's easy to conflate these, so to be precise: the Server-Side Tracking option in this wizard routes your browser-side GA4 tag through a GTM server container you host - the browser still fires the event, it just travels through your own server on the way to Google. The Measurement Protocol is different: there's no browser event at all. Your backend code calls Google's API directly, for something that happened outside a page load in the first place.
When you actually need this
- A phone or offline order gets entered into WooCommerce manually, and you want it in your GA4 revenue reporting
- A subscription renewal or recurring charge is processed by a backend cron job with no visitor present
- An event happens in a non-web context - a backend job, a webhook from a payment processor, a CRM status change
If the action already happens on a page in someone's browser, you almost certainly want a normal dataLayer-based event (what this wizard builds) or the GTM server container, not this.
What it takes to implement
- A Measurement Protocol API secret, generated in GA4 Admin > Data Streams > your stream > Measurement Protocol API secrets
- A client_id to associate the server-side event with the right user/session - this is the trickiest part, since you need to capture and store it from that user's actual browser session earlier
- Backend code (PHP, in a typical WordPress/WooCommerce setup) that sends an HTTP POST to Google's collection endpoint with the event payload
Frequently asked questions
Does this wizard generate Measurement Protocol code?
No - this is backend server code, not a GTM container. It's outside the tag/trigger/variable model this wizard builds entirely.
Do I need this if I've already set up GTM server-side tracking?
Usually not for the same events - server-side GTM already gets your browser-based events to Google reliably. Measurement Protocol is for events that never had a browser moment to begin with.
Do I need a developer for this?
Yes, realistically - this requires writing and hosting server-side code, not configuring settings in an admin screen.