Honest Growth
24 rule families0 paying customers, by design

The Meta ads audit that doesn't touch your account.

Every other Meta tool wants write access and an AI deciding your campaigns. We refuse both — but we ship an MCP server, because AI belongs in your workflow, not your account. 200+ checks across 24 rule families, flat $29 a month, posted on the page.

✓ no card✓ no sign-up✓ open engine

Illustrative · what the engine's ledger will read once real audits run

Three refusals, one welcome

Three things we won't do. One we will.

The Meta ads category is racing in one direction — write access, AI deciding your campaigns, percentage-of-spend pricing. We're walking the other way. None of this is roadmap — these are the things you can hold us to.

  • Irefusal

    No write access. Ever.

    Read-only Meta access, by architecture — we request ads_read only, never write. You surface findings; you apply fixes in Meta yourself. No one-click 'optimize' button can drop a Black Friday weekend while you sleep.

    • ads_readrequested
    • ads_managementnever
    • business_managementnever
  • IIrefusal

    No AI deciding what's broken.

    What's a finding, and what dollar it's worth, is decided by 24 deterministic Python rules. Same input, same answer, every time. AI doesn't get a vote on the math. The math is the math.

    # the decision layer
    def audit(account):
      return deterministic_rules(account)
    # no llm.complete()
    # no agent.act()
  • IIIrefusal

    No spend-tiered pricing.

    Flat $29 a month, posted on the page. Every other tool either hides the price, scales it with spend, or gates it behind a sales call. We're aligned with your CFO — not your budget growth.

  • IVwelcome

    AI in your workflow.

    Our MCP server runs inside Claude Desktop, Cursor, ChatGPT. The verdict comes from our Python engine; your AI client explains it, prioritizes it, drafts your remediation. AI's good at explaining — it just doesn't get to decide what's broken.

    # in Claude Desktop
    You: audit my CSV
    Claude: → run_audit_from_csv()
    # verdict from our Python engine
    # explained by your AI client
  • 0+

    statistical checks per audit

    across 24 rule families

  • 0

    LLMs in the decision layer

    deterministic Python only

  • $0

    flat, every month

    posted on the page, not gated

  • R/O

    Meta access, by architecture

    we cannot write to your campaigns

Try it on your number

How much is your account leaking?

Across the audits we've simulated, accounts between $1k and $200k a month in spend leak 8–14% of budget on average — across 4–7 fixable issues, with the math beside each one. Punch in your monthly spend below and see what your other tooling actually charges.

Your monthly Meta ads spend

$30k/mo
$1k$10k$50k$200k
Estimated leak
$4,200/mo

~14% of spend · across 4–7 fixable issues · $50,400/yr if you let it run

Run a free audit on your account

Monthly tool cost at this spend

Honest Growth

Flat · posted at /pricing · forever

$29

/mo

Savings · on tooling

$2,652/year vs the median paid alternative on this row — before counting what we help you recover.

Competitor prices pulled from each tool's public pricing page on 2026-05-23 (links above). Triple Whale tiers approximate GMV at 4× monthly ad spend (typical DTC blended ROAS). Pricing pages change — if any number above goes stale, the source link is the ground truth. See how we compute the leak →

Public quotes · 2025–2026

You're not the only one tired of this.

We're not making up a problem. Working DTC operators have been saying it out loud for two years. These are real public quotes, with sources. We built a tool that respects what they've been asking for.

We don't pay these operators, we don't know them, and we don't have permission to use their words as endorsement. We're citing public quotes about a public conversation — sources linked above so you can read each one in full.

The difference, in two cards

Why determinism matters.

Same Meta account, audited twice. One engine gives you the same answer every time. The other can't — by definition. The gap matters more than the marketing implies.

Honest Growth

Deterministic engine

Same input → same answer. By design.

Frequency-saturation rule fires when
recent frequency ≥ 5 AND CTR drop > 20% week-over-week
What runs
Python. 24 rule families × 200+ checks against your specific entities, Wilson 95% CIs, Benjamini-Hochberg correction.
Same data, different days
Identical output. Identical dollar. Identical confidence.
  • Reproducible
  • Auditable
  • Falsifiable

Typical 2026 Meta tool

LLM-based recommendation

Same input → different answer. By definition.

How it answers
A language model writes a recommendation each call.
What you can inspect
The output text. Not the rule. Not the threshold. Not the math.
Same data, different days
Different phrasing, different suggestions, model updates change everything.
  • Not reproducible
  • Not auditable
  • Not falsifiable

This is not a swipe. LLM-based tools are good for the things LLMs are good at. Auditing money isn't one of them. If two operators ask the same question of your ad account and get two different answers, you can't hold either answer to account.

What the other tools do · vs · what we do

Two screenshots, same Saturday night.

