Skip to content

What Is the Mix of Primary, Secondary, and Dismiss CTAs on Paywalls?

  • By Ali Abouelatta
  • n = 2,679
  • Published
  • Updated
  • 2 min read
  • paywall · monetization · mobile · ux-patterns · cancellation

Short answer

Across 2,679 role-labeled paywall CTAs in Lazyweb's corpus, 70.4% are primary, 22.3% secondary, and 7.3% dismisssource[1]. Primary actions dominate the labeled set roughly 3 to 1 over secondary, and explicit dismiss controls are rare at fewer than 200 CTAssource[1]. Design one clear primary action, allow a lightweight secondary, and treat dismiss as an intentional, minority affordance.

The quotable stat
Of 2,679 role-labeled paywall CTAs, 70.4% are primary, 22.3% secondary, and 7.3% dismiss (Lazyweb Research, July 2026).

Bar chart · Share of labeled

Share of labeled — The role breakdown

One block is about 2.5%

Primary
70.4%
Secondary
22.3%
Dismiss
7.3%

The role breakdown

Across all 4,406 extracted paywall CTAs (252 companies, 874 canonicals), 2,679 carry a role labelsource[1]. Of the labeled set:

RoleCTAsShare of labeled
Primary1,88670.4%
Secondary59722.3%
Dismiss1967.3%

The remaining 1,727 CTAs (39.2% of all 4,406) are unlabeled and excluded from these percentagessource[1].

How to apply it

The labeled mix says paywalls lead hard with a primary action (7 in 10 CTAs)source[1], keep secondary actions like restore or view-all-plans to about 1 in 5, and use explicit dismiss controls sparingly (7.3%)source[1]. If your paywall has multiple competing primary-weight buttons, you are diverging from the norm. Keep one primary CTA visually dominant and demote everything else to secondary or dismiss.

Caveats

Role percentages must use the 2,679 labeled rows, not all 4,406, because 39.2% of CTAs are role='unknown'source[1]. That unlabeled share means dismiss prevalence in particular is a lower bound — some unknown CTAs are surely dismiss controls. Roles are model-assigned during extraction.

Real in-market screens

Screens from real, in-market apps, tracked by Lazyweb Research.

  • Ask Ai paywall screen — real in-market example tracked by Lazyweb Research
    Ask Ai1206 × 2622opens the full image
  • Facetune paywall screen — real in-market example tracked by Lazyweb Research
    Facetune1206 × 2622opens the full image
  • Halide paywall-main screen — real in-market example tracked by Lazyweb Research
    Halide1206 × 2622opens the full image
  • Lyft All plans screen — real in-market example tracked by Lazyweb Research
    Lyft1179 × 2556opens the full image

The numbers

#StatComputed from
[1]labeled roles: primary 1,886 (70.4%), secondary 597 (22.3%), dismiss 196 (7.3%) of 2,679 labeled; 1,727 unknown of 4,406 total (39.2%); 252 companies, 874 canonicalscta_role_mix: cta_role counts from paywall_ctas

Methodology

Universe: 2,679 role-labeled paywall CTAs (of 4,406 extracted across 252 companies) in the mobile corpus, July 2026. Caveat: 39.2% of CTAs are role='unknown'; dismiss prevalence is a lower bound.

Sources

  1. [1]

    Lazyweb Research analysis of 2,679 role-labeled paywall CTAs (252 companies, ~800 tracked apps), July 2026

    Of 4,406 extracted CTAs, 2,679 carry a role label; 1,727 are role='unknown' and excluded from percentages.

    Back to text

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

Explore the evidence