πŸ•°οΈ HISTORICAL DOCUMENT β€” July 2026 turnaround brief. This is kept for the record and for its reasoning, not as a current read. It set the freeze-paid β†’ instrument β†’ fix-leaks β†’ scale sequence. Much of it has since been executed or superseded β€” check the cockpit before acting on any figure in it. For today's numbers go to the cockpit. Republished under the cockpit domain 11 Aug 2026 so it has one permanent home instead of a file:// path on one Mac.

The Movement Athlete β€” Turnaround Brief, Re-Run

What we said on 1 Jul vs what is true on 26 Jul Β· USD Β· net of platform fees Β· all rails Β· for Aga Β· 26 Jul 2026
Supersedes TMA_TURNAROUND_BRIEF_JUN2026.html (1 Jul) β€” kept as the historical record. Every figure below was re-pulled live this session; the reproducing command is named beside each block.
The honest re-run. July will be the best cash month of the year β€” $22,117 net, all rails β€” and the recurring engine did not move: $19,997 of July's cash is one-time lifetime, and only $7,957 is recurring. We spent the month executing the 1 Jul plan, which said the problem was churn and email deliverability. Neither was the constraint. Churn has been flat at ~13%/mo for twenty-two months. Deliverability was genuinely broken, we fixed it properly, and the funnel did not lift β€” the leads list still clicks at ~0.2%. Meanwhile the thing nobody costed: we sell a $46 average sale to traffic that is 54% Meta and 10% bots. Annual is 36% of sales but 44 of the 55 annual sales went out at $78.50 and only 4 at $157. The constraint is not how many people arrive or how many leave. It is what we charge the ones who say yes, and who we let in the door.
β˜… Repeatable net cash β€” THE number
$7,570/mo
$7,430 short of $15,000 Β· lifetime excluded
MRR (all rails) β€” secondary
$10,987
761 subs Β· book value, not cash
July cash β€” recurring
$7,957
vs $19,997 one-time
Quiz landing β†’ paid
2.98%
154 of 5,164 Β· 90d
Avg per new sub sale
$46.05
list price is $157

0 Β· The scorecard β€” 1 Jul claim vs 26 Jul truth

The June brief was written on the best data we had. Most of it did not survive the better data. This table is the point of the document β€” read it before anything else, because three of the four things we spent July on were chosen from the rows now marked REFUTED.

