Wingspan spent $1.67M a year on marketing. That paid for more than ten agencies and a part-time interim Head of Marketing. We now run marketing on $247K. Over the same two quarters our first meetings went from 30 a quarter to 95, and CAC payback fell from 134 months to 41. I cut the agencies one at a time. Before each cut I built the thing that replaced it.
Where the money was going
The biggest line in the budget was labor we did not employ. Eleven agencies and contractors cost $524K a year. That was more than we spent on paid media and events put together. Above them sat a contract interim Head of Marketing at $25K a month, or $300K a year for three days a week.
The second cost never appeared in the budget. No one owned a campaign from message to launch, so the work moved by handoff. A vertical landing page started as a brief to the SEO agency. The copy went to a writer. The graphics went to a designer. The build went to the web agency. The form and follow-up email went to a marketing ops contractor. The ads went to the paid media agency. Six vendors, six queues, six sets of edits to reconcile, and every round of feedback cost another cycle. Decisions that should have taken hours took days.
Each of those relationships existed for the same reason. The old way assumed a person had to do the work by hand. By early 2026 that was no longer true. Our budget had not caught up.
Our GTM lead left in March, and marketing was the largest discretionary line in the company. That was the window.
What I built before I cut anything
Two things earned me the right to propose the cuts.
The first was the vertical pages. We sell into insurance adjusting, telehealth, contact centers, and a dozen other markets, and our marketing site spoke to none of them directly. I wanted a page per vertical, written for the buyer in that market. I asked an agency what it would cost. They quoted $20K. I built 22 pages in three days. Our content agencies were working at a rate our own job description had set at two pieces a month. After those pages shipped, nobody argued about content capacity again.
The second was the website itself. We paid a web agency $5K a month to maintain it in Webflow. Over a weekend I wrote a harness around Claude Code. It screenshots a page on the old site, renders the same route on a new Astro build, compares the two images, patches the code, and goes again. It ran for two days without me. It moved 90% of the site, every CMS collection, and all the metadata.
Turning that prototype into a real website took an engineering project with an owner. We worked through 1,602 discrepancies across 44 pages and cut over at the end of April. The old site cost $60K a year in agency fees and $9.4K in license fees. The new one costs $1,200 a year in headless CMS. I sent the agency its notice after the rebuild worked end to end, six days before we switched.
What came out
I cut twenty-nine line items out of the budget over five months.
The four biggest were the interim leadership contract at $300K, an events agency at $120K, an SEO agency at $108K, and a presentation design agency at $72K. Then came a web agency at $60K, a paid media agency at $48K, campaign asset production at $39.6K, a RevOps contractor at $36K, marketing operations at $36K, two writing contracts at $60K and $30K, and a graphics designer at $30K.
The SEO agency makes the point plainly. We paid them $9K a month for recommendations. Before I cancelled them I ran the same inputs through Claude and compared the two. Claude wrote the better recommendations. The design agency quoted $40K for a design system. A contract developer built it for $2,400 in four weeks.
A second pass took $168K out of software. Most of that was consolidation onto tools we already paid for. One line was Jasper AI, an AI writing subscription. We replaced it with writing skills we wrote ourselves.
We cut another $230K from the event calendar and $143K from the content program, and left paid-media commitments unsigned. Those came out without cancelling anyone.
The decisions that made it work
Ship the replacement, then send the notice
I ran a working substitute myself before every cancellation. Skip that step and you buy an outage instead of a saving. It also ends the argument early, because nobody has to take a promise on faith when the replacement is already running.
Cut the workflow, not the tool category
We cancelled an AI writing tool and replaced it with writing skills we wrote ourselves. A subscription drops into the process you already have, so it adds a line item. Rebuilding the work is what takes one away.
Protect what you can measure
Paid media was the one line I argued to keep. LinkedIn was our only channel with a clean experiment in it: 995 target accounts, 503 in the test, 492 held back, matched on size, industry, engagement, tier, and region. Below $15K a month the channel returns no readable signal. Cutting to the $10K we had budgeted would have saved $60K a year and cost us the answer.
Not every replacement was an agent
Events and paid media both went to one new demand generation hire. Several of the software cuts were plain consolidation. I could have called those AI wins. Then you would have no reason to believe the rest.
Where it landed
Marketing now runs on $247K a year, down from $1.67M. First meetings went from 30 to 60 to 95 over three quarters.
What I would do the same way again
Build the replacement first. The budget conversation is short when people can watch the substitute run.
Go vendor by vendor. Put a name and a date on each one. A line item that says reduce agency spend 30% buys six months of debate and no cancellations.
Hold the budget on any channel with a live experiment in it, even the expensive one. We nearly cut the only measurement we had.