// growth
Media Buying That Proves the Spend Caused the Growth
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.
The clearest public demonstration is eBay’s, reported by Blake, Nosko and Tadelis in Econometrica in 2015. eBay stopped buying its brand keywords on Yahoo and MSN and kept buying them on Google as a control. Almost all of the lost clicks, 99.5% of them, arrived through natural search instead. A second experiment switched non-brand search ads off in about 30% of US markets, matched against control markets. Returns there were a fraction of what the conventional estimates claimed. That finding is about eBay, not about you. The method is the part that transfers.
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 that approach as geo experiments in 2011, and Meta later open-sourced it as GeoLift. 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. Nor does one selling into a single country. Waiting longer does not create it. 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. Consent-mode modelling and post-ATT signal loss make this matter more. The less the platform observes, the more it relies on what you explicitly tell it.
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
- 01
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.
- 02
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.
- 03
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.
- 04
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.
- 05
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 field experiments published in Econometrica in 2015 found no measurable short-term value in branded paid search. On non-brand search, the usual regression methods put the return above 1,400%. The experiment measured it at minus 63%.
- 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. The usual way it gets met is by pointing the budget at people who were already going to buy. You pay for demand you had anyway, and the report files it as acquisition.
- 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.