What the 1 Jul brief saidVerdictWhat we know now
Net all-rails fell Β£10,329 β†’ Β£6,650, βˆ’36%, Mayβ†’JuneRECALIBRATEDDirection held, basis improved. In USD, net, both Stripe rails + RevenueCat: May $14,273 β†’ Jun $9,564 (βˆ’33%). The June brief could only see one Stripe account and two months of app data.
"Every rail fell β€” Stripe βˆ’42%, iOS βˆ’33%"REFUTED
as like-for-like
πŸ”΄ Android billing migrated Stripe β†’ Google Play around Feb–Mar 2026, concurrent with the quizβ†’paywall switch. Any Stripe-only comparison across that boundary is (web + Android) before vs (web only) after. ~80% of the Stripe decline was channel shift, not lost customers. This is now a standing law.
"The engine of the loss is churn against a shrinking base"REFUTEDBlended money churn has been flat at ~13%/mo for 22 months. Skeptic-gated by-plan decomposition: no plan deteriorated post-March; the mix-shift attack failed. Churn is chronic and category-normal, not the acute cause of a June drop. The constraint on the visible rail is acquisition volume and sale value.
"DKIM/deliverability is the likely common cause of BOTH leaks β€” one fix, whole-funnel lift"FIXED β€”
NO LIFT
The fault was real: three conflicting DMARC records, so inbox providers ignored the policy entirely. Fixed. Auth audit PASSED 20 Jul (SPF includes AC Β· domain-aligned DKIM acdkim1/acdkim2 Β· strict DMARC satisfied). June sends: 0.04% bounce, ~0 complaints, Postmaster clean. And the funnel did not lift. The leads list still clicks at ~0.2% while members click 3–4%. The hypothesis was cheap, reasonable and wrong as a revenue lever.
"Failed-payment recovery only 46% β€” half is lost, big lever"RECALIBRATED
DOWN
46% is the count-eventual figure and it oversells the prize. The operative number is $-value 20–30% and falling (June cohort: 6.6%). Config was already optimal before we looked β€” Smart Retries 4Γ—/1mo, all emails on, Card Account Updater on, Retain off. There is no config lever. Worth ~$160–320/mo via a manual personal rail. Involuntary churn "rising 11%β†’18%" was a denominator artifact β€” absolute involuntary cancels are flat at ~15/mo.
"Trial β†’ Paid is healthy at 40.5%"SUPERSEDEDWe do not have a normal trial funnel, so the metric was measuring the wrong thing. Two paths to payment: a carded trial where trial-start is the purchase (~50% simply don't cancel β€” a retention signal), and a direct ~50%-off purchase with no trial at all. The gate metric is Lead β†’ Paid, by source. Matured trial conversion is 36.9%.
"You are NOT short of traffic β€” 3,527 leads in June, ~3.6Γ— May"HOLDS β€”
with a caveat
Volume is real; quality is the story the June brief missed. Over 90 days: 10.4% of all quiz traffic is bot/junk (537 users β†’ 12 leads β†’ 4 buy-clicks), and a Meta lead is roughly half as likely to buy after handing over an email (35.1% vs direct 64.3%). We were not drowning in leads. We were drowning in the wrong leads.
"Lead β†’ Trial is the new #1 leak"RELOCATED
EARLIER
The biggest single loss sits before that. The quiz landing screen loses 54.5% β€” 2,816 people in 90 days, no tap. Stripping the bot traffic it is 49.8%. It has been stable since at least 9 Jul β‡’ structural, not a regression. The 40 screens between Q1 and email capture lose nothing β€” none costs more than 2.5%.
"Meta CPL +139% β€” optimise for paid conversions, not lead count"CONFIRMED β€”
STILL BROKEN
Correct call, not yet executed. Meta is still trained on 5,171 Leads against 172 Purchases. The server-side Stripe β†’ GA4 + Meta CAPI webhook shipped 21 Jul and is pending an Ads-UI confirmation. Until then the ad platforms optimise on add_to_cart, not revenue β€” which is why they keep buying us cheap leads that don't buy.
"Lifetime dilutes the recurring MRR a buyer pays for β€” use it for oxygen, not as the strategy"CONFIRMED β€”
and we did it again
The warning was right and we ran the promo anyway. 72 lifetime sales = $21,822.72 of July's cash (67 distinct buyers). July's headline is the best of the year; the recurring engine is $7,957. That is the second lifetime pull-forward in eight months (BF ~$31.6K, July-4 ~$21.8K). There is no third one available that doesn't eat the asset.
"Arrest the decline and show stabilisation for a buyer"UNCHANGED β€”
now measurable
Still the right goal, and now we can actually see it: MRR $10,987 / 761 subs, refreshed daily from live rails, against the $15K gate. In June we could not see our own top line. That part of the plan worked.
Sources: tools/finance/revenue_per_month_pull.py Β· stripe_mrr_pull.py Β· quiz_buys_90d.py 90 Β· tools/quiz-analytics/pull_quiz_deep.py 90daysAgo yesterday Β· churn baseline data/customer-analytics/CHURN_BASELINE_PRE_MARCH_2026_ANALYSIS_2026-07-24.md (skeptic pass) Β· auth audit TMA-EMAIL-EXECUTION-PLAN-2026-07-20.html Β§1.

1 Β· The money now

Net revenue, all rails, by month (USD)

$6.9kFeb $10.5kMar $12.0kApr $14.3kMay $9.6kJun $22.1kJul*
promo-inflated month (May 50%-off Β· July lifetime)  Β·  * July = month-to-date
Read the yellow bars, not the trend line. Two of the six months are promo pulses and a third (June) is the hangover from one. Strip promo cash and the underlying recurring business has been broadly flat-to-soft all year β€” it has neither collapsed nor recovered. August is the first clean read since February. The tripwire to watch: weekly annual adds β‰₯20 with no promo running.
July cash, by rail (MTD)GrossNetNote
Stripe Γ— 2 (web subs + promo carts)$23,754$21,398includes the lifetime cart
Apple (iOS)$2,392β€”RevenueCat gross; store proceeds ratio applied monthly
Google Play$1,083β€”the rail Android migrated onto
All rails$27,229$22,117
β€” of which one-time$19,997lifetime Β· does not recur Β· not MRR
β€” of which recurring$7,957the only number a buyer underwrites

The gate, and the two different numbers people quote against it

MeasureNowBasis
β˜… Repeatable net cash β€” THE operating number$7,570/momoney actually arriving Β· Stripe recurring net (paced) + app net Β· one-time lifetime excluded Β· kpi_15k.json
Gap to the $15K gate β€” the real one$7,430/mothe number every action is judged against
MRR, all rails (secondary)$10,987discount-adjusted, excludes the 110-sub cancel queue Β· book value, not cash
β€” web (Stripe Γ— 2)$7,883543 subs
β€” app (RevenueCat)$3,104218 subs
Cancel queue at stake$1,527/mo110 subs already cancelled, still inside their paid period
Gap measured on MRR (do not plan against this)$4,013/mocompares a book value to a cash target β€” understates the real gap by $3,417
⚠️ Basis note worth knowing: a raw Stripe pull of the main account returns 653 subs / $9,487 because it counts list prices and includes the cancel queue. The cockpit figure applies coupons and excludes the queue. Both are correct; they answer different questions. Quote the cockpit basis β€” it is the money that will actually arrive.

2 Β· The funnel now β€” 90 days, walked end to end

This did not exist on 1 Jul. It is now reproducible in one command, and two tooling bugs that were silently corrupting it have been fixed.

StepPeopleOf previousOf landingsVerdict
Landed on the quiz (S01)5,164β€”100%
Answered the first question (S02)2,34845.5%45.5%βˆ’54.5% Β· the single biggest loss in the business
Reached email capture (P52)1,49163.5%28.9%~40 screens, none costs >2.5%
Became a lead1,22682.2%23.7%email wall is not the problem
Reached the paywall (R10)1,17495.8%22.7%
Clicked buy60451.4%11.7%
Subscription created (Stripe)24941.2%4.8%normal cart abandonment, not a bug
Took money15461.8%2.98%1 customer per 33.5 landings
python3 tools/quiz-analytics/pull_quiz_deep.py 90daysAgo yesterday + python3 tools/finance/quiz_buys_90d.py 90. The 249β†’154 gap is subscriptions created that never took money (trials that died, incompletes).

Where the traffic comes from β€” and how differently it behaves

SourceUsersShareLead %Buy-click %Verdict
Meta family (fb Β· ig Β· m.facebook Β· AN Β· facebook.com)2,80254.3%~24%7.5%volume, not intent
(direct)1,50029.0%29.3%18.9%47% of all buy-clicks
google5119.9%25.8%15.5%small and good
Leadpages (startup2013.lpages.co)971.9%37.1%19.6%best real source
Dead sources β€” doubleclick Β· facebook.com Β· m.facebook Β· AN53710.4%2.2%0.7%12 leads, 4 buy-clicks, 90 days
bodyweighttrainingarena.com70.1%28.6%28.6%1.9M impressions/28d β†’ 7 quiz visits/90d
The number that reframes the paid budget β€” and it is not "Meta traffic is bad". At the landing screen the bounce spread across sources is only 4.7 points (fb 52.9% Β· ig 51.3% Β· google 48.2% Β· direct 47.1%), so the landing screen is a page problem for everyone, not a Meta problem. The Meta gap opens after the email: a direct lead then buys at 64.3%, a Meta lead at 35.1%. Those people finished a 40-screen assessment and typed in their address β€” so this is not bounce and not creative. The most likely cause is our own broken purchase signal: Meta has spent 90 days optimising toward add_to_cart, so we have been paying it to find people who click buy and don't pay. Fix the signal before judging the channel.
Device: mobile 4,079 users (79%) at 11.2% buy-click vs desktop 907 at 14.3% β€” and every paywall defect found so far is a mobile-viewport defect. Geo: US is 52% of traffic at the worst buy-click rate (9.9%), but geo is confounded with source (the US is where Meta spend lands) β€” needs a source Γ— country cut before any budget move.

πŸ”΄ The lead rate is still down, and it started in week 28

Week27 Apr–3 May–29 Jun–5 Jul avg6–12 Jul13–19 Jul20–26 Jul
Users~384404540499
Lead rate26.6%17.1%14.6%19.6%

Traffic held; only the conversion to lead fell. 13–19 Jul was the floor at 14.6%; 20–26 Jul has recovered to 19.6% but is still 26% below baseline. At current volume that is roughly 40 leads a week still being lost. The leading suspect is the /api/quiz/config 404 observed on the live quiz β€” unverified, and dating it against the 6–12 Jul breakpoint is the single cheapest diagnostic we have.

3 Β· The corrected diagnosis β€” three constraints, in order

β‘  The mix β€” and specifically, the discount on annual

New sub sales, 90 daysSales% of salesCash% of cashAvg
Annual5535.7%$4,591.7264.7%$83.49
Quarterly6743.5%$1,853.6026.1%$27.67
Monthly3220.8%$646.659.1%$20.21
Total154100%$7,091.97100%$46.05
πŸ”΄ The finding, and it is not the one in the cockpit. The cockpit's headline β€” "only 15% of sales are annual, $53/sale" β€” is a 7-day, 34-sale window. Over 90 days annual is 35.7% of sales and 64.7% of the cash. So the problem is not that we fail to sell annual. The problem is the price we sell it at:
Annual price actually chargedCountCash
$78.50 50% off44$3,454.00
$157.00 list4$628.00
$79.99 / $109.905$459.77
$24.98 and $24.97 a YEAR for $25 β€” price-object fault2$49.95

Eight out of ten annual buyers paid half price β€” and the plan they paid it for cannot be bought from the quiz paywall at all (top tier there is a 12-week $24.98), even though /register/yearly_2026/ has been returning 200 the whole time.

The price is already decided β€” $97, not $157. The 4-seat growth fleet ruled on this the same day (see the master decision below): put annual on the paywall at $97, pre-selected, and raise the standing floor from $78.50 to $97 with a stated reason. Not full list β€” a deliberate floor raise. Their sizing: +$333/mo from the floor raise now, ~$800/mo once annual is actually on the paywall, and +$1,000–1,700/mo for the paywall change itself. My own arithmetic on this 90-day data agrees within range (+$248–271/mo for the floor raise alone at current mix).

Honest sizing: meaningful, not a silver bullet β€” and the June brief's mistake was calling one lever the whole answer, which I am not repeating. Also queued in the same ruling: remove quarterly from the paywall (43.5% of sales but only 26.1% of the cash), stop the free-trial route enrolling at monthly, and fix the two ~$25 annual price objects.

β‘‘ Traffic quality β€” we are paying to import people who will not buy

β‘’ Live defects that are costing money right now

DefectCostStatus
/api/quiz/config returns 404 on the live quiztracks a 36% lead-rate collapse from 6–12 Jul β€” ~40 leads/weekunverified link, undated
Silent checkout bail-out: if (i!=="control" && !P?.checkoutUrl) return;button does nothing β€” no error, no event, no fallback. These users fire no analytics at all, so they are invisible in every metric we havelive
Annual not offered on the paywall (top tier is 12-week $24.98)the highest-cash plan cannot be bought at the moment of highest intent β€” while /register/yearly_2026/ returns 200live
Two competing CTAs; the sticky one routes to monthlysteers buyers to the lowest-cash planlive
Two subscriptions billed $24.98 / $24.97 for a yearprice-object misconfigurationlive β€” Nic
"Report Bug" widget shipping on production, over the CTAcredibility, mobile viewportlive

4 Β· What July actually bought us

An honest ledger. Plenty was built; almost none of it moved recurring revenue β€” and it is worth being precise about which is which, because that is how we choose better next month.

ShippedReal?Did it move money?
DMARC / SPF / DKIM fixed, auth audit passed, list health clean (0.04% bounce)yesno β€” leads still click at ~0.2%
Churn baseline established β€” 22 months, by plan, skeptic-gatedyesno β€” but it stopped us spending August on a non-problem
AC estate mapped β€” 34,389 tags, 8 actually live, 3-phase cleanup scopedyesno β€” and archiving saves $0 (account locked to Apr 2027)
R1 cancel-queue save engine built; Wave A sent 20 Jul (37 members, 24/24 delivered)yes2 replies, 0 saves yet β€” 81 members still unsent
986 lifetime welcome arc E2–E6 wired; 57 buyers injectedyesretention play, too early to read
Server-side Stripe β†’ GA4 + Meta CAPI webhook shipped 21 Julyespending Ads-UI verification β€” this is the one that unlocks paid
Quiz funnel made reproducible + 2 corrupting tooling bugs fixedyesno β€” but every number in this document depends on it
July-4 lifetime promoyes$21,822 cash β€” and it is oxygen, not growth
Payment-recovery diagnosisyesno lever existed β€” config was already optimal
The pattern. We built instrumentation and hygiene β€” genuinely valuable, and the reason this re-run can be trusted where the June one could not. But every single revenue-moving decision was deferred behind it, and the one promo we ran was a pull-forward. August has to invert that ratio.

5 Β· What to do next

This is not a new plan. A 4-seat growth fleet (pricing Β· paid Β· measurement Β· channel-neutral growth lead) ruled on all of this the same day and produced the ranked R0–R6 list β€” marketing/campaigns/quiz-funnel/MASTER_DECISION_AND_PRIORITISED_PLAN_2026-07-26.md, which supersedes every companion to-do list. What follows is that plan, confirmed against this re-run. Where my own arithmetic differed I deferred to the ruling and said so.
πŸ”΄ CORRECTED 27 Jul β€” "~34 cancels vs ~13 new" does not reproduce
~34 cancels a week against ~13 new subs a week from the quiz. A full pull of 16,080 subscriptions across both Stripe accounts, rebuilt weekly, says otherwise:
Eraadds/wkends/wknet/wk
Pre-Feb-2026 β€” the "old funnel" era (56 wks)23.531.3βˆ’7.8
2025 full year23.231.5βˆ’8.3
Paywall era, Mar–May 2026 (14 wks)21.921.4+0.4
Jun–Jul 2026 (8 wks)17.023.8βˆ’6.8

The "34 vs 13" was a busiest-week snapshot read as a rate. Corrected: cancels are 24% BETTER than the pre-Feb baseline (23.8 vs 31.3/wk), the bucket has been net-negative for two years (2025 ran βˆ’8.3/wk) so it is chronic rather than a new fire, and the paywall era's first 14 weeks are the only non-negative stretch in the window. Latest week 20–26 Jul: +17 (39 adds / 22 ends).

What actually broke in June is the ADDS side (21.9 β†’ 17.0/wk), at exactly the moment the annual mix collapsed. That changes the priority: this is an acquisition-value problem, not a churn fire.

R0 β€” diagnose the lead-rate collapse. FIRST Nic

6–12 Jul–30: 26.6% β†’ 17.1% lead rate with traffic holding, ~40 leads/week, cause still dark. Start by dating when /api/quiz/config began 404ing. Everything below is over-optimistic until this is fixed, which is precisely why it goes first β€” even though it banks no cash by itself.

R1 β€” annual on the quiz paywall at $97, pre-selected, CHARGED TODAY + fix the dead downsell. THE CASH LEVER Nic

Annual is 64.4% of the cash and currently unpurchasable from the quiz; the URLs already return 200. Pair it with making the silent checkout bail-out loud β€” real error, real fallback, and an event so those users stop being invisible in every metric. MODELLED +$1,000–1,700/mo.

πŸ”΄ CORRECTED 27 Jul β€” "charged today" is load-bearing, not a detail. The built-but-unused variant makes every tier a 7-day trial. Today's startβ†’paid is a healthy 61.8% precisely because the current 4-week and 12-week tiers charge immediately. Flipping to a trial gate trades immediate cash for cash gated at the measured 36.9% trial conversion. Verified sensitivity at $97: charged today β†’ +53% Β· at 50% β†’ +24% Β· trial-gated β†’ βˆ’9%. At $157 the trial gate survives (+40%); at $97 it does not. A naive variant flip lands on the βˆ’9% case.

R2 β€” wire CAPI with real Stripe values, and kill the junk. UNBLOCKS PAID Nic + Aga

CAPI with real values: +$450–800/mo on the same budget. Junk (Nic, ~20 min, free): Google β†’ pause Quiz Funnel | Competitive Non-Branded | US β€” live, and 35% of Google spend at Β£10.63/click; Meta β†’ manual placements, uncheck Audience Network as a permanent lock.

πŸ”„ CORRECTED 29 Jul 2026 (live-verified β€” supersedes the line that was here). This previously said β€œexpect traffic to fall ~10%” and told us to pause the Display/PMax doubleclick placement. Both were wrong. (1) Audience Network already stopped on its own around 13 July β€” it peaked at Β£136.90 in the week of 29 June and has run at ~Β£0.05/week since, so it is 3.3% of 90-day spend and ~0.1% today. Unticking it is a lock against recurrence, not a traffic event β€” do not expect a ~10% fall. (2) Hold the Display/PMax exclusion β€” a live GA4 pull contradicts the β€œzero leads” claim for googleads.g.doubleclick.net. (3) The real live bleed is Competitive Non-Branded, which did not exist when this brief was written (first impression 10 July). Full evidence: task 5 in the revenue story & plan.

R3 β€” raise the annual floor $78.50 β†’ $97 with a stated reason. Nic + Aga

+$333/mo now, ~$800/mo after R1. Also: remove quarterly from the paywall (43.5% of sales, only 26.1% of cash), stop the free-trial route enrolling at monthly, and fix the two annual price objects charging ~$25 for a year.

R4 β€” annual concierge to the ~47K engaged. Aga Β· the most under-used asset

+$700–1,000/mo. This is the email play worth running β€” not more deliverability work. Also repair the lifecycle corridors for the ~14 leads/day currently entering a dark one. Alongside it: R1 cancel-queue Waves B and C (81 members, ~$1,097/mo at stake, engine built and Wave A already proven deliverable) and the payment-recovery personal rail (~$160–320/mo).

R5 β€” the 30-minute export. Aga Β· highest ROI per minute in the plan

Apple App Store Connect + Google Play subscription history back to 2024. It is the only thing that bounds the pre-February era and settles whether the old app-download funnel really earned more β€” a question that is otherwise unfalsifiable, because RevenueCat holds nothing before Feb 2026.

R6 β€” everything else, in this order. last

Mobile paywall defects Β· copy faults (the "96 progression levels" line, the "closes permanently" timer) Β· BWA overlays gated on the UTM fix (1.9M impressions is only ~6K sessions/mo at 0.32% CTR β‰ˆ 8–9 customers/mo β€” real, but smaller than it sounds) Β· the landing screen LAST Β· scale paid only after the measurement gate. Housekeeping: delete the 3 claude-qa-donotcontact test leads from AC.

Governance, and the early indicator. Ad spend is $4,883 MTD against the $3,000/mo all-platforms cap β€” July's overage was the accepted lifetime-ads push, so confirm in writing that August returns to cap or amend the cap deliberately. Watch one number to know if this is working: ARPU per new sale above $65 by week 4 (it is $46.05 today). And the honest ceiling β€” "thousands of customers in 90 days" is not achievable: it needs ~8,000 leads, ~33,755 landings, ~$120K of spend against a $9K/90d cap, about 13Γ— short. Thousands of leads is achievable. $15K is reached through ARPU and conversion, not traffic.
And equally important β€” what NOT to do
  • No third lifetime promo as a growth plan. Two pull-forwards in eight months have already borrowed from the recurring base a buyer pays for. Oxygen only, and we have had our oxygen.
  • Do not fix the landing screen first. It is the biggest number on the page and the worst first move: it has been stable for weeks, which means it is hard, not broken. Cut the junk traffic and re-baseline it at 49.8% before touching a pixel.
  • Stop working deliverability. It is clean. Auth passes, bounce is 0.04%, Postmaster is green. The 0.2% click rate is an offer and audience problem, not an inbox problem.
  • Do not treat the 604 β†’ 249 checkout gap as a bug. 41% completion on a card-required subscription checkout is roughly normal. It is CRO, not a bug hunt.
  • Do not scale paid until the purchase signal is verified. More spend on Leads-optimised campaigns actively makes the traffic worse.
  • No $9.99 tripwire β€” 7-day or 30-day. Both were tested and rejected the same day. $9.99/30d banks 21.8% of the $45.84 blended realised price, so it needs 4.6Γ— more buyers to break even in month one, and at $0.33/day it inverts the price ladder against annual's $0.43/day. $9.99/7d is worse: the live trial is card-upfront passive auto-bill, and that passivity is the 36.9% conversion mechanism β€” charging on day 1 makes day 8 unresolvable ($34.96 in eight days, or surrender passive billing).
  • Do not reopen the app-download funnel yet. The same broken signal would infect it, SKAN makes teaching Meta to find payers harder not easier, store fees are 15–30% against Stripe's ~3% (worse as we push annual), and splitting the budget puts both arms under Meta's ~50-events/week learning threshold. After CAPI, not before.

6 Β· Honesty notes β€” what is still dark

Prepared 26 Jul 2026 as a working re-run of the 1 Jul brief. All figures USD, net of platform fees, all rails, window-labelled. Every headline re-pulled live this session β€” revenue_per_month_pull.py Β· stripe_mrr_pull.py Β· flow_metrics_pull.py Β· quiz_buys_90d.py Β· pull_quiz_deep.py Β· spend_daily_pull.py Β· lead_sources_pull.py. Where a claim could not be reproduced this session it is marked unverified rather than carried forward.

Related: the live daily numbers are the Growth Cockpit (refreshed 06:00) β€” this document is the quarterly-grade read behind them. Strategy precedence: TMA-STRATEGY-SOURCE-OF-TRUTH-JUL2026.html wins on contradiction. Historical record: TMA_TURNAROUND_BRIEF_JUN2026.html (1 Jul) and TMA_STRIPE_PAYMENT_ANALYSIS_JUN2026.html (v3).