Parameter Transmission Problems with Purchase Events in GA4 Measurement Protocol
04:29 30 Nov 2025

Our server sends a `s2s_purchase_all` event to GA4 using the Firebase data stream. After sending, we noticed that while Firebase displays the correct total event count and value, in the Google Ads backend, the corresponding campaigns show an inflated event count of purchases with almost no event value. I suspect that my payload might be missing some parameters. Here is my payload:

```json
{
    "app_instance_id": "67641bf7015f0xxxxxxxxxxxxxxx",
    "events": [
        {
            "name": "s2s_purchase_all",
            "params": {
                "currency": "EUR",
                "value": 3.99
            }
        }
    ],
    "non_personalized_ads": false
}

Could the issue be caused by missing these four parameters? :

  • engagement_time_msec

  • transaction_id

  • session_id

  • timestamp_micros

Dear community members, if you have also used the GA4 Measurement Protocol to send data to Firebase, could you please share what your payload looks like and which parameters need to be included? Thank you so much!

google-ads-api google-analytics-4 measurement-protocol