Calculate the ROI of your SEO and AI visibility program
SEO ROI comes down to a short chain of arithmetic on numbers you already own: your baseline sessions, your conversion rate, the value of a conversion, and your gross margin. This page documents that chain completely - the exact formula, where each input comes from, a worked example, and the failure modes that make most SEO forecasts fiction.
The model is six spreadsheet rows. Copy it below, replace every placeholder with your own figures, and the ROI is yours to audit. What you get back is not a “your ROI is 340%!” reveal that hides the assumptions - it is a transparent calculation you can stand behind in a finance review.
After you run the numbers, the natural next question is: is your site currently set up to earn those citations and rankings at all? The free AI visibility scan checks your domain against the signals AI answer engines use to decide what to cite - in seconds, no signup required.
The formula, step by step
incremental sessions = baseline monthly sessions x expected lift
incremental conversions = incremental sessions x conversion rate
incremental revenue = incremental conversions x value per conversion
incremental profit = incremental revenue x gross margin
ROI = (incremental profit - cost) / cost
payback months = cost / monthly incremental profit
Every line is either a measurement or arithmetic on measurements, with exactly one exception: expected lift. That is the assumption the whole forecast hangs on, which is why it must be entered as a range - a low, base, and high case - written down, and dated. A forecast whose lift assumption cannot be found six months later is not a forecast; it is a sales deck.
Two structural notes. First, the model runs on profit, not revenue: skipping the gross margin line overstates every case, especially in ecommerce. Second, cost means fully loaded cost - tooling, content production, engineering time, and agency fees, not just the software line item.
Where every input comes from
| Input | Source | Nature |
|---|---|---|
| Baseline monthly sessions | Your analytics, organic segment | Measured |
| Expected lift range | Your judgment, informed by gap analysis | Assumption, stated as a range |
| Conversion rate | Your analytics, organic segment | Measured |
| Value per conversion | Your CRM or order data | Measured |
| Gross margin | Your finance team | Measured |
| Fully loaded cost | The actual budget | Measured |
The rule: no imported benchmarks. A conversion rate borrowed from someone’s industry aggregate reflects other companies’ traffic mix, pricing, and funnels - not yours. If you lack a measured rate because the site or segment is new, widen the range until it honestly reflects your uncertainty, and say so in reporting. A wide honest interval is a better decision input than a narrow borrowed one.
Sizing the lift assumption itself is the job of the companion organic traffic calculator, which builds the sessions estimate bottom-up from impressions and click-through rather than asking you to guess a percentage.
A worked example
All inputs below are illustrative placeholders to show the mechanics. Replace every one with your own figures.
Suppose a B2B site measures 20,000 organic sessions per month and is evaluating a six-month content and technical program costing $30,000 total. The team’s base-case lift assumption is 15% by month six, conservative case 5%, upside 30%. Measured organic conversion rate to qualified lead is 2%, the sales team closes 20% of qualified leads, and contract value is $5,000 with 80% gross margin.
Base case: 20,000 x 15% = 3,000 incremental sessions x 2% = 60 leads x 20% = 12 deals x $5,000 x 80% = $48,000 incremental profit per month at full ramp.
Conservative case at 5%: $16,000 per month. Against a $30,000 cost, even the conservative case pays back within two months of reaching full ramp - so this investment survives its worst written-down scenario. That is the actual test.
Notice what did the work: not optimism, but the fact that every rate after the lift assumption was measured. When the same arithmetic produces a positive return only in the upside case, the honest conclusion is “this is a bet on the lift assumption” - and it should be funded, or not, as exactly that.
The AI visibility adjustment
AI answers break the neat sessions-to-revenue chain in one specific way: a buyer can be influenced by an answer that names your brand, then arrive later as direct traffic, branded search, or a conversation with sales - a click that is never attributed to the AI surface. The click-attributed model above therefore understates the value of answer-layer visibility, and no honest calculator can fix that with a made-up multiplier.
What works instead is separating measured from assumed. Keep click-attributed ROI as your defensible floor. Alongside it, track the leading indicators that answer-layer work actually moves: citation rate and Share of Model on the prompts tied to revenue topics, per engine, over time, via AI citation tracking.
This is also the loop AEO Goal automates as an agent: it finds the visibility gap, ships a concrete fix, and re-checks the indicator on the next run, across up to nine AI answer engines: ChatGPT, Claude, Gemini, Perplexity, Google AI Overviews, Microsoft Copilot, Grok, Meta AI, and DeepSeek. When those indicators rise and branded demand rises with them, you have a documented correlation you can present openly - a stronger position in any budget review than an invented attribution coefficient.
Sensitivity: which input moves the answer most
Before trusting any scenario, change each input by the same relative amount and watch the output. In the chain above, ROI is linear in every factor, so a 20% error in conversion rate distorts the result exactly as much as a 20% error in lift. The practical difference is that conversion rate, value, and margin are measured, so their error bars are small - while lift is a judgment. That concentration is healthy: the forecast argument is really an argument about one number, and the review discussion can focus there instead of relitigating arithmetic.
The discipline that follows: fund what survives the conservative case, treat base as the plan, and never present upside as the forecast. Then re-measure against the same baseline every cycle; a forecast that is never reconciled with actuals is marketing.
Common mistakes
A single point estimate. One number with no range communicates false certainty and cannot be stress-tested. Three scenarios, or it is not a forecast.
Borrowed benchmark rates. The most frequent corruption of this model, and the easiest to avoid since your analytics already has the real number.
Revenue instead of profit. Skipping margin flatters every case and gets found out by finance, at the cost of the whole model’s credibility.
Static baselines. If organic traffic is already trending up or down, lift must be measured against the projected trend, not last month’s snapshot, or you attribute momentum to the initiative.
Forecast without reconciliation. The model’s second job is being re-run with actuals. Teams that skip this ship the same optimistic lift assumption every year because nothing ever falsified it.
Claiming 100% attribution. SEO shares credit with brand, product, and sales motion. State the attribution assumption and let reviewers adjust it.
How AEO Goal closes the loop
The ROI model’s weakest link is the re-check: did the work actually move the numbers? AEO Goal closes that loop automatically. AI citation tracking measures whether your pages are being cited by up to nine AI answer engines before and after every content or technical fix. AI visibility tracking shows whether your share of model on revenue-relevant prompts is trending up or down. When you can show that citation rate on your three highest-intent prompts rose after the content investment, the ROI conversation shifts from “trust the model” to “here is what changed.”
Run a free AI visibility scan to establish your baseline before you build the model, so the starting point is a fact, not an estimate.