Skip to content

Android-Tipster/spendleak

Repository files navigation

SpendLeak

Find where your Google Ads or Microsoft Ads budget is leaking, in 60 seconds, without giving anyone access to your account.

SpendLeak is a local-first web tool for freelance media buyers and agencies. You drop in your search terms report (the single highest-waste surface in any paid search account) and it shows you exactly which terms are burning budget with zero conversions, the hidden themes draining money across many terms at once, and the efficient terms worth scaling. Then it hands you a paste-ready negative keyword list and a client-ready summary.

Nothing is uploaded. The CSV is parsed entirely in your browser. No login, no Google OAuth, no account access, no server. Once the page is loaded it works offline.

Live: https://android-tipster.github.io/spendleak/

Why this exists

Every Google Ads audit tool (Optmyzr, Adalysis, Opteo) wants OAuth access to the account and a monthly subscription, and lives inside the account. There was nothing dead-simple for the freelancer who just needs to answer two questions fast:

  1. Where is this account leaking money?
  2. How do I explain it to the client and fix it?

The terror that runs through r/PPC is the expensive, silent mistake: "I overspent a client's account by $104,000," "spent $7,000 and not a single real lead." The search terms report is where most of that waste hides in plain sight, and it exports in two clicks. SpendLeak turns it into a number.

What it finds

  • Money-pit terms — search terms that spent real money and produced zero conversions, above a defensible threshold (one account average cost-per-conversion). The headline "reclaimable spend" figure is the sum of these. It never double counts and never flags a term just for being new or cheap.
  • Hidden waste themes (n-grams) — individual words and phrases (like jobs, diy, free, a competitor name) that each appear across many search terms and collectively drain budget at zero conversions. This is the leak a human scanning 2,000 rows never spots. SpendLeak never suggests a theme that produced any conversions, so it will not tell you to negative near me when near me is converting.
  • Scaling opportunities — terms converting below your account average, ranked by profitable headroom.
  • A paste-ready negative keyword list — exact-match negatives for the specific wasted terms, plus phrase negatives for the high-leverage themes.
  • A client-ready summary — plain English, no jargon, ready to drop into an email or report.

Privacy

The file you load never leaves your machine. There is no analytics call, no upload, no network request with your data. Read js/app.js and js/engine.js — the analysis is a pure function over the CSV text. This matters because client ad-spend data is sensitive, and it is the one thing a hosted SaaS competitor cannot match.

Free vs Pro

Free Pro ($39 one-time)
Reclaimable headline + account snapshot yes yes
Top 5 money-pit terms yes all of them
Hidden waste themes top 3 all
Scaling opportunities yes
Paste-ready negative keyword list yes
Client-ready summary yes
Audits / accounts unlimited unlimited

Pro is a one-time purchase, not a subscription. The key is an ECDSA P-256 signed token verified offline in your browser. No license server.

Run locally

# any static server works; nothing to build
python -m http.server 8753
# open http://localhost:8753

Development

npm test          # engine unit tests (pure, no browser)
npm run test:dom  # DOM integration test via jsdom (free view, Pro unlock, persistence)
npm run test:all
  • js/engine.js — the analysis engine. Pure, zero dependencies, runs in browser and Node.
  • js/license.js — offline Pro key verification (Web Crypto).
  • js/app.js — UI glue.
  • tools/issue_license.cjs — seller-side key issuer (node tools/issue_license.cjs buyer@email.com).
  • sample-search-terms.csv — a realistic demo export. The in-app "Load sample data" button uses an embedded copy so it works offline.

License

MIT for the code. The waste-detection thresholds are deliberately conservative so the reclaimable figure is one you can defend to a client.

About

Find wasted Google/Microsoft Ads spend from a search terms CSV, entirely client-side. No OAuth, nothing uploaded.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors