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

Source: Lazyweb Research
Published: 2026-07-07
Sample size: n=96
Tags: onboarding, monetization, ux-patterns, mobile, upsell
HTML: https://www.lazyweb.com/research/where-do-ads-appear-in-the-onboarding-flow
Markdown: https://www.lazyweb.com/research/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).

## 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://www.lazyweb.com/research/what-share-of-apps-show-display-ads)
- [Do ad-supported apps also sell a subscription, or is it ads-only?](https://www.lazyweb.com/research/do-ad-supported-apps-also-sell-subscriptions)
- [Where do apps place the 'remove ads' upsell, and how common is it?](https://www.lazyweb.com/research/where-do-apps-place-the-remove-ads-upsell)
