How to Set Up Meta AdROAS Campaigns: Step-by-Step Guide for UA Teams

26m

Meta just changed the game for ad monetized mobile apps — and if you’re not testing AdROAS campaigns yet, you’re already behind.


In this 2.5 Gamers solo deep dive, Matej walks through exactly how to set up Meta’s new AdROAS campaigns, how to unlock the hidden value in your ad impressions, and why this is a must-have in your UA strategy for Android in 2025.


🧠 What You’ll Learn:

Step-by-step guide to setting up Meta AdROAS (with visuals!)

Why AdROAS lets you optimize for ad revenue value directly (no more hacks!)

How to unlock AdROAS if it’s grayed out in your Ads Manager

Best practices to hit thresholds: 15+ ad impression events with distinct values

When and how to split campaigns for IAP vs. Ad Revenue targeting

Pitfalls: incorrect event mapping, currency mismatches, and learning phase stalling

The future of AdROAS for iOS — what’s coming next


📊 Whether you’re scaling casual, hybrid-casual, or ad-driven apps, Meta AdROAS can boost LTV and unlock ROAS-based bidding for ad whales.

💥 This episode is your ultimate guide to getting started — with real UA tips, meta setup walk-through, and the latest best practices from someone who’s run 50+ game launches.

💬 Drop your questions or results in the comments — let’s push this feature together.


Get our MERCH NOW: 25gamers.com/shop

--------------------------------------

This is no BS gaming podcast 2.5 gamers session. Sharing actionable insights, dropping knowledge from our day-to-day User Acquisition, Game Design, and Ad monetization jobs. We are definitely not discussing the latest industry news, but having so much fun! Let’s not forget this is a 4 a.m. conference discussion vibe, so let's not take it too seriously.

Panelists: ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠Matej Lancaric⁠

Youtube: https://youtu.be/vsjIGV_w2m4


Join our slack channel here: https://join.slack.com/t/two-and-half-gamers/shared_invite/zt-2um8eguhf-c~H9idcxM271mnPzdWbipg


Chapters


00:00 Introduction to Meta Address Optimization

03:39 Understanding AdRas and Its Importance

08:02 Setting Up AdRas Optimization

15:04 Best Practices for AdRas Implementation

21:29 Live Demonstration of AdRas Campaign Setup

---------------------------------------

Matej Lancaric

User Acquisition & Creatives Consultant

⁠https://lancaric.me

Felix Braberg

Ad monetization consultant

⁠https://www.felixbraberg.com

Jakub Remiar

Game design consultant

⁠https://www.linkedin.com/in/jakubremiar

---------------------------------------

Please share the podcast with your industry friends, dogs & cats. Especially cats! They love it!

Hit the Subscribe button on YouTube, Spotify, and Apple!

Please share feedback and comments - matej@lancaric.me

---------------------------------------

If you are interested in getting UA tips every week on Monday, visit ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠lancaric.substack.com⁠⁠⁠⁠⁠⁠ & sign up for the Brutally Honest newsletter by Matej Lancaric

Do you have UA questions nobody can answer? Ask ⁠⁠⁠⁠⁠⁠⁠⁠Matej AI⁠⁠⁠⁠⁠⁠ - the First UA AI in the gaming industry! https://lancaric.me/matej-ai


#MetaAdROAS #AdMonetization #MobileUA #UserAcquisition #AdRevenueOptimization #MobileGameGrowth #MetaAds #FacebookAds #HybridCasual #2.5Gamers #MobileMarketing #UASetup #MetaAdImpression

Listen and follow along

Transcript

Definitely, in some cases, higher ROS and LTVs

and kind of faster payback periods.

In some cases, it was still all over the place.

So

it's, you know, it's still pretty interesting

Android campaign and Android type to start testing.

And you should start testing it ASAP.

Why?

Because you can't rely only on all the

uplavin, Google, and Unity address campaigns.

Now you can actually get another kit on the block in the UH Numix.

It's 4 a.m.

and we're rolling the dice.

Mate drops knowledge made of gold and ice.

Felix with ads making those coins rise.

Jackup designs world chasing the sky.

With a two and a half gamers, the midnight crew talking UA adverts and game design too.

Mateish, Felix, Shaku, bringing the insight.

We're rocking those vibes till the early daylight.

But K U A master eyes on the prize.

Tracking data through the cyberspace skies.

Felix stacks colors like a wizard in disguise.

Jackups crafting realms, lift us to the highs.

Two and a half gamers, talking smack.

Slow hockey sick, got your back.

Ads are beautiful, they like the way.

Click it fast, don't delay.

Uh-huh.

