Cost of Marketing
The Market Did $2M That Year. We Still Killed the TV Campaign.
We expanded into the Detroit market and put broadcast TV behind it — $20,000 a month. That year, the market did roughly $2 million in revenue. By the logic most contractors run on, TV was the engine: we launched a market, we ran TV, the market produced. Campaign vindicated.
Six months in, we killed the TV anyway. Because the $2 million belonged to the market — and almost none of it belonged to the TV.
per month, broadcast TV, Detroit expansion
the whole market’s revenue that year — every channel combined
TV’s cost of marketing against the revenue it actually produced
The TV cost more than the jobs it produced were worth. The market’s success was hiding it.
The attribution trap
In a new market, every channel takes credit for the market. The TV vendor points at the revenue. The sales team feels the brand lift. And the owner sees one number — $2 million — sitting next to one visible campaign, and connects them. That connection is the most expensive sentence in contractor marketing: “the market’s doing $2M, so the TV must be working.”
Source tracking told a different story. When every job was traced to the channel that actually produced it, TV’s attributed revenue came in under its own spend. At $20K a month, the channel’s cost of marketing ran past 100% — it consumed more than every dollar it generated, before a crew was paid or a square of material was ordered. The other channels were carrying the market. The TV was riding along, invoicing us for the view. The market held that $2 million two years running. The TV was there for six months of one of them.
Run the math yourself: a campaign that had actually generated $2M on $120K of spend would be a 6% cost of marketing — the best channel we’d ever run. Nobody kills that. We killed this one because market revenue is not channel revenue, and only one of them belongs in the denominator.
The market’s revenue is everyone’s alibi. Attribution is the witness that breaks it.
This is not an anti-TV story
Here’s the part that gets lost when this story is told badly: we are not a company that learned TV doesn’t work. In our home market, TV has run for years as a deliberate brand line — above our target band, re-justified annually against the lift it gives every other channel, and watched with the same bands you’re reading right now. Same channel, same company, completely different math. A built brand in a market where you’re already known compounds what TV does. A cold launch in a metro where nobody knows your name pays full price for every impression and converts a fraction of them.
The kill line isn’t drawn per channel. It’s drawn per channel, per market. The same $20K that fails in Detroit can justify itself in Toledo — and the only way to know which one you’re funding is to run the ratio in both places instead of letting the winner’s reputation cover for the loser.
Why six months and not eighteen
Everything in the building argues against killing a campaign in a market that’s producing. The sales team likes the brand air cover. The vendor has a story about momentum. And you’ve already spent six figures, which makes every month a referendum on whether the first six were a mistake.
The only thing that beats sunk-cost gravity is a rule that existed before the spend did. Ours is simple: we target a cost of marketing between 10–15% of revenue, we investigate any channel over 25%, and we cut anything over 50% — no matter how busy it keeps the phones. The Detroit TV test wasn’t killed by a judgment call. It was killed by a line we’d drawn before we ever signed the contract. A judgment call would have given it another year, because the market kept handing it an alibi.
The COM% Kill Bands
Target band
Flag — investigate this month
Kill — no exceptions
What the money did instead
The budget didn’t disappear — it migrated. Around the same stretch, we pulled a national lead aggregator back to roughly half its volume while our Google-attributed organic leads grew 2.4× — a jump that was partly COVID tailwind and partly an attribution correction, which is exactly why we report it with the asterisk attached. Rented attention out, owned demand in. Paid channels hold a flat cost forever because every lead is re-bought at market price; owned channels cost the same whether they produce ten calls or a hundred, so their cost per job falls every month they compound. The kill line isn’t just defense. It’s how budget finds its way to the side of the ledger that compounds.
The takeaway for your budget
If your channels share one revenue number, every one of them is innocent. Trace each job to its source, give every channel its own ratio in every market it runs, and you’ll find out which of your campaigns is the Detroit TV test — most contractors have one, and it’s usually the one with the best alibi. The full framework is here: COM%: the number that governs a contractor marketing budget.
Busy is not a number. The market is not a channel. Run the ratio.
Don’t Know Your COM%? Fix That First.
The free audit calculates it company-wide and by channel — and shows you which of your campaigns has been living on the market’s alibi.