GA4 server-side purchases with the Measurement Protocol
GA4's Measurement Protocol accepts server events but silently drops invalid ones. Trakero validates, stitches server purchases into the browser session, and uses the order id as transaction_id.
Illustration of the event flow
What you get
Joins the browser session
Server events carry the client_id and session_id from the _ga cookies, so revenue lands in the right session and source.
One purchase per order
transaction_id is always the order id, GA4's own safety net against duplicates.
Within GA4's limits
Events older than 72 hours are not sent (GA4 would drop them); parameters are trimmed to GA4's limits.
Test events validated
Test events go through Google's validation endpoint so setup problems show up before real orders.
Where browser-only tracking loses the sale
Pick a situation your shoppers are in and watch one order take both paths.
A shopper from your Facebook ad places an order.
Illustration of what happens on shoppers' devices, not a measurement.
Set up in minutes
- 1GA4 Admin → Data streams → your web stream: copy the Measurement ID.
- 2Measurement Protocol API secrets → Create.
- 3Add the GA4 destination in Trakero and send a test event.
Questions
Should I keep my gtag?+
Yes for page views and engagement, but let Trakero send the purchase (or remove the gtag purchase), because GA4 deduplicates only purchases by transaction_id, not other events.
Platform rules from Google: Measurement Protocol (GA4).