How Many CTAs Does the Median Mobile Paywall Have?

Across 874 mobile paywalls with extracted CTAs in Lazyweb's corpus, the median paywall shows 2 distinct call-to-action texts (p25=1, p75=3, mean 2.89)[1]. Most paywalls are lean: 42% show a single CTA and 68% show one or two[1]. If you have more than three CTAs on a paywall, you are in the top ~21% and should have a reason for it.

The median mobile paywall shows 2 distinct CTAs; 41.8% show just one (n=874 paywalls, Lazyweb Research, July 2026).

Lazyweb Research · n=874 · Published 2026-07-07

paywallmonetizationmobileux-patternscheckout

The distribution

From 874 canonical paywalls with extracted CTAs, counting distinct CTA texts per screen[1]:

Distinct CTAsPaywallsShare
136541.8%
222525.7%
39911.3%
4+18521.2%

Median is 2, p25 is 1, p75 is 3, and the mean is 2.89[1] — pulled up by a long tail of dense paywalls.

How to apply it

Two CTAs is the modal, safe structure: typically one primary subscribe/continue action plus a secondary link (restore, view plans, or dismiss)[1]. A single-CTA paywall is the single most common pattern at 41.8%[1] and is a defensible minimalist choice. Going to 4+ distinct CTAs puts you in the top 21%[1]; that usually means multiple plan buttons acting as CTAs, so make sure the primary action is still unmistakable.

Caveats

Counts use distinct CTA texts per canonical to avoid double-counting re-extractions; raw row counts have a long tail (up to 114 rows on one canonical)[2]. CTAs were extracted for 874 of the 1,297 canonical paywalls[1]. This measures how many CTA texts appear, not their roles — see the role-mix pages for primary/secondary/dismiss splits.

The numbers

StatComputed from
median 2 CTAs (p25 1, p75 3, mean 2.89); 1=365 (41.8%), 2=225 (25.7%), 3=99 (11.3%), 4+=185 (21.2%) of 874cta_count_per_paywall: distinct cta_text per canonical from paywall_ctas
874 of 1,297 canonical paywalls have extracted CTAs; max 114 raw rows on one canonicalcta_count_per_paywall coverage and dedup note
Methodology. Universe: 874 canonical paywall screens with extracted CTAs across ~800 tracked apps; distinct CTA texts counted per canonical, July 2026. Caveat: counts distinct texts (not roles); raw rows have a long tail so dedup is required.

Sources & citations

  1. [1] Lazyweb Research analysis of 874 paywall screens with extracted CTAs (~800 tracked apps), July 2026. Distinct lower(cta_text) counted per sc_canonical_id from paywall_ctas.
  2. [2] Lazyweb Research analysis of 1,297 canonical paywall screens (~800 tracked apps), July 2026. CTA extraction covers 874 canonicals; distinct-text dedup avoids re-extraction inflation.

Source: Lazyweb Research — proprietary analysis of real, in-market app screens. Cite as Lazyweb Research, 2026-07-07.

Related questions

Explore the underlying screens, flows, and A/B tests inside Lazyweb. More research