0:00
/

SMYS 10 | The Expensive Campaign Is the One You Never Ran

Why the price of a test, not the price of a click, is the constraint Riley Timmins rebuilt his stack around

Hi, it's Rick Koleta. Welcome to GTM Vault, a breakdown of how high-growth companies design, test, and scale revenue architecture. Read inside OpenAI, Anthropic, Meta, and Google, and by 27,000+ operators across 150+ countries building GTM systems that compound.


Brought to you by Primer

Primer fixes the match rate that locks B2B teams out of the cheap channels.

LinkedIn CPMs keep climbing and every B2B team is bidding for the same shrinking pool of attention on the same two channels. Meta, YouTube and display cost a fraction, and most B2B teams cannot use them, because a standard contact list matches at single-digit rates and the audience that comes back is too small to learn from. Primer is built on the match rate. It turns your ICP, target accounts and net-new prospects into audiences matching at 45 to 85 percent across every major ad platform, and its 50 million person suppression list stops Meta and Google serving the people who will never buy. On Primer’s own site, Rippling says they would not have raised a $145M Series B without it.

GTM Vault readers: an extended 45 day trial and 15 percent off with the code GTMVAULT15.

Find your next efficient channel → sayprimer.com


Every growth team keeps a list it never writes down. The campaigns that were obviously right and never got built. The regulation your ICP is about to get hit by. Each one died the moment someone priced it and the number came back at ten thousand dollars and a month of calendar for a test nobody could promise would pay.

That price is what moved. Not the cost of a click. The cost of finding out.

In episode 10 of Show Me Your Stack, Riley Timmins, Growth Marketing Lead at Kintsugi, screen-shares what a growth function looks like once that number collapses. He takes a campaign from a standing start, a California use tax law landing on January 1, 2027, through brief, account list, angle, creative, launch and attribution in one sitting, with no engineer in the path. Ads are his biggest line item at roughly half the marketing budget, so this is the main motion.

The stack is Claude Code, Claude Design, a custom ad manager he built himself, Graft for the warehouse, HubSpot, Meta and Google Ads, and a knowledge base built from every sales call. The tool list is not the story. The build order is, along with the two things he refused to automate.

Listen on YouTube // Apple Podcasts // Spotify

Share

The full episode is on YouTube. Subscribe to the channel for the clips and cuts that never make the write-up.


The Gate: Nothing Gets Built Until the Campaign Survives Five Questions

The campaign starts as a brief, and the brief exists for the agents, not for the team. Goal, audience and channels, set before anything runs. A vague brief does not produce a vague campaign. It produces nine assets that each solved a slightly different problem.

The angle does not come from a whiteboard. Every sales call Kintsugi runs feeds an internal knowledge base, and the campaign queries it by topic. What comes back is quotes. One prospect told them every AI token they buy is effectively a software purchase now, and because AI spend is usage based, the tax moves with it. No brainstorm produces that. A buyer said it to a rep.

Then comes the part most teams skip. Before a single asset gets made, an agent runs the campaign against a five-question gate, and one of those questions carries a pipeline number rather than an opinion: two hundred thousand dollars of closed-lost traced to this reason in the previous month.

Figure 1. The five question gate a campaign passes before any asset is built.
Figure 1. A campaign dies cheapest before anyone has built an asset for it.

The Ad Manager: Ninety Percent of the Clicks Were the Same Every Time

The creative step is three images per ad, judged on whether the concept lands on v1 rather than whether it is finished, and he throws out the one he cannot follow himself on the grounds that his ICP will not either.

The custom software took about a week, and not a full week, since he was doing the job at the same time. The observation that started it is the kind most people have and discard: launching one ad in Meta takes at least five minutes, and ninety percent of the fields are identical every time. Only the copy, the headline, the landing page and the ad name vary, so he built an interface that asks for those four, keeps the rest, and routes an ad to Claude Design in one click when a concept needs a single change. A saved edit writes to the warehouse where the ads live, not into the tool, so the ad manager is a surface over the warehouse rather than the system of record.

The Pause Engine: You Have to Kill Ads as Fast as You Launch Them

Volume is what the build was for. The cadence moved from a new set of image ads every two to three weeks to one or two every day, which creates a problem nobody plans for, because you then have to pause at the same rate. So he built a pause engine that nominates the top three ads to kill each day, and its stated job is not saving money first. It is making room for the new ads.

