Skip to content

How often do real mobile paywalls actually use discounts?

  • By Ali Abouelatta
  • n = 4,406
  • Published
  • Updated
  • 2 min read
  • paywall · pricing · monetization · saas · mobile

Short answer

9.6% of paywall CTAs (422 of 4,406) carry a discount signal in their button or surrounding copy, but adoption is much wider at the company level: 31.7% of tracked paywall companies (80 of 252) run at least one discount paywall.source[1] So a discount is a minority of the average app's CTAs but something roughly a third of apps reach for somewhere. If you're deciding whether discounting is 'normal,' the honest read is: common as a tactic, rare as a default.

The quotable stat
9.6% of paywall CTAs carry a discount, but 31.7% of tracked paywall companies run at least one discount paywall — Lazyweb Research, July 2026.

Bar chart · Discount rate

Discount rate — The finding: rare per-screen, common per-company

One block is about 1.1%

All paywall CTAs (4,406)
9.6% (422)
Primary CTAs only (1,886)
10.8% (203)
Tracked paywall companies (252)
31.7% (80)

The finding: rare per-screen, common per-company

Across 4,406 paywall CTAs from 252 tracked paywall apps, only 9.6% (422) mention a discount in the button text or the surrounding title/subtitle.source[1] But because most apps show many non-discount CTAs and only a handful of discount ones, the company-level rate is far higher: 80 of 252 companies (31.7%) run at least one discount paywall.source[2]

DenominatorDiscount rate
All paywall CTAs (4,406)9.6% (422)
Primary CTAs only (1,886)10.8% (203)
Tracked paywall companies (252)31.7% (80)

Primary buttons — the main purchase CTA — carry a discount at 10.8% (203 of 1,886), roughly matching the overall rate.source[3]

How to apply it

Treat discounting as a targeted play, not a permanent price position. The data says most apps that discount do it on a subset of surfaces (second-chance modals, seasonal sales, win-back), not on their evergreen paywall. If you're a growth PM debating whether to make a discount your standing offer, note that ~two-thirds of tracked apps (172 of 252) don't run any detected discount paywall at all.source[2] The safer pattern the corpus supports is: keep a clean full-price paywall as the default, and reserve discounts for specific triggered moments.

Caveats

Denominator is 252 companies with a detected paywall CTA — a subset of ~800 tracked apps — not the full company universe.source[1] Discount detection is keyword/regex over cta_text plus surrounding title/subtitle ('off', 'discount', 'save'), so purely visual discounts (e.g. a strikethrough price with no words) can be missed. This makes 9.6% a lower bound on true discount prevalence.

Real in-market screens

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

  • Evgo paywall screen — real in-market example tracked by Lazyweb Research
    Evgo1206 × 2622opens the full image
  • Audible paywall screen — real in-market example tracked by Lazyweb Research
    Audible1206 × 2622opens the full image
  • Replit paywall screen — real in-market example tracked by Lazyweb Research
    Replit1206 × 2622opens the full image
  • Windy Cancel Subscription screen — real in-market example tracked by Lazyweb Research
    Windy1290 × 2796opens the full image

The numbers

#StatComputed from
[1]9.6% of paywall CTAs (422 of 4,406) carry a discount signaldiscount_cta_prevalence_overall
[2]31.7% of tracked paywall companies (80 of 252) run at least one discount paywalldiscount_companies_denominator
[3]10.8% of primary CTAs (203 of 1,886) carry a discountprimary_cta_discount_rate

Methodology

Universe: 4,406 paywall CTAs across 252 tracked mobile apps with >=1 detected paywall CTA, July 2026. Method: keyword/regex over CTA text plus surrounding title/subtitle, deduped by company. Caveat: keyword detection under-counts purely visual discounts, so rates are a lower bound.

Sources

  1. [1]

    Lazyweb Research analysis of 4,406 paywall CTAs (252 tracked mobile-app paywall companies), July 2026

    Discount signal = keyword/regex match ('off','discount','save') over cta_text + surrounding_title + surrounding_subtitle.

    Back to text

  2. [2]

    Lazyweb Research analysis of 252 tracked mobile-app paywall companies, July 2026

    Company counted if any of its detected paywall CTAs matched the discount keyword set.

    Back to text

  3. [3]

    Lazyweb Research analysis of 1,886 primary paywall CTAs (252 tracked companies), July 2026

    Primary CTA = cta_role='primary'; discount signal via the same keyword set.

    Back to text

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

Explore the evidence