Measurement Protocol
The Measurement Protocol is Google's way to send events to Google Analytics 4 from a server, for actions the site's tag cannot see, such as a refund.
How it works
Your store’s server sends the event to GA4 as an HTTP request, with the stream’s measurement ID, an API secret and the visitor’s client_id from the GA4 tag. Google built the protocol to supplement the tag: server events alone may give only partial reports.
A store uses it for what happens after the visit: an order paid a day later, or a refund sent with the order’s transaction ID. GA4 joins such an event to the visit through client_id, so your store has to save that ID at checkout. To reach Google Ads, the event must arrive within 63 days of the visitor’s latest online event and inside the key event’s attribution window. Which events a store should send is the subject of GA4 e-commerce events.
Example
Example store, not client data.
Of the tableware shop’s 300 monthly orders, 60 are paid by bank transfer. The shop counts such a purchase only when the money arrives, a day or two after the customer has left the site. The browser tag never sees these 60. The server sends each one through the Measurement Protocol with the saved client_id and the order number, and GA4 shows 300 purchases instead of 240.
A return two weeks later goes as a refund event with that order number. It cannot be backdated to the order date: the limit is 72 hours.
Not to be confused with
- Server-side tagging — the tags run on a server you control and still process the data each visit sends. The Measurement Protocol adds events that the tags never saw.
- Offline conversion import — sends conversions straight to Google Ads, bypassing GA4.
Right and wrong readings
- Wrong: “The request returned no error, so the event was recorded.” Right: the protocol returns no HTTP error codes even for a malformed event, so test events on the validation server.
- Wrong: “Purchases now come from the server, so we can remove the GA4 tag.” Right: the tag stays, because each server event needs the
client_idit creates.
Sources
- Measurement Protocol — adds to tagging; partial reports; joining by
client_id. Checked 2 October 2026. - Send Measurement Protocol events to Google Analytics — required IDs; 72-hour backdating. Checked 2 October 2026.
- Measurement protocol use cases — export to Google Ads: 63 days and the attribution window. Checked 2 October 2026.
- Validate events — no HTTP error codes. Checked 2 October 2026.
- Measure ecommerce —
refundwithtransaction_id. Checked 2 October 2026.