Two operators with the same account, two different tools. One wakes up Sunday morning to find their Black Friday weekend was paused. The other wakes up to a ranked list of things to check.

"Agentic" Meta toolwrites to your accountSat 3:14am
AIAgent · optimization complete

“Good morning! I noticed unusually high CPMs overnight, so I paused 3 underperforming ad sets and increased budget on your top creative. Have a great weekend!”

Actions taken
3 pauses · 1 budget edit
Reason given
“unusually high CPMs”
Math shown
— none —
Reproducible
no
!

What actually happened

One of the “paused” ad sets was your Black Friday teaser campaign. The CPM spike was your audience checking the site. You lose Saturday's pipeline. You find out Monday.

A composite of stories from real DTC operators · 2025–2026

Honest Growthread-onlySat 3:14am · weekly run
Audit complete · 0 changes madechecksum a7f3…91d

We ran every statistical check against your account. Here are the 3 things worth your time on Monday — ranked by recoverable dollars, with the math.

rule.frequency_saturation

Cold · LAL 1% US · creative #4

92% CI

$1,840

rule.creative_concentration

Ad · Founder POV v3 doing 84% of conversions

90% CI

$1,300

rule.sibling_cannibalization

BAU Prospecting × BAU Retargeting overlap 38%

90% CI

$1,140

What actually happened

Your Black Friday teaser is still running. The CPM spike is your audience. We surfaced it, with the math. You decide.

Read the full sample audit →

Both tools cost money. Only one can drop your weekend. See the full comparison →

─── The thesis ───

Twenty-four rules you can read
beats two hundred and forty you can't.

Every Meta ads tool claims "hundreds of checks." Most of those are box-ticking — they pad the audit so it looks thorough. We chose to ship 24 rules and document every one of them, with the math and the threshold and the cases where it fires wrong. You can read the source. You can disagree. You can send a PR. That's not possible with the others.

What you get back

Your account, in one screen.

One verdict. A dollar number. Ranked findings — each one tied to the exact rule that fired and the exact math behind it. No LLM-summary in the middle.

Audit · Lulu Lemonade · 2026-05-23

64 days · 47,302 rows · 14 campaigns · checksum a7f3…91d

90% confidence

Estimated monthly leak

$4,280/mo

14% of $30,120 spend

$014% recoverable$30,120

Leak distribution · last 60 days

60d ago30d agolast weektoday

Top findings · ranked by recoverable dollars

6 fired · 9 passed

  1. 1

    Meta is over-serving one ad — and it's not your best one

    rule.f1

    $1,840/mo
  2. 2

    Two of your campaigns are competing for the same people

    rule.f2

    $1,140/mo
  3. 3

    One ad is doing 84% of the heavy lifting

    rule.f3

    $1,300/mo
See all 6 findings →

Try it on your own data

Run a free audit on your own account.

Export your report from Meta Ads Manager, upload it, and see your verdict. Sign up after to save it to a dashboard, watch the leak shrink month over month, and get a weekly “what changed” email. We never see your account.

Free audit · no sign-up, no card

Ready when you are.

The audit page has the uploader, a step-by-step export guide, and the privacy details in one place. Exporting your CSV from Meta Ads Manager is quickest on a desktop.

Run your free audit →

Want to see one first? See a sample audit — the actual output, no upload, no sign-up. The detection engine is open source, so you can read every rule yourself.

Step 01 · Input

A CSV. Nothing else.

No OAuth. No password. No keys. You export the same file Meta already gives you, drop it on the page, and it's parsed in memory — never written to disk, never persisted, never logged.

> parse → 47,302 rows · 64 days · ok

Step 02 · Math

200+ statistical checks.

24 rule families expand against every entity in your account — campaigns, ad sets, ads. Wilson 95% confidence intervals on every rate. Benjamini-Hochberg correction holds the false-discovery rate at 5%. All deterministic Python.

> rules executed → 200+ checks · 24 families

Step 03 · Verdict

One number. Ranked findings. The math.

Findings ranked by recoverable dollars — not by severity, not alphabetical, not by what an LLM decided to talk about first. The rule that fired, the row it fired on, the confidence percentage, the fix you can apply yourself in Meta.

> verdict → $4,280/mo · 90% CI
Step 01 · Inputscroll to advance · 1 of 3

honest-growth · upload

Upload · in memory

CSV

meta-ads-export.csv

47,302 rows · 64 days · 1.2 MB

Campaigns: 14

Ad sets: 48

Ads: 312

Days: 64

The engine, in motion

24 rule families. 200+ checks. One screen.

Deterministic Python, not an LLM. The 24 families below expand at runtime into 200+ individual statistical checks against your specific ad sets, ads, audiences and placements. Same input, same answer, every time. Every rule's math is public.

0

Passed

0

Findings

0/ 24

