# Where in the flow do apps place ad and promo screens: early or late?

Source: Lazyweb Research
Author: Ali Abouelatta, Lazyweb Research
Published: 2026-07-07
Updated: July 2026
Sample size: n=96
Category: [In-app ads and hybrid monetization patterns](https://design.lazyweb.com/blog/category/in-app-ads-and-hybrid-monetization-patterns)
Tags: onboarding, monetization, ux-patterns, mobile, upsell
HTML: https://design.lazyweb.com/blog/where-do-ads-appear-in-the-onboarding-flow
Markdown: https://design.lazyweb.com/blog/where-do-ads-appear-in-the-onboarding-flow.md

**Answer.** Ad and in-app promo screens appear at an average relative position of 0.63 within their flow, roughly two-thirds of the way through, across 96 positioned instances [1]. In other words, apps surface ads after the user is engaged, not at step one. Position is computed with row-number normalization, not raw step numbers.

> Ad/promo screens land at avg relative position 0.63 in their flow (n=96), July 2026 — after engagement, not at step one.

## The finding: ads land after engagement

Across 96 positioned instances, 'Ad'-category screens sit at an average relative position of 0.63 in the flows they appear in [1]. A value of 0.0 would mean the very first screen and 1.0 the last, so 0.63 means these screens land about two-thirds of the way through, after the user has invested some steps. The corpus does not show apps leading with an ad or promo interrupt at step one.

## What these screens actually are

Remember the 'Ad'-category bucket is dominated by in-app promotional and coin-offer pop-ups, not third-party display ads [2]. Webtoon's first-time-only $5.99 coin bundle pop-up (200+8 coins, 'Grab NOW') is a representative instance [2]. So this 0.63 finding is really about where apps place their own IAP/coin upsell interrupts, and they place them mid-to-late in a flow.

## Caveats

Positions are computed with ROW_NUMBER normalization per flow, never raw step numbers [1]. 'Ads Privacy' screens had only 2 positioned instances and were dropped as below the reporting threshold, so this finding covers the 'Ad' category only (n=96) [1].

## The numbers

| Stat | Computed from |
| --- | --- |
| 'Ad'/promo screens appear at avg relative position 0.63 within their flow (n=96 positioned instances) | ROW_NUMBER-normalized position of ad-category screens within their flow |
| 156 'Ad' + 43 'Ads Privacy' canonical screens (199 total) | sc_canonical joined to screen_category where category is ad or ads privacy |

## Methodology

Universe: 96 positioned ad-category screen instances within tracked flows (~800 apps). Method: relative position via ROW_NUMBER per flow, July 2026. Caveat: 'Ad' category is mostly in-app promos, not display ads; 'Ads Privacy' dropped (n=2).

## Visual references

Real, in-market app screens tracked by Lazyweb Research:

- Falou: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/edu122_falou/lazyscreenshots/2025_04_25_00-08-38_4E62A1FE.png
- Zelle: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/uploaded_zelle/main_tabs/compare/2026-05-28/1779954773243_00_Zelle-20260528-075252-01.png
- Zeus: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/ent115_zeus/backlog/2025_11_17_18-38-52_95074FF2.png
- Solamber: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/uploaded_solamber/main_tabs/compare/2026-05-28/1779951209566_00_Solamber_Security_Protection-20260528-065329-01.png

## Sources & citations

- [1] Lazyweb Research analysis of 96 positioned ad-screen instances (~800 tracked apps), July 2026. Position via ROW_NUMBER per flow; 'Ads Privacy' (n=2) dropped below threshold.
- [2] Lazyweb Research analysis of 199 ad-category canonical screens (~800 tracked apps), July 2026. 'Ad' category is mostly in-app coin-offer promos, e.g. Webtoon coin bundle.

## Related questions

- [What share of tracked apps actually show a display or banner ad?](https://design.lazyweb.com/blog/what-share-of-apps-show-display-ads)
- [Do ad-supported apps also sell a subscription, or is it ads-only?](https://design.lazyweb.com/blog/do-ad-supported-apps-also-sell-subscriptions)
- [Where do apps place the 'remove ads' upsell, and how common is it?](https://design.lazyweb.com/blog/where-do-apps-place-the-remove-ads-upsell)
- [Which app categories run ads-only versus an ads-plus-subscription hybrid?](https://design.lazyweb.com/blog/which-categories-run-ads-only-vs-hybrid)
- [Which apps monetize with sponsored listings or merchant ads (retail media)?](https://design.lazyweb.com/blog/which-apps-run-sponsored-listings-retail-media)
- [How common are rewarded 'watch an ad' mechanics in tracked apps?](https://design.lazyweb.com/blog/how-common-are-rewarded-watch-an-ad-mechanics)
- [How do apps frame 'remove ads' paywall copy when ad removal is the value prop?](https://design.lazyweb.com/blog/how-do-apps-frame-remove-ads-paywall-copy)
- [How do news and magazine apps monetize, ads or subscriptions?](https://design.lazyweb.com/blog/how-do-news-and-magazine-apps-monetize)

## Explore the evidence

- [Billing toggle experiment kit](https://design.lazyweb.com/blog/billing-toggle-experiment-kit?utm_source=lazyweb&utm_medium=research&utm_campaign=billing-toggle-kit)
- [Cal AI annual-plan and trial presentation](https://design.lazyweb.com/blog/cal-ai-paywall-annual-plan-and-trial)
- [Monthly versus annual billing toggles](https://design.lazyweb.com/blog/monthly-vs-annual-billing-toggle-pricing)
- [Billing cadence versus plan tiers](https://design.lazyweb.com/blog/annual-billing-toggle-vs-plan-tiers)
- [Cal AI trial-introduction screens](https://design.lazyweb.com/flow/cal-ai/onboarding-paywall)

## Continue your research

[Connect Lazyweb to your coding agent](https://www.lazyweb.com/mcp-install)
