CASE№ 011·Ad architectureConsent-based loadingRevenue

They wanted more ad revenue. I rebuilt how the app loads ads.

I built consent-based ad loading for GAM and other ad providers on iOS, added more bidding, and fixed request, configuration, and display issues in the existing integration.

Product typeMobile app
Context checkedGAM · Other ad providers · Bidding
SurfaceiOS
01 · The task

More providers. The same ad slots.

The company wanted to expand ad revenue by adding bidders and integrating another ad provider into the slots where consent for GAM was not given.

I needed to make provider selection work with consent and keep the integration straightforward for the app code using each slot.

02 · What I built

One interface. Different providers, depending on consent.

I built a flexible architecture that loads the appropriate ad provider based on consent. I integrated the additional provider and bidders.

I gave the client code a simple interface, so each ad slot could use the integration without repeating a lot of provider-specific work.

03 · What I found

The existing GAM integration was wasting requests.

I found multiple requests per impression, unnecessary impressions, unexpected reloads, and broken ads. The configuration was also incomplete, limiting ad performance.

Adding providers was only part of the work. The existing request and display behavior needed fixing too.

04 · What I changed

Fix the requests, the sizes, and the display behavior.

I fixed the GAM implementation issues and an ad sizing problem in the bidding setup, and addressed gaps in the configuration.

I changed how the app requests and displays ads to reduce unnecessary activity and improve the experience for users.

05 · Results so far

Fewer wasted requests. Better CPM and impressions.

The changes released so far have reduced unnecessary requests and improved CPM and impressions.

Ad performance takes time to assess, and changes can take several weeks to show their effect. The latest batch of fixes is still awaiting release, so its impact is not included in those results.

Have a related problem?

iOS debugging and integrations →
Let’s talk

Bring me
the problem.

An app that needs building. A migration that needs someone to own it. Numbers that don’t make sense. A product decision your team can’t resolve. Tell me what’s happening. I’ll tell you whether I’m the right person, how I’d approach it, and what the work would cost.

Email Alex ↗alex@x91tech.com
You bring the context. I take the work seriously.
Not sure what you’d get? See sample reports →