Figure 2. The price of finding out falling by an order of magnitude.
Figure 2. When the price of finding out falls by an order of magnitude, the planning unit stops being the campaign and becomes the test.

The Attribution Layer: The Channel Your Dashboard Credits Is Often the Wrong One

Measurement runs on three things. UTMs for the direct path. Incremental lift read one to three months after launch, worth another twenty to thirty percent he says. And an agent, rather than a form, answering how people found them.

It reads every first sales call, finds the moment the prospect says how they found Kintsugi, and proposes the correction in HubSpot for a one-click approval. The example he pulls up is the argument for the whole build. The record says paid search. The call says the buyer asked Claude what to use for sales tax on Shopify, got told to search for a Nexus calculator rather than a brand, and landed on Kintsugi's own calculator through an ad. Paid search captured the click. AI search created the demand.

Where This Goes Next: Video Is the Piece That Does Not Work Yet

Riley is explicit about the part that does not work. Video creative still goes to human editors, because the AI output is not good enough to ship, and he names that limit rather than claiming the whole function is automated. Image is where this stack earns its keep, and video is the next thing it has to survive.

His stated rule for what comes next is to disrupt himself before another tool or another person does it for him, and to prove incremental results before expanding. That is also the warning he gives anyone copying this. Do not start with the automated launcher. Prove you can generate ads that convert, then build the thing that launches a lot of them.

The Pattern

AI did not make this team's ads cheaper. It made their wrong answers cheap, and a wrong answer you can afford is a test. The gate that kills campaigns before spend, the pause engine that clears space for the next batch, the reference libraries of good and bad ads: none of it exists to produce more ads. It exists to raise the number of things the team can be wrong about per month.

What it changes is the build order, and his is the opposite of the obvious one. Do not automate the launch first. Prove you can generate ads that convert, because launching ads that do not work faster is a faster way to spend the budget.

And do not automate what you cannot do yourself. An agent asked to do work you have never done returns the generic version, and you could have hired a cheap generic marketer for that. Asked what the growth marketer who cannot build in three years is, his answer is that they are no longer a growth marketer.

  1. Put the gate in front of the creative, not after it. Five checks decide whether a campaign gets built, one of them carrying a pipeline number rather than an opinion. It is the cheapest step in the system and the only one that can stop the spend.

  2. Count the clicks that never change. Launching one Meta ad takes five minutes and ninety percent of the fields are identical every time, so the four that vary are the interface worth building. Build the pause engine at the same time as the launcher.

  3. Audit attribution against the call, not the dashboard. An agent reads every first call and proposes the CRM correction for approval. Paid search was taking credit for demand an answer engine created.

(0:00) The Campaigns That Get Priced and Then Quietly Killed
(1:23) The Brief, and Giving Each Agent One Job
(2:36) Querying Every Sales Call for the Angle
(4:11) The Worth-It Gate That Runs Before Any Asset Is Made
(6:01) The Ad Manager He Built in a Week
(8:48) The Ten Thousand Dollar Idea That Used to Get Killed
(12:51) The Attribution Agent That Reads Every First Call
(14:56) The Pause Engine, and Why Pausing Is the Constraint
(19:54) What a Two Person Team Should Copy First
(23:35) Ten Eighty Ten, and Not Automating What You Cannot Do Yourself


Follow Rick on LinkedIn - https://www.linkedin.com/in/rickkoleta/

Follow Riley on LinkedIn - https://www.linkedin.com/in/riley-timmins-4a264b96/

Try Kintsugi - https://trykintsugi.com/

GTM Vault on LinkedIn - https://www.linkedin.com/company/gtmvault

SMYS 9 | The First Thing a Signal Agent Does Is Throw Signal Away

SMYS 8 | The Browser Is the Interface Everyone Abandoned

SMYS 7 | Your Reps Should Never Meet Your Agents

If this was useful, hit like and restack.

This newsletter was written and edited by Rick Koleta.

Show Me Your Stack is a GTM Vault series. Each episode features one operator walking through the system behind their outbound, their prioritization, or their pipeline motion. No slides. Just the stack.

Discussion about this video

User's avatar

Ready for more?