Uh-huh.

Uh-huh.

Uh-huh.

Uh-huh.

Uh-huh.

Hello, everybody.

My name is Matie Lancaric, and this is Two and a Half Gamers solo episode.

Today,

I'm gonna talk about one thing and one thing only everybody is asking since this was launched, which is Meta Address optimization guide and set actual setup guide.

So, I'm gonna go through

the step-by-step kind of setting setting up the thing,

then I'll talk about why it is important and why is it interesting for people to actually start to testing, what are the expectations, how can you think

about testing the meta-drugs campaign, and some examples.

And I'm gonna go walk you through the Facebook setup or meta setup in my account.

And I'm gonna also show you all the other fancy stuff.

So

I actually prepared the presentation because, why not?

Because Felix did it, Jakob did it, so I'm doing it as well because it's way better to actually show you the real stuff instead of playing a game.

So this is me.

My name is again, Matte Lancher.

I've been in the industry for some time,

doing the UA for over 11 years.

Soft launched and Globe launched around 50 games.

So it's been a hell of a ride.

I love it.

That's why I'm always talking about the actual UA.

So, why

am I actually talking about this?

Why am I actually talking about it?

Look, Meta introduced the new campaign optimization method called Adras some time ago.

And

it's actually very interesting.

And in the past, your app was, if if it was monetized by in-apps or in-app purchases, you had limited options to optimize on the Facebook campaigns for the revenue.

You have to add the proxy events like retention or engagement and try to pass the ad revenue as purchase event as a workaround.

I've done it, you've done it, it definitely wasn't the right thing to do, but we did what we should what we could.

Now, the Facebook address Rust campaign with

add impression event enables you to directly optimize for value.

Finally, so it's based on Adravi,

which means the algorithm will seek out the users, players who not only install your game, but also generate the high ad impression value over time.

For us UA managers, this kind of can improve the efficiency of the spend, focusing on high LTV users that were previously hard to target with purchase-based optimization, you know, essentially unlocks Rust-based feeling for ad-monetized games and apps as well, not only games.

So,

okay,

so what it actually is and how it works.

So, ad impression is a predefined event in Facebook SDK, and ad platform that represents an app ad impression along with the revenue earned from the impression.

So, in practice, when an ad is displayed to a player in your game, for example, rewarded video or banner from an ad network, your app can log an ad impression event,

includes details,

type of the ad, and add revenue earned from the single impression.

So, Meta then uses these events as conversion signals.

And when you optimize a campaign for add impression value, the add impression event and the revenue,

Facebook actually tries to maximize that add impression value.

So to break it up, add impression carries a monetary value, revenue, well your game earned from that ad view.

By sending this to Facebook, you're effectively telling the algorithm how much revenue each user is generating from the ads.

So Facebook then sum these values per user or per cohort and prioritize delivering ads to people likely to generate more ad revenue, which is a higher total value.

So this

is analogous to optimizing for purchase value, but here like the purchases are the third priority impressions, basically.

So according to Facebook event definitions, if you provide a value, which is often via value to sum parameter with add impression event, the value is interpreted as add revenue and can be used for value optimization.

That's why you actually send the add revenue value in purchase before as a workaround because then you could use it for value optimization.

So, the current platform

availability at the moment, the Adros optimization is available for Android campaigns only.

It was rolled out as of Q4 2024,

and it's focused on Android because iOS has significant limitations due to ATT and all the privacy fun stuff.

So, for iOS, you can still send the other

events,

but only will be mapped as traditional purchase.

So, you still need to use the workaround that I was talking about.

Again, in other words, iOS games cannot yet select that impression event as a conversion event for optimization in Ads Manager.

Instead, any ad other venue you send from iOS will be added to your purchase ROS or value reporting.

Again, the work round.

And it's not really great, but it's the only option.

What can we do?

Facebook says they explore the support for iOS in the future, and they actually announced it in one of their events.

However, as of now, Address with an impression event is only

an Android focus focus feature.

What can we do?

Maybe next time.

So how to actually set it up.

So we have four different

implementation, but before we go there, there's one critical implementation consideration that Facebook requires.

And it is they require a minimal amount of data before it allows value optimization.

This is also true for purchase RAS campaigns historically, but it was a little bit different.

It was like 100 purchases.

For For ad impression-based optimization, the requirement is roughly 15 attributed ad impression events.

But careful, we do value, not only ad impressions, we do value

from your game in the last 28 days with at least two distinct values.

So these events must be coming from users acquired from

the campaigns on Facebook.

It's not all organics or other sources, it needs to be failed.

