Conversion Diagnostic · Operator Brief

Why the checkout converts at ~0%, and what to actually do about it

A data-grounded read of the paywall funnel plus a four-perspective roundtable, framed around your two options: bundle everything into one site-wide subscription, or hold the current per-gazette model and wait.

Prepared for: the sole operator  ·  Date: 26 Jul 2026  ·  Sources: PostHog export (prod Postgres) + Stripe live, pulled today
Bottom line

It is neither option. Per-gazette vs. one-site subscription is not what is stopping sales.

The leak is upstream of pricing: almost nobody who hits the wall even reaches the point where packaging matters. And you cannot trust the numbers you would use to judge a change, because one event never fires and 13 of your 14 "active" subscribers are you. Fix the measurement, then change the ask, not the bundle.

01 · THE REALITYYour real book of business

Stripe shows 14 "active" subscriptions. That number is a mirage. Stripped of your own test purchases, here is what is actually there.

1
genuine external paying customer (Málaga, €3/month, since 18 Jul — 8 days old)
13
of the 14 "active" subs are your own account (accounts@boletinbien.com), bought across gazettes in test batches
9
earlier subscriptions (11–12 Jun) that all cancelled — zero retention

Your ~99% number is correct, and the true picture is starker: real external MRR today is €3. Every "active members" dashboard you look at is inflated by your own subscriptions.

02 · THE FUNNELWhere the people actually go

All-time, since the analytics export began on 31 May. This is the whole story on one screen.

1,140
unique people hit the paywall1,927 paywall events — the wall fires as designed, ~8–13% of pageviews
−97.8%  ·  1,115 people leave without ever clicking to pay
25
clicked through to a Stripe checkout~2.2% of everyone who saw the wall
−96%  ·  24 abandon at the payment step
1
completed a real paymentoverall paywall → paid: 0.09%, roughly 1 in 1,140

The dominant cliff is the first one: the wall appears and people vanish before pricing is ever on the table. Repackaging a price card only touches the ~2% who make it past this point.

03 · PROPORTIONALITYTraffic vs. conversion, per gazette

Last 30 days. Traffic is real, healthy, and spread across 17 gazettes (16,444 pageviews). The question was whether visits and checkouts line up.

GazettePageviewsVisitorsPaywallCheckout startedReal paid
Madrid2,8031,89325720
Valencia1,6401,20019720
Andalucía1,4311,08315700
Gipuzkoa1,33194716700
Bizkaia1,32784418150
País Vasco1,28984617500
Barcelona1,03181110240
Málaga1,0147118221

Top 8 of 17 shown. Full catalog tails off (Sevilla, Castilla y León, Cataluña, Galicia, Murcia, Alicante, Canarias, Álava, Extremadura).

Answer: proportional at the top, pure noise at the bottom

Paywall views track pageviews almost linearly (it is quota-driven). But checkout_started is 0–5 per gazette — that is statistical noise, not a demand curve. No gazette converts better than another.

Does the one Málaga sale have an explanation?

No, and that is the finding. Málaga is not a top-traffic gazette and did not have your highest paywall count. It is one random cell in the grid. n = 1 cannot validate or invalidate any pricing change.

04 · BLIND SPOTSTwo reasons you cannot trust your own dashboard

Before any pricing decision, these have to be fixed, or you will be measuring fiction.

① The success event never fires

checkout_completed has fired 0 times, ever. It is meant to fire after the Stripe redirect and is never captured, so you are blind at the exact step you are trying to diagnose.

② Your own subscriptions pollute every count

13 of 14 "active" members are you. Any "active members", MRR, or conversion panel that does not exclude accounts@boletinbien.com is reporting a vanity number.

05 · THE ROUNDTABLEFour independent reads

All four rejected your A-vs-B as a false binary — independently. That agreement is itself a signal.

📊
Mary
Business Analyst

The leak is uniform across the whole catalog — the fingerprint of a funnel/intent problem, not a packaging one. Do not rebundle on n=1; but do not passively wait either. Fix instrumentation and attack the paywall cliff.

📋
John
Product Manager

A subscription is the wrong shape for one-shot Google intent. Why would someone reading one notice pay monthly? Stop pricing the subscription. Test monetizing the daily digest or a one-time unlock instead.

🏗️
Winston
Architect

Option A is days of risky, semi-irreversible migration (17 Stripe products, per-gazette entitlements, moving the one real customer). Observability is the only P0. Instrument first, then decide. Per-gazette is only a real liability if "one browse-first reader" is the true direction.

🎨
Sally
UX Designer

She came to resolve one anxiety, not to shop. Do not hard-gate the article she Googled. Paywall the depth — alerts, "watch this oposición", the digest. Sell the future ("get told the day your results publish"), not the page.

06 · THE REAL DECISIONNot A vs. B. This fork.

Once measurement is honest, the genuine choice is about the offer's shape, not its bundle size.

Mary · Winston

Fix the funnel inside today's model

  • Keep the subscription; attack the paywall → checkout cliff with UX and copy.
  • Lower risk, keeps the current architecture.
  • Bets that intent exists and the funnel is just leaking.
John · Sally

Change the ask itself

  • Paywall depth (alerts / digest / "watch this topic"), not the one article they came for.
  • Make the first paid step lighter than a recurring sub.
  • Bets that the recurring job does not exist yet in this shape.

On the original question, plainly

Do not do Option A (bundle) now. It spends days of engineering to answer a question your data cannot yet even ask. Revisit it only if you deliberately commit to the "one browse-first regional reader" direction. Do not do a passive Option B either — waiting two months only helps if you fix the funnel while you wait.

07 · RECOMMENDED SEQUENCEWhat to actually do

  1. Make the funnel measurable This weekEmit checkout_completed from the Stripe webhook, and exclude your own account from every dashboard. Roughly an afternoon. Nothing else means anything until this is done.
  2. Attack the first cliff, not the price NextRun one cheap experiment on the paywall → checkout step: change the ask (sell the alert/digest, or a lighter first step) rather than reshuffle the bundle. Measure it against the now-honest funnel.
  3. Let real conversions accumulate NextGive it the "one or two months" you were considering — but as an instrumented experiment, not passive waiting. You need more than n=1 before any packaging call.
  4. Only then revisit the bundle LaterIf the data confirms a browse-first, multi-region reader, migrate to one subscription deliberately. Not as a reaction to a drop-off you could not previously see.