Use case · Ad waste

Stop paying for clicks to pages nobody can buy from.

Google Ads read next to each client's store. When a product sells out, a page breaks or a search term never converts, the campaign gets paused, the budget trimmed, the negative keyword added — per client, on policy, with the change on record.

Already have an account? Set this up on a client store →

Shopify WooCommerce Shopware
Bluefin Co · ran on autopilot
Pause campaign “Brand · Running Shoes”
Ad Waste via Google Ads · 1m ago
Context

All 3 products in this ad group are out of stock in Shopify since 06:10. €84 spent on 212 clicks to sold-out pages this morning.

Executed actiongoogle ads
pause_campaign
customer_id493-218-0071
campaign_id1829304411
reasonall SKUs sold out
Done · in the ledger, approved by policy
The problem, times every client

Every client's account leaks the same way, overnight.

The ads account and the store don't talk to each other. The leak starts the moment stock or a page changes, and stops when someone across the agency happens to look — usually after the morning spend is gone.

01

Sold out, still advertised

A bestseller sells out at midnight. The campaign keeps buying clicks to a page with a greyed-out button until someone opens that client's account.

02

Broken page, full budget

A product 404s or loses its content after a catalogue change. The campaign pointing at it burns its budget on bounces, and the bounce rate is the only clue.

03

Junk search terms, paid for

Broad-match keywords pull in searches that never convert. Across a dozen accounts nobody reads every search-terms report every week — so the junk stays paid.

The policy · when · where · then

One rule per client account. It runs while you sleep.

Each client's Google Ads account is paired with their store. The deterministic part — product sold out, campaign still enabled — pauses directly. Budget trims and negative keywords go through the Ad Waste agent, which asks unless you've allowed autopilot for that client.

  • Scoped to one client — a Bluefin rule never pauses anything in Northwind's account.
  • Direct step for the deterministic part: stock hits zero, the campaign pointing at it pauses.
  • Agent step for the rest: trim the budget on an ad group that isn't converting, add negatives from the search-terms report — ask me, or autopilot per client.
  • Scheduled checks too: spend against conversions weekly, so the next leak is flagged before it drains the month.
Ad waste — Bluefin Co
Bluefin Co · Shopify · fired 318 times
Agent
When Inventory level updatedandWhereinventory_quantity <= 0andWhereproduct.status = activeandWherecampaign.status = ENABLEDThenPause campaigns targeting the productThenAd Waste reviews budgets & search termsautopilot
How it runs

Event → policy → agent → ledger.

Event

The store wakes it

An inventory or product update fires the store's webhook. No waiting for a report — the policy for that client runs within minutes of the stockout.

Policy

Deterministic first

Conditions are checked against the product and the campaigns targeting its URL. Fixed actions run straight away: pause the campaign or ad group pointing at a dead page.

Agent

The rest, with your sign-off

The Ad Waste agent reads campaign performance, search terms and keyword performance next to the store's sales, then proposes the exact change — a daily budget, a list of negatives — and waits unless autopilot is on for that client.

Ledger

Every change on record

Which campaign, which client, how much it was spending, who approved the pause. When stock returns, the un-pause shows up in the same inbox. The month's changes export per client.

Typed store actions

Typed Google Ads actions — not a bot with account access.

You approve “pause campaign 1829304411 — all SKUs sold out”, never “let the AI manage the account”. Reads are free. Every spend-affecting write asks by default; autopilot is a per-client choice.

  • toolPause a campaign or ad group sending clicks to a dead page
  • toolRaise or lower a campaign's daily budget
  • toolAdd negative keywords from the search-terms report
  • toolPause or re-bid individual keywords
  • toolRead campaign, keyword & search-term performance next to store sales
  • toolNotify Slack or the client when a campaign is paused

Put every client's ad account on policy.

Connect the store and its Google Ads account, attach the ad-waste policy, approve the first pause. Free for one store; agency plans from the second.

Free for one store · 14-day trial on paid plans · no card · bring your own AI key