growth

Media Buying That Proves the Spend Caused the Growth

Updated

You find out what your ad spend is causing by withholding some of it and measuring what changes. That is the method, deliberately and on a schedule, and everything else on this page sits downstream of it. This service covers paid distribution: the channels, the accounts, the creative, the budget, and the measurement that decides all four. It is judged on incremental cost per acquisition, not on the conversions a platform claims credit for.

What it does not cover is organic acquisition, and that work is not filed in one place. Crawl, index and on-site content are technical SEO, over in the search and AI visibility hub. The two channels that reach engineers where they already are, GitHub marketing and developer marketing, sit in this growth hub alongside this page. The landing page and the funnel behind the click are conversion rate optimization. All of those are linked at the top of this page.

If you want a deck that reports a strong return every quarter, that is easy to buy. Ours will sometimes report that the spend did nothing, because sometimes the spend did nothing.

What incrementality actually means

A conversion in an ad platform’s dashboard is a conversion that platform assigned to itself. Some of those people were going to buy regardless. Incrementality is the size of that gap, and it is not visible from inside the account, because the account has no counterfactual. There is no record of what those same people would have done with the ads switched off.

Steven Tadelis described the eBay experiments in a 2014 Berkeley report. Turning paid search off did not produce the sales loss that attribution alone suggested. That finding concerns eBay. It is a reason to test incrementality, not a forecast for your campaigns.

How we prove it: geo holdouts

A geo holdout splits your addressable markets into a test group and a control group, matched on their pre-period conversion behaviour. Spend is then withheld from the control for a fixed window. The counterfactual is built from the control regions’ own history. Google published a geo-experiment method in 2011. GeoLift is a separate open source research tool from Meta for geographic lift analysis. The details we agree with you before any budget moves:

  • Which regions are held out, chosen for how well they track the test group, not for being the ones you mind losing least.
  • The test window, set from your sales cycle. A test shorter than the time between a first click and a closed deal measures the wrong thing.
  • The minimum detectable effect, calculated up front. If your conversion volume cannot detect an effect smaller than the one you are hoping for, the test cannot answer your question. We say so before it runs.

We also use the platforms’ own lift tools. A lift study run by the company selling the impressions is a claim to verify, and never the verdict.

When a geo holdout will not work

A geo holdout needs several comparable regions and enough conversions inside each of them to tell a real effect from ordinary week-to-week variance. An account closing a handful of enterprise deals a quarter does not have that. A single country can contain usable test regions. We check regional volume and comparability before choosing the design. In those cases we run staggered on-and-off tests over time windows, with the hypothesis written down first. Or we accept the number is directional, and label it that way in the readout. What we do not do is run an underpowered test and present the result with a straight face. A number with no power behind it is worse than an admitted unknown, because people act on it.

The signal you optimise against decides what you buy

Every modern campaign is a bidding algorithm pointed at whatever event you feed it. Point it at raw form fills and it will find you the cheapest people willing to fill in a form. That is a real and expensive failure mode in B2B, where a significant share of those leads can never buy. We send conversions server-side from your CRM, weighted by qualification stage and value, so the optimiser is competing for pipeline instead of for contact records. This is the half of paid media management that is invisible from a dashboard and decides everything downstream of it. We document what each conversion event means and which collection is allowed under the agreed consent setup.

What happens when a test comes back flat

We cut the budget. Then we look at whether the channel failed or the offer did, because those have different fixes. Budget moves to the surviving channels until their incremental CAC reaches the ceiling set by your payback period. A result has a shelf life. Saturation moves, competitors enter, creative fatigues. So we re-test on a cadence, and a win from two quarters ago is not evidence about this one.

Standing refusals

Last-click return on ad spend never headlines a report we write. Brand-term campaigns do not get sold to you as growth when what they harvest is demand you already had. Audience data from a vendor who will not say where it came from does not go into your accounts at all.

What those refusals protect is the only thing you are really buying here: a number you can act on. A channel we have no way to measure is one we decline. We do not run it with the measurement left implied. In a quarter where the tests did not support more budget, the recommendation is not more budget. That is the entire reason we put you through the tests.

What you get

  • A channel plan that names the channels we will not run for you, and the reason each one is off the list
  • Campaign build and daily paid media management inside your own ad accounts, on your billing, with your team holding admin
  • A geo holdout design agreed before any budget moves: the held-out regions, the test window, and the smallest effect the test can actually detect
  • An incrementality readout per test with the lift estimate, its confidence interval, and the budget decision it triggers
  • Server-side conversion tracking joined to your CRM, so the auction optimises against qualified pipeline and not form fills
  • A weekly pacing report that separates what we changed from what the auction did on its own
  • A creative testing log with every variant, its hypothesis, and whether the hypothesis survived

How it runs

  1. Find out what paid is worth today

    We reconstruct the current baseline per channel and per region before touching a budget. Lift is a difference against a baseline, so an engagement that skips this step can never produce a number that means anything later.

  2. Fix the signal before spending against it

    The auction learns from whatever conversion you send it. If that is a newsletter signup, it will buy you newsletter signups at scale. We wire revenue-weighted, server-side events to the CRM first, because bad signal spends budget faster than bad targeting.

  3. Buy in the smallest market that can answer the question

    New channels start in a contained geography with a defined kill condition. A channel that fails should cost a test budget and two weeks, not a quarter and a headcount plan.

  4. Run the holdout

    Matched regions are held out of the campaign for the full test window, and the counterfactual is built from their own pre-period behaviour. This is the only step that distinguishes what the spend caused from what would have happened regardless.

  5. Scale what survived, and re-test on a schedule

    Lift decays as a channel saturates and as competitors enter, so a result is dated. We re-run the test at intervals, because by then the previous answer has expired. It was never a permanent property of the channel.

Questions we get asked

A holdout could show your own work is worthless. Why would you offer that?
Because losing a channel costs us less than losing the account. The decision rule that makes that credible is written down before the test runs. A flat result means we recommend cutting that budget, including when it is budget we are managing. Fixing the rule in advance is what stops it becoming a judgement call made after we can already see which way the answer points. Billing you for spend that changes nothing works right up to the quarter somebody measures it, and then it stops working permanently.
Does this mean switching ads off in some of our markets?
Yes, for the length of the test. We pick the regions for how well they track the rest of your markets. Being cheap to lose is not a reason to pick one. That is the cost of the answer. If a region is strategically untouchable, we exclude it from the design and say so in the readout. The alternative is testing somewhere convenient and generalising from it.
Our dashboard reports a strong ROAS. Why do you not trust it?
Because the platform reporting the number is also the party selling the inventory. It counts conversions it assigned to itself, including people who would have bought anyway. The eBay experiments discussed below show why attributed conversions and incremental sales can differ. We test that question on your business.
How much budget does a valid test need?
It depends on your conversion volume and the size of the effect you need to detect, not on a flat threshold. We calculate the minimum detectable effect before we propose a test. If your volume cannot support one we say so, and do not present noise as a result.
Can you guarantee a cost per acquisition?
No. We agree a ceiling from your own unit economics and payback period, and we stop buying above it. A guaranteed CAC is a promise about an auction neither of us controls. We check whether reported conversions include demand that would have arrived without the ad. Attribution alone does not establish incremental sales.
Who owns the accounts, the creative and the data?
You do. We work inside your ad accounts on your billing, and your team keeps admin access throughout. The campaign structure, creative, tracking and test history stay with you if the engagement ends. We do not run client spend through an agency account, because that turns your own performance history into a hostage.
How are you paid, and does it depend on how much we spend?
Not on how much you spend. An agency paid a percentage of the budget it recommends has a standing reason to recommend a bigger budget. No amount of method cancels that out. So the fee is a fixed amount against a defined scope, agreed before the work starts. Moving money between channels, or out of a channel a test just killed, does not change what we invoice. Get the fee basis into the contract before you sign it, with us or with whoever else is bidding for the account.

Further reading

Start a conversation

Let's scope the work.

Book a strategy call