Running

  1. Ad sets spending without converting
    Queued
  2. Campaign at daily cap while sibling underspends
    Queued
  3. Single creative driving most conversions
    Queued
  4. Frequency saturation with declining CTR
    Queued
  5. Ad set stuck in Meta's learning phase
    Queued
  6. Ad sets bidding against each other
    Queued
  7. Upper-funnel campaign in a purchase-driven account
    Queued
  8. Audience Network consuming spend at poor unit economics
    Queued
  9. Prospecting ad set without a purchaser exclusion
    Queued
  10. One placement dominates spend with worse unit economics
    Queued
  11. Attribution window too narrow for this account
    Queued
  12. Too few standard events firing for Meta to optimize
    Queued
  13. Top ad got more impressions than it earned
    Queued
  14. 1% lookalike at scale — broader audience worth testing
    Queued
  15. Conversions API missing or weak for Purchase
    Queued
  16. Ad sets spending too much for too few conversions to optimize
    Queued
  17. Spend fragmented across too many small ad sets
    Queued
  18. Active prospecting running on too few creative concepts
    Queued
  19. Advantage+ Shopping without an existing-customer budget cap
    Queued
  20. Bid cap set higher than the account's actual target CPA
    Queued
  21. Retargeting spend share is too high
    Queued
  22. Conversions API Event Match Quality below the optimization floor
    Queued
  23. Browser pixel and CAPI events are double-counting
    Queued
  24. Reported conversions dominated by 1-day-view attribution
    Queued

All 24 rules

  • Ad sets spending without converting
  • Campaign at daily cap while sibling underspends
  • Single creative driving most conversions
  • Frequency saturation with declining CTR
  • Ad set stuck in Meta's learning phase
  • Ad sets bidding against each other
  • Upper-funnel campaign in a purchase-driven account
  • Audience Network consuming spend at poor unit economics
  • Prospecting ad set without a purchaser exclusion
  • One placement dominates spend with worse unit economics
  • Attribution window too narrow for this account
  • Too few standard events firing for Meta to optimize
  • Top ad got more impressions than it earned
  • 1% lookalike at scale — broader audience worth testing
  • Conversions API missing or weak for Purchase
  • Ad sets spending too much for too few conversions to optimize
  • Spend fragmented across too many small ad sets
  • Active prospecting running on too few creative concepts
  • Advantage+ Shopping without an existing-customer budget cap
  • Bid cap set higher than the account's actual target CPA
  • Retargeting spend share is too high
  • Conversions API Event Match Quality below the optimization floor
  • Browser pixel and CAPI events are double-counting
  • Reported conversions dominated by 1-day-view attribution
  • Open engine

    All 24 rules are public on GitHub.

  • Read-only

    Never writes to your account.

  • Flat-rate

    $29/mo. No take-rate. Ever.

  • Math shown

    Every finding traces to a row.

Built for one customer

The founder running their own Meta ads.
$1K–$30K a month.

You don't need a $3,000 agency audit. You don't need a Triple Whale dashboard. You need a second pair of eyes on the same account every month — the math, the dollar amounts, the rule that fired and why. We built this for you specifically.

The anti-roadmap · signed and dated

Beyond the three refusals, five more commitments.

The three refusals are about the product. These five are about how we run the business — dated, signed, and turned into a public receipt. If any one ever breaks, this page becomes the proof.

Commitment· public · signed

We will never gate anything behind a sales call.

Sample audit, methodology, pricing, source code — all on the public site. If we ever build an Enterprise tier, the price will be posted on this page like everything else.

Nachiket Pai

founder · signed 2026-05-23

Receipt

NEVER-01-sales

The git history of this page is on GitHub. If we ever break a commitment, the diff is the apology.

Built in the open · solo founder · public engine

One engineer. One opinion.
Every commit in public.

No board pushing for write-access. No PM with a roadmap full of “AI Agent v2.” The engine is the work of one person, the methodology is on GitHub, the changelog is dated, and every rule is signed off by name. If a finding seems wrong, you can email the founder directly.

  • # reasons it stays small
  • · no enterprise contracts to chase
  • · no investor demanding write-access for ARR
  • · no roadmap-driven feature bloat
  • · every commit is dated and signed
NP

Nachiket Pai

founder · sole maintainer

Active today
  • 0

    commits

  • solo

    maintainer

  • 0

    rule families

52 weeks · commit activity

lessmore
jun '25sepdecmar '26today

Latest commit · 2026-05-23

feat(web): V4-v2 — sunlit paper palette, spotlight, verdict chrome v2 +536 −201

3da699c · main · Nachiket Pai

Weekly · only when something changed

Get a “what changed” email.
Only when something actually did.

We re-audit on your CSV cadence and send you the diff — only when a finding fires, resolves, or moves materially. No padding. No “just checking in.” One click to unsubscribe.

