Web2App

Attribution · Published 2025-07-08 · 3 min read

How MMPs send events to the Meta Conversions API: reverse engineering

There is no official information about how MMPs send events internally. But we do have a screenshot of a request to the Meta Conversions API, and a bit of logic. Let us dig in.

In earlier posts I described how the Conversions API works from the point of view of Meta's documentation. Today we look from the MMP side and find out what data they can — and cannot — send.

Three blocks of data can be picked out in the CAPI request

1. SDK data. Email and phone: only the Facebook SDK has these. AppsFlyer, Adjust and the rest do not.

2. IP address. This is the core of any event. Wherever the data came from, the IP address is always there.

3. Client data. Screen type, network and so on are technically available from the app, but MMPs — AppsFlyer and Adjust, for example — normally do not send them.

The questions we can ask

Which MMP suits Meta Web best? The Facebook SDK plus server-side sending, because it sends everything: SDK data and client data alike.

Which parameter matters most? client_ip_address. Even if you send nothing but the IP, up to 70% of events will reach the Meta account and the campaign. Verified in practice.

What about event quality?

Meta assigns every event a score, shown in Events Manager. 3.0 means IP only. 4.8 means IP plus FBC, and that is what Adjust and AppsFlyer achieve. Above 4.8 happens only where client data is sent alongside the Facebook SDK.

Can quality be improved with Adjust and AppsFlyer? Almost not at all. They have no access to SDK data.

But this matters

  • AppsFlyer works worse than Adjust: it only sends the events it managed to tie to a campaign itself (see the "send this partner event" toggle). If anyone has contacts at AppsFlyer, send them this article. It looks like carelessness that would be easy to fix.
  • Adjust simply sends every app event to Meta, leaving Meta the chance to attribute the 20–30% of events Adjust could not. I asked support and they confirmed that is how it works.

How I solve this in SmartAF META

My custom product SmartAF META forwards all AppsFlyer events, increases the sensitivity of the SDK, and can send events to several pixels. Event score with it matches the MMPs: 4.8. Write to me and we will set it up.

What is the best combination for Meta Web? The Facebook SDK plus custom event sending. With that you can reach a score of 7.0–8.0.

And what about Apphud? They work in tandem with the Facebook SDK plus their own SDK. Potentially that could give good event quality, but I have not tested it myself.

Conclusion

Even if the IP address is all the data you have and there is no FBC, the Meta Web Conversions API works well enough — up to 70% of events arrive. And if you want the maximum, you have to go through the SDK.


Original on Telegram

Contact   All articles