We started sending purcahse event through the measurement protocol to our GA4 property and we disabled the GA4 native purchase event code on the thankyou page.
This was the initial event payload for our measurement protcol setup.
{
client_id: '123456789.1691234567',
non_personalized_ads: false,
timestamp_micros: 1697002689740112,
events: [
{
name: 'purchase',
params: {
currency: 'EUR',
transaction_id: '123456',
card_fee: 0,
source: 'paypal',
value: 4,
items: [
{
item_id: '654321',
item_name: 'Test-Item',
price: 4,
quantity: 1,
},
],
session_id: 1697002512,
},
},
]
}
We used a source parameter to analyze which payment gateway we are getting the more purchases from. We then realised that we have sessions from these sources i.e Credit Card, gpay, applepay in the GA4 session and first user reports.
We changed the parameter name to payment_type, and it's been a month but we still have sessions from these sources and these sources actually gets attributed for some of the purchases. One more interesting this is that we have session_start event that sometimes have payment_type in the payload, which actually is a GA4 automatically collected event. So, no idea why we have this parameter in the auto collected events.
I've been debugging this for a month but haven't been able to really solve it. I also have the Bigquery linked to this GA4 property. These are the things I've found so far in my debugging journey
1- We have some events from these unwanted sources in the traffic_source.source field in Bigquery.However, this is not the case since we have removed this parameter.
2- I looked for page_referrer, page_location to see if there were utms that have utm_source from the unwanted sources