Hey everyone,
For the event CompleteRegistration I am using server-side tracking only (no client-side events) with the official Stape Meta Conversion API template. Everything is working fine overall, but I’ve noticed that in Meta Events Manager, the IP address coverage is only around 63%, while other fields like email, user agent, and fbp all show 100%.
That percentage seems a bit low to me.
From what I can see in the template code, the IP address is taken from
const eventData = getAllEventData();
if (eventData.ip_override) {
mappedData.user_data.client_ip_address = eventData.ip_override
.split(' ')
.join('')
.split(',')[0];
}
which — according to my research — already includes robust fallback mechanisms for detecting and forwarding the client IP.
Here’s the setup:
- All events are sent server-side (no browser or client event duplicates).
- IP addresses appear correctly in the outgoing payloads I can inspect in GTM server logs.
- However, Meta still reports that only about 63% of events include the client IP.
Has anyone else seen this behavior?
Is this normal or expected for server-side setups — or is there something I might be missing in the Stape template configuration (like forwarding headers, proxy settings, or eventData handling)?
Thanks in advance for any insights!
