Currently Available: Need a skilled Software Developer for your next project?
Categories
SEO, GEO and AEO

How to Estimate SEO Return Without Inventing Attribution

When you report SEO return, organic-search visits and sales credited to organic search are measurable. The harder question is how much additional business the SEO work caused. Analytics attribution, which assigns credit to marketing touchpoints along a customer’s path, does not answer that question on its own.

Estimate SEO’s added value by comparing results after a specific SEO change with an estimate of what would have happened without that change. Use search data to check visibility. Use analytics to check visits and actions. Use sales or lead records to measure business value. If you lack a credible comparison, report the observed change as an association; the evidence does not prove SEO lift.

Separate attributed value from incremental value

An analytics report can show that a conversion followed an organic-search visit and assign some or all of its credit to that visit. The report’s attribution rules or model determine how it assigns credit. It describes how the system allocated credit among recorded touchpoints; it does not show whether the customer would have converted without the SEO work.

That distinction matters when someone asks whether SEO paid for itself. Organic-attributed revenue is useful for describing how customers arrived. Incremental SEO value estimates the additional business outcome associated with a particular change, compared with what likely would have happened without that change.

Google Analytics describes attribution as assigning credit across touchpoints. Its data-driven model uses a counterfactual approach to distribute credit, but the resulting credit is not an experiment measuring the impact of a specific SEO change. A report that credits organic search does not prove that a page rewrite caused the sale. The same limitation applies to a technical fix or a new link.

Follow the evidence from search to sale

Each data source measures a different part of the customer journey.

Google Search Console, Google’s tool for measuring how a site performs in Google Search, reports impressions and clicks, along with click-through rate. It also reports average position. These metrics help show whether a page gained search exposure or clicks. Average position combines results across queries and result types, so a change can reflect a different mix of them. Use it as context for search performance, not as a direct measure of revenue. Google recommends reading Search Console performance metrics in light of how they are calculated.

Analytics measures activity on the site. For example, its traffic acquisition report can show sessions assigned to Google organic traffic. That classification helps connect visits to on-site actions, but a session labeled organic does not establish that SEO created the visit or the eventual purchase.

A customer relationship management (CRM) or commerce record can connect site activity to qualified leads, closed sales, or completed orders. For ecommerce, use business value after accounting for relevant variable costs. Also account for cancellations, returns, and discounts. For lead generation, follow submissions through qualification and sale when possible. If you assign an expected value to an open lead, base it on observed business results and label it as an estimate.

Search Console and analytics counts will not match exactly because the tools measure different events. Compare their overall trends and investigate large gaps, such as missing tracking or inconsistent settings, rather than expecting identical totals. Google describes how the tools differ in using Search Console and Analytics together.

Estimate the change against a comparison

Start by defining the SEO work you want to evaluate. Record when it went live, which pages it affected, the relevant market and audience, the business outcome you care about, and the costs included. A broad claim about “SEO” is difficult to test when it combines unrelated page updates and technical changes.

Then compare the pages that received the SEO change with similar pages that did not. Choose comparison pages with a similar purpose and search demand. Their performance should also be similar before the work. Check that both groups changed in similar ways before the SEO work began. If the comparison pages received another major change, or their earlier trends were already different, the comparison provides weak evidence.

A difference-in-differences estimate compares how much the treated and comparison groups changed. The formula is:

Estimated lift = (treated group after − treated group before) − (comparison group after − comparison group before)

Apply the same outcome and time windows to both groups. When the groups differ in size, compare a consistent rate or use a sound adjustment for group size. The estimate is more credible when the groups had similar trends before the SEO change and outside events affected both groups in similar ways. It is less reliable when a campaign, promotion, site migration, or other event affects one group differently.

SEO changes can also affect pages you did not edit. For example, a sitewide internal-link change can influence pages you use for comparison. Choose comparison pages that are unlikely to receive the same change, and disclose when these effects make a clean comparison difficult.

If no credible comparison is available, compare results from before and after the SEO work, and describe the difference as an observed change. Check for seasonality and other marketing or site changes, and avoid claiming that the SEO work caused the full difference.