No card. No commitment. One click to unsubscribe.

From: Honest Growth <diff@growth>

Your weekly audit — 2 things changed

  • frequency_saturation · resolved · −$1,840/mo
  • capi_health · new finding · match rate fell to 47%

Verdict: $2,440/mo recoverable, down from $4,280

Honest Growth vs the rest

How we compare to Madgicx, Triple Whale, and Motion.

Three good tools. Different jobs. Here's where each one wins.

  • Honest Growth

    Pricing
    Flat $29/mo · posted, not gated
    Account access
    Read-only by architecture — we cannot write
    What it does
    200+ deterministic checks. No AI in the decision layer.
    Where it wins
    An honest second opinion. Same input, same answer.
  • Madgicx

    Pricing
    Tiered, scales with ad spend
    Account access
    Writes to your account
    What it does
    Agentic AI that optimizes campaigns for you
    Where it wins
    Hands-off, always-on automation
  • Triple Whale

    Pricing
    Tiered, scales with revenue
    Account access
    Connects for analytics
    What it does
    Full ecommerce analytics suite
    Where it wins
    Full-funnel ecommerce reporting
  • Motion

    Pricing
    Per-seat subscription
    Account access
    Connects for reporting
    What it does
    Creative analytics and reporting
    Where it wins
    Understanding which creative performs

Flat-rate, forever

Pricing.

No credits, no usage meter, no percentage of your ad spend.

Free

$0forever

  • One audit per month
  • The full ranked verdict, top 3 findings
  • Every confidence number, every methodology link
  • MCP server — three free tools

Audit

$29per month

  • 20 audits per month
  • Every finding, not just the top three
  • The math behind every number
  • 90-day exportable history
  • PDF export · Slack delivery

Both plans are flat-rate — the price never moves with your ad spend. The full pricing page has every detail, plus a dated timeline of what's coming next.

Frequently asked

Before you try it.

If your question isn't here, the methodology page probably has it. The engine is on GitHub.

Do you need access to my Meta account?

No. The current path is CSV upload — you export the file from Meta Ads Manager and drop it on us. We never see your account. When OAuth ships with the Watchtower (target Q1 2027), we'll ask for ads_read only — never write scope.

Is my CSV data stored anywhere?

No. The CSV is parsed in memory, the audit runs, and we return the result. Nothing is persisted. No database write, no log of contents, no retention. You can verify this in the source code — the route is at apps/api/app/routes/csv_audits.py.

How long does an audit take?

The audit itself runs in seconds — every statistical check and detection rule runs synchronously, with no background queue, even with months of daily data. The one wait is a cold start: the service spins down when it's idle, so the first audit after a quiet spell can take up to a minute to wake up. After that, it's near-instant.

Why should I trust the findings?

Every detection rule is published on our /methodology page with the exact math, threshold values, and false-positive cases documented. Every finding has a confidence percentage. Below 90% comes with a 'what would change our mind' note. If you disagree with how a rule fires, you can read the code and tell us.

How is this different from Madgicx or Triple Whale?

Three things. Madgicx writes to your account; we have read-only access by architecture. Madgicx and Triple Whale are both racing toward AI agents that act on your campaigns (Madgicx's agentic AI, Triple Whale's Moby) — our detection engine is deterministic Python with no LLM in the decision layer (we do use AI to explain findings, and ship an MCP server for Claude Desktop, but never to decide what's broken). Their pricing scales with your ad spend or revenue; ours is flat $29/mo for Audit today, $79/mo for Full Stack when the Watchtower ships (target Q1 2027), posted on the page. See /compare for the full side-by-side.

What does the MCP server actually do?

It's how Honest Growth runs inside your AI client. Install once and you get three free tools: run_audit_from_csv (a full audit on a CSV you paste in), list_detections (the rule catalog), and get_methodology (rule documentation). When the Watchtower ships, subscribers get six more tools through the same server — run_audit_on_connected_account, get_live_findings, get_account_timeline, compare_to_last_audit, get_finding_history, and acknowledge_finding — which read from their live account. The free tools work forever, with or without a subscription.

Will this work for an agency managing multiple accounts?

Yes for ad-hoc audits today — you can upload one CSV per client. The full Agency tier (10+ connected accounts, white-label PDF, shareable links, team seats) lands when OAuth activates alongside the Watchtower (target Q1 2027). White-label PDFs and shareable links are configured per agency today — talk to us if you need them sooner.

What if a finding is wrong?

We explicitly document where each rule can be wrong on its methodology page (the 'What would change our mind' section). If you spot a false positive in production, email us. The detection thresholds update with real-account data — that's how the engine gets sharper over time.

One last thing

Read the audit before you pay for one.

Free first audit. No card, no signup. The math is public, the rules are public, the code is public.