How Many Paywall CTAs Are Primary vs Secondary vs Dismiss?

Of 4,406 paywall CTAs extracted from ~800 tracked apps, 2,679 are role-labeled: 1,886 primary (70%), 597 secondary (22%), and 196 dismiss (7%) [1]. The remaining 1,727 (39% of the full corpus) are role-unknown and excluded from every role-based percentage [2]. Primary buttons dominate, but nearly a quarter of labeled CTAs are secondary options like 'View all plans' and 'Restore'.

Of 2,679 role-labeled paywall CTAs, 70% are primary, 22% secondary, and 7% dismiss — Lazyweb Research, 4,406-CTA corpus, July 2026.

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

paywallmonetizationux-patternsdesignmobile

The finding

Lazyweb Research role-labeled 2,679 of the 4,406 paywall CTAs: 1,886 primary, 597 secondary, 196 dismiss [1]. As shares of the labeled set, that's roughly 70% / 22% / 7%. The primary button is the star, but paywalls carry a meaningful supporting cast — plan-switchers, restore links, and an escape hatch.

Role breakdown

RoleCTAsShare of labeled (2,679)
Primary1,88670%
Secondary59722%
Dismiss1967%
(Unknown, excluded)1,727

The 1,727 role-unknown rows are 39% of the full 4,406 corpus and are left out of every role percentage in this research — which is why all role-based denominators here are 2,679 or 1,886, never 4,406 [2].

How to apply it

Use this as a layout checklist. Most paywalls in the corpus pair one primary button with at least one secondary option (view/compare plans, restore) and often a dismiss link. If your paywall is primary-only, you're leaner than the norm; if you're stacking many secondary CTAs, be sure they aren't stealing taps from the primary. The 7% dismiss share confirms an explicit opt-out ('Not now', 'Maybe later') is standard, not a leak.

Caveats

Roles were labeled on 61% of the corpus; the 39% unknown could shift shares if labeled, so read 70/22/7 as 'of labeled CTAs'. Counts are per extracted CTA instance, so heavily-screenshotted apps contribute more rows — company-level analyses elsewhere in this research correct for that [1].

The numbers

StatComputed from
primary 1886, secondary 597, dismiss 196; labeled total 2679statpack role_distribution
unknown 1727 of 4406 (39%)statpack role_distribution
Methodology. Universe: 4,406 paywall CTAs extracted from ~800 tracked mobile apps, July 2026; 2,679 role-labeled. Shares computed on labeled rows. Caveat: 39% of CTAs are role-unknown and excluded from role percentages.

Sources & citations

  1. [1] Lazyweb Research analysis of 4,406 paywall CTAs (from ~800 tracked mobile apps), July 2026. cta_role grouped and counted; 2,679 labeled (primary/secondary/dismiss), 1,727 unknown.
  2. [2] Lazyweb Research analysis of 2,679 role-labeled paywall CTAs (from ~800 tracked mobile apps), July 2026. Role shares computed on labeled rows only.

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