We're trying to run AEO/VO campaigns on Facebook for a mobile game we're testing that's primarily ad-based monetization, but we're having trouble figuring out a way to accurately send ad monetization data to Facebook.

It seems that Facebook has a standard app event for an In-App Ad impression (https://www.facebook.com/business/m/one-sheeters/app-events-overview), but you're not actually able to optimize for that event when running an AEO campaign. It seems like that event is only useful to build custom audiences of players that hit a certain frequency of ad impressions which you can then use to build LaL audiences off of.

The alternative is to use the Purchase app event, but that leaves the question of how to send in an accurate number for the value parameter that Facebook can use to calculate ROAS in an AEO or VO campaign. For an actual in-app purchase the value parameter would be whatever the price of the item was, but for an ad impression you don't know the exact revenue from that impression until you run a report from whatever ad mediation platform you're using. Technically it's possible build a feedback loop using the monetization data from these reports, but it seems the accuracy would be highly suspect.

I come from a web publishing background where through header bidding we're able to obtain the exact revenue for each ad impression on the page as the page loads and we're able to sum up that revenue and send it in to Facebook.

Curious if anyone has any thoughts on this that has a background in apps that are primarily monetized through ads.

You can attach whatever in-app event and / or value that you want to the triggered events in your game.
by (15.1k points)
That makes sense, I'm assuming most people are firing the purchase event whenever they show an ad impression in their app. How are people sending a value parameter with the purchase event that accurately reflects the value of the ad impression? As far as I know, impression-level monetization data is not available when an ad request is fulfilled on the app side. It seems like the two ways are:

1) Use a static value that estimates the value per ad impression for that campaign. e.g. If you're running a campaign in the US, use a fixed value of $0.02 ($20 CPM) for each rewarded video ad impression

2) Use a historical average data from your server-side ad mediation platform and feed that back into the app which the app can then attach to the value parameter