Calculate return from incremental contribution

To estimate financial return on investment (ROI), use contribution profit: the money left after costs that vary with each sale, such as product or service delivery costs. Use this formula:

Estimated SEO ROI = (estimated incremental contribution profit − SEO costs) ÷ SEO costs

Include the costs of the work being evaluated, such as staff time, agency or contractor fees, content production, technical development, tools, and maintenance. Keep the period consistent: compare the value generated over the chosen evaluation window with the SEO costs assigned to that same scope.

For lead generation, use incremental closed business where records allow. If the sales cycle is longer than the reporting window, an expected value based on the business’s own qualification and close rates can help, but it remains a forecast rather than realized revenue. Do not count every form submission as a sale unless your own evidence supports that valuation.

Keep attributed organic revenue as a separate reporting measure if it helps explain customer paths. Do not substitute it for estimated incremental contribution profit in the ROI calculation.

Check the data before trusting the result

Confirm that analytics events record real actions and do not fire more than once for the same action. Check that event definitions and tracking stayed consistent during the comparison period. Google distinguishes Analytics key events from Google Ads conversions, so check which one your report uses.

Google omits some queries from Search Console tables to protect user privacy, and report or export limits also affect which queries appear. The visible query rows may not match total clicks. Use query data to spot patterns in search demand; the rows do not provide a complete count. Google documents these performance-data limits.

Check whether searches for the company’s name changed. A rise can follow advertising, public relations, or existing customer interest, so it does not automatically show that SEO work on non-brand searches created new demand. Also check for changes to pricing, availability, promotions, paid activity, tracking, or the site. These changes can affect results during the same period as the SEO work.

Common ways SEO ROI gets overstated

Crediting every organic conversion to SEO work confuses a recorded path with a causal effect. A customer may already know the business or may have encountered it through another channel before arriving from search.

Applying one sitewide conversion rate to new clicks assumes that new visitors behave like existing visitors. Their intent, landing pages, device mix, or market may differ. Use relevant groups of visitors when the data supports that comparison, and disclose when small samples make the estimate unstable.

Treating rankings or visibility scores as financial return skips the business outcome. Search visibility can help explain why traffic changed, but rankings do not establish sales or profit.

Calling a before-and-after increase proof ignores other changes that happened at the same time. A year-over-year comparison can help with seasonal context, but it does not replace a credible comparison group.

Account for AI Overviews in search reporting

Google says links in AI Overviews count as clicks in Search Console. AI Overviews are AI-generated summaries in Google Search results, and all links within one Overview receive the same position. That means reported clicks can include visits from these search features, while average position does not necessarily represent a conventional list of results alone. Use the same discipline as for other search visits: follow clicks through analytics to business outcomes, and do not assign financial value to an appearance or position by itself. Google’s Search Console metric definitions describe how these results are counted.

Those reporting rules do not provide a standalone estimate of incremental revenue from AI Overview exposure. A citation or link, a visit, and a sale are separate outcomes; connect them only where the available records support that connection.

Key Takeaways

  • Separate credit from cause: Organic-attributed revenue describes how analytics assigned credit; it does not prove that SEO work created the sale.
  • Compare treated pages with credible controls: Check that both groups had similar pre-change trends and that outside changes did not affect them differently.
  • Calculate return from incremental contribution profit: Deduct SEO costs from estimated incremental contribution profit, then divide by those costs.
  • Label weak evidence honestly: Without a credible comparison, report a before-and-after change as an association, not proven SEO lift.
  • Trace AI-search visits to business outcomes: Search Console clicks can include AI Overview links, but impressions and position do not establish incremental revenue.
What I'm building

Delegate tasks. Get software.

Give Vroni a GitHub issue, bug report, spec, or rough idea. It reads the repo, plans the change, writes code, runs checks, and works toward a review-ready pull request.

Take a look at vroni.com

Email updates

Usually a new article and a few links I found interesting.

No spam. Unsubscribe with one click.

Leave a Reply

Your email address will not be published. Required fields are marked *