If this threshold isn't met when you try to set up a campaign or to choose the conversion event, you might find in-app add impression grayed out or not selectable.

In this case, you need to generate data first.

Well, surprise, surprise.

The best practice is to actually run a normal MAI campaign or mobile app install campaign or app event optimization campaign, perhaps optimizing for a simple event such as a devent or the actual ad impression or just installs with broad targeting requiring the initial batch of players.

As you know, you generate some ad impressions, you send those values to Facebook, you will accumulate the needed volume of ad impression events quite quickly.

Once you cross the threshold 15 plus events with value, it will be unlocked automatically.

So

this implementation, Facebook apps are at just single, all the MMPs.

So Facebook, you must integrate either Facebook SDK or the MMP.

So

that supports the actual format impressions, ad impression events.

Without an SDK or server integration, you won't be able to receive the signals or Facebook, you won't be able to receive the signals.

If you already use the Facebook SDK for logging or analytics, you can use it to log events as well.

If you prefer using attribution provider, ensure you are on a plan that supports user-level ad revenue tracking.

This is because MMP needs to obtain the ad revenue data from the networks.

On the upside, you might have to integrate each ad network's SDK and MMP add revenue API.

For example, AppSware log

add revenue API for each impression or adjust track add revenue method.

Anyway, so event mapping and configuration is important.

So if you're using MMP, you need to map the MMP's add revenue to events

to meta add impression impression event.

For example, AppSlayer uses the name aff add revenue for add revenue and you should map that to Android or add impression on Android.

I'm gonna go through each step

now

because it's important.

So we already went through meta Facebook SDK.

Here we have a step-by-step guide.

So you need to go to active integration or find the meta integration in App Slayer, then click on Meta Ads, obviously.

Scroll down.

Well, you need to wait until it actually loads,

which takes a while.

And then you scroll down, select the add revenue event, click, you select that impression event, again, value, send value and revenue, and then hit save.

Easy, right?

But what if,

wait, what if

you have a different MMP, which is Adjust, for example.

So, in Adjust, you go

to

the partners in the campaign lab, you select Facebook, you go to edit, and then to actual data sharing,

you go to edit again, data sharing.

I'm going to pause here because it's on the top of the data sharing.

So you then enable add impression mapping.

You go save.

And that's it.

Enable add impression event mapping.

Thank you very much.

But what if

you have a different

MMP?

And that's singular.

No problem.

We have the solution for that as well.

You go to attribution, partner configuration, Facebook, and go to edit configuration.

You go

event postpacks, and then you need to have you need to select the SDK name, which is admon user.

Where are you here?

And then go to add impressions.

Send all and then also include revenue.

Thank you very much.

Easy as that.

And this is obviously all working

because

you implemented all the SDKs and all the events correctly.

I'm actually gonna

release a doc

guide on my

on my sub stack in the Brutaliona section where I have also the implementation guidelines covered

in

very big detail.

Obviously, it's just the guidelines from Facebook,

singular, and

not only singular, but also Absolar and Adjust,

but everything in one place, which is important.

Very, very important.

So,

what do we have here?

So, in summary, the impact of Adraz optimization was being very positive for the right kind kind of apps.

So

the ad-monetized games, and also some apps, or basically any app with significant ad revenue, gained the most.

And

you can treat ad-engaged users with the same importance as purchases, obviously.

There were some measurable improvements, including higher OASP, improved retention and engagement metrics,

more balanced monetization, monetization, not only relying on IAPs.

And, you know, there's an ability on unlocked spending markets or audiences that were previously hard to justify because you were talking about different engagement events.

Now, UA managers, I mean, we still need to test and compare, obviously.

But I've seen definitely

in some cases higher ROAS and LTVs

and kind of faster payback periods.

In some cases, it was still all over the place.

So

it's, you know, it's still a pretty interesting

Adros campaign and Android type to start testing.

And you should start testing it ASAP.

Why?

Because you can't rely only on all the

up-loving Google and Unity Adros campaigns.

Now you can actually get another kit on block

into the UH Nomix.

Then, what are the kind of best practices?

So, the best practices will be:

well,

there is a lot of them.

You know,

it's all like ensuring high-quality impression-level data.

It means

verifying that in the events manager or your MMP dashboard that the events are actually coming through with expected values.

As you know, you can have a wrong currency or incorrect value, cents versus, well, you can send cents versus actual dollars, which definitely can skew the optimization.

For instance, instead of five cents,

you will send five dollars, which completely confuses the algorithm.

I mean, I'm not sure if this could actually help or not.

I'll hard to say.

Use test devices to actually generate a couple of ad impressions and confirm the events to show up in Meta Event Manager with the right parameter.

Again, best practices: the actual event volume is important.

You have to meet the event volume criteria, which is more than 15 events, with two distinct values.

Also, if your app has both IIP and ads, consider running separate campaigns: one optimized for purchase value, which is IIP ROS, and one for ad revenue algorithm.

So, this allows each algorithm to specialize and find the respective types of users and players.

Some advanced strategies could actually involve combining

these values, sending a single total revenue event that sums IIP plus ad revenue for each user.

However, that is complex and you risk mudding the borders,

kind of confusing the whole algo and this whole shenanigan kind of

could

mislead the results.

It's usually simpler to have one campaign target purchases, obviously, and then one target the ad monetization players.

You can allocate the budget between them on which revenue stream you want to grow.

That said, avoiding targeting the exact same audience with both in a way that competes, maybe use the value rules or geo-split if needed.

Just, you know, try to monitor the overlap with Facebook's overlap tool to ensure you're not actually bidding against yourself.

You know, use broad targeting.

I mean, what are the other options these days, right?

And

allow yourself to

monitor the learning phase and kind of

trying to exit the learning phase as quickly as

you can.

Then we have some

mistakes and pitfalls in this equation, because

you can still have small volumes before launching.

So even though you are kind of passing the threshold with 15 events, ensure you have more than 15 events, get closer to 30 or 50 events with definitely different values, not only two, but let's say 5 to 10,

which then

allows you to

get better

algo or it kind of works a little bit better in terms of the event volume.

So you train the algo before you start.

That's what I'm trying to say.

You you need to have a look or you need to triple check the the mapping and the data flows because for example on Fapstar you can accidentally map ad revenue to a custom event instead of the predefined ad impression.

And Facebook will treat this as a generic custom event, which can't be for

be used for value optimization.

So you need to be sure that it's mapped to exact

Facebook event.

Similarly, just the same thing.

With add impression event mapping, you need to check that box that I showed you and enable that data sharing.

If you miss this step, it's not going to work.

Okay,

then you know,

it's still only

kind of

working on Android, right?

As I mentioned,

well, it's coming to iOS as well, but it will take some time.

And then

this

Facebook address campaign can be a game changer for your app.

You need to kind of

set up this correctly.

It takes time, and there are some steps.

If you miss them, then you won't be able to make it work.

You need to set up all the campaigns according to the guidelines and obviously continue test and monitor everything.

Now,

the thing is,

there was

some update on for that address campaigns silently released on Facebook.

And their iOS is coming, so you should be on top of things.

And let me actually

go into the Facebook dashboard and show you what you need to do.

So, just create a promotion campaign

because you have all the setup done on the MMP side, on the implementation side, you're good to go.

So,

let's say US

test

otherwise.

Okay, good.

Obviously, we said we need to have a significant amount of money also to exit the learning phase.

Let's say 150 would be enough.

Okay.

Tier 1.

To ensure we have quite a broad audience, I borrowed my friend's app to be able to create

so instead of app installs we go to maximize value of conversions here we have in a purchase or add impression

let's go to add impressions let's see we have one day seven days i want seven days

so dear listeners the raws goal is not available for now but it should be and will be in the future so now it's just maximizing the value of conversions right

so then we go to the audience, we set US and tier one, US user, or not user, not user,

the United States,

United States, we go to United Kingdom,

very, very good, Germany as well.

Let's go to what else?

Canada

and we go to Australia.

Okay, awesome.

Then what do we have here?

This is

not really that important, but kind of is.

Then we have Advantage Plus.

Everything is Advantage Plus.

Okay, good.

Next,

let me go to

Creatives, which now it's going to be just test because I'm going to

pause it afterwards.

Okay,

but

let's select

the video, whatever is the video.

Why do I have the wanoplaygo in here?

Okay,

let's try

actually.

Oh,

wait a second, that was my face.

It's me and John Wright.

Skip.

Okay, fine.

Thank you very much, John.

Thank you very much, listeners, for bearing with me.

And I'm actually trying to.

okay, there is a problem, so let's just use

their proper Facebook page.

Okay, good.

Thank you very much.

Okay, so this is basically it.

We go publish and we

our campaign for address is live.

So,

simple as that.

Now,

you should

try it for yourself.

If you have any questions,

please comment under the video, join our Slack channel.

I will keep you posted about all

the news

and everything regarding the Meta Altras campaigns because I'm following this very closely.

I want to make this work, and I know there are some updates coming, and I can't wait.

So, thank you very much for coming again.

I'll see you next time.

Let me know if you're running some great ad impression

events and campaigns.

Cheers.

Bye-bye.