The problem

By Ivo Kostadinov · Founder, SaveMyBudget

· 5 min read

Why we opened the toolkit: a note from the founder

I started SaveMyBudget because I kept seeing the same thing in client accounts: a share of paid clicks that didn't behave like people, and no records good enough to do anything about it. Google filters a lot of that traffic and credits what it catches. Some gets billed anyway, and the form Google provides for reporting it sits mostly unused — not because advertisers don't care, but because they have nothing to put in it.

Today we've published the part of SaveMyBudget that fixes that as open source. It's called the SaveMyBudget Toolkit. Here's why.

Click fraud is a wider problem than us

Invalid clicks are not a niche concern. Every advertiser on every platform pays for some traffic that no person generated: bots, scrapers, competitors, click farms, accidental taps. Estimates vary by industry and campaign type, and the honest answer for any single account is 'we don't know until we measure it'. What's constant is that the cost lands on the advertiser, and the tools to measure it have mostly been closed, priced for enterprises, or both.

That isn't something one vendor solves behind closed doors. If more advertisers keep proper records of what happens after a click, more well-founded requests get made, and the whole ecosystem gets a little cleaner. That's good for us, good for Google, and good for anyone with an ad budget.

We want advertisers to be better prepared

The hard part of an invalid-click claim isn't the form. It's having the evidence: timestamps, addresses, click IDs, and what the visitor actually did on the page. That has to be collected in advance — you can't reconstruct it later. Most advertisers find this out the first time they try to file.

The toolkit puts that collection in your hands. A small tag on your site, a collector you run yourself, ten detection rules with their thresholds written down, and a builder for the package Google's form asks for. No connection to your Google Ads account, no third party in the loop. You keep the records; you file; Google decides.

Even if you never file a claim, you'll know what your traffic looks like — and you'll be ready if you need to.

Transparency is how trust works here

We ask customers to put a script on their site and to let us act on their behalf with Google. That's a lot of trust to ask for. The tag we ship is small, has no dependencies, never reads page content or form fields, and in the toolkit build never contacts us at all. Those are claims anyone can now verify by reading the source, and I'd rather earn trust that way than by asking for it.

The same goes for detection. How a click ends up flagged shouldn't be a black box. The ten rules in the toolkit are documented one by one — what they look for, the default threshold, and the false positives we know about. If you disagree with a default, you can see exactly what you're disagreeing with.

An invitation to contribute

This is the part I'm most looking forward to. The repository is open to issues and pull requests. Agencies that see patterns we don't, developers who want to add a log format or a platform guide, self-hosters who find the rough edges — all of that makes the toolkit better for everyone who uses it. Changes to rule defaults go through a discussion first, because a threshold is a product decision that affects real claims, and I'll be in every one of those discussions.

If you're a freelancer or agency managing Google Ads for clients, this is also a way to bring evidence-based claims to accounts that would never buy a service. Run it for them, or show them how.

What stays with the service

The hosted version of SaveMyBudget installs and monitors the tag for you, connects to Google Ads for campaign and cost data, runs more rules with thresholds calibrated across accounts, and prepares and files the claims. It's no-win-no-fee: when Google confirms a credit, we keep 25%. If Google confirms nothing, there's no charge. The toolkit and the service share the same lineage; the tuning, the cross-account signals and the filing stay with the service, and that's the honest line between free and paid.

The toolkit is at github.com/10xlabsio/savemybudget-toolkit, and there's an overview at savemybudget.io/open-source. If you run it, tell me what you find — good or bad. That's the point.

— Ivo Kostadinov, founder, SaveMyBudget

Protect your ad budget. Start tracking clicks on your site and let us prepare the claims for Google to review.

Protect my ad budget

No win, no fee · No card to start · Setup in about a minute