[ SEO ROI ]

Prove SEO ROI with attribution that survives scrutiny

SEO budgets get questioned because SEO claims are easy to question. "Traffic is up and we did a lot of work" is a correlation, and everyone in the room knows it. The fix is not a prettier dashboard — it's attribution.

01 · Why SEO ROI claims collapse

The work and the results live in different systems

The work happens in tickets, briefs and pull requests. The results show up in Search Console, weeks later, tangled with seasonality, algorithm updates and everything else that shipped in between. Nothing connects the two — so the ROI narrative gets built by hand, after the fact, by the person with the most incentive to round up.

That's why the same three objections appear in every budget review: how do you know it was your work (and not the market), which part of the work (so we can do more of it), and what would have happened anyway. A correlation answers none of them.

02 · The method

Changepoint → attributed changes → counterfactual

  • Detect the shift, statistically

    Changepoint detection over Search Console data finds the moments the trajectory actually changed — the movements worth claiming, separated from noise.

  • Attribute it to shipped work

    Each changepoint is matched against the pull requests that shipped in the window Google would have picked them up, and scored — attribution with a confidence number.

  • Measure against the counterfactual

    The value of the work is the gap between what happened and the forecast of what would have happened without it. That's the number that answers "what would have happened anyway."

03 · What the ROI story looks like

A sentence, not a slide of caveats

Changepoint detected June 12 · average position 19.4 → 11.1 · attributed to 3 PRs · confidence 91%

From there, ROI is arithmetic: the click growth above the counterfactual, valued at your cost-per-click or revenue-per-visit, against what the attributed work cost to ship. Specific work, specific movement, specific value — each step inspectable when someone pushes back.

We've published what this looks like on a real property — the ganttchart.ai case study, where the system pointed at one PR out of twelve candidates before anyone thought to look at it.

04 · Where this fits

The evidence layer under your reporting

Attribution is the load-bearing part of the ROI case, but it's the same machinery that fills your monthly report's "why" column and names the deploy when something breaks. One connection to GitHub and Search Console feeds all three.

[ Build the case ]

Walk into the next budget review with attribution.

Connect GitHub and Search Console, and Code Results turns your search wins into attributed, confidence-scored evidence.

Start for free