What is ROI
ROI stands for return on investment: the profit something brought in, measured against what it cost.
It is written as a percentage, so an ROI of 60% means every pound spent came back with 60p of profit on top.
In marketing the investment is usually a campaign or a channel, and the return is the gross profit on the sales it produced. That makes ROI the figure a finance director asks for, because it is the one that says whether the money was worth spending.
How it's calculated
ROI = (gain - cost) ÷ cost
Suppose a campaign cost £5,000 and produced £20,000 of sales at a 40% gross margin. The gain is the gross profit, 20,000 × 0.40 = £8,000. ROI is (8,000 - 5,000) ÷ 5,000 = 60%. The Google Sheets version, with a guard for a campaign that cost nothing, is on the marketing ROI formula page.
What it tells you, and what it doesn't
ROI tells you whether spending made money once the cost of the goods is paid for. That is the difference from ROAS, which divides revenue by ad spend. The same campaign has a ROAS of 20,000 ÷ 5,000 = 4.0, which sounds generous until you remember that £12,000 of that revenue went on the products themselves. At a 40% margin, a ROAS of 2.5 is break-even, and ROI at that point is zero.
What it doesn't tell you is whether the sales were caused by the campaign. ROI inherits whatever the attribution says. If half of those £20,000 of orders would have arrived anyway, the real return is far lower, and only an incrementality test can tell you by how much.
Where it goes wrong
Revenue in place of profit. Using £20,000 of sales as the gain gives (20,000 - 5,000) ÷ 5,000 = 300%. That number appears in a lot of slide decks. It is ROAS wearing ROI's name, and it ignores the cost of everything you sold.
Media spend as the only cost. If an agency charged £1,000 to run the campaign, the investment was £6,000, and ROI falls to (8,000 - 6,000) ÷ 6,000 = 33.3%. Creative, tools and fees all belong in the cost line.
Mismatched periods. Spend from March set against sales from March and April overstates the return. Pick one window for both halves, and make it long enough that late orders have landed.
Related metrics
- ROAS: revenue per pound of ad spend, before the cost of goods.
- Marketing ROI formula: the calculation in Google Sheets, with a worked example.
- Gross margin: the share of revenue left after the goods, which turns sales into gain.
- CAC: what one new customer costs, when the question is growth rather than a single campaign.
Keeping it current
A scheduled Fresh Sheets report can keep Google Ads Cost in a tab called Google Ads, and a second can keep Shopify's daily Net payment in a tab called Shopify. Your gross margin goes in B2 on your formulas tab and any costs that are not ad spend, such as agency fees, in B3.
Fresh Sheets replaces each report's tab on every refresh, so keep the formula on that separate tab. It finds each column by its heading, so it still works if a field is added and the columns move:
=(SUM(INDEX('Shopify'!A:Z, 0, MATCH("Net payment", 'Shopify'!1:1, 0))) * B2 - SUM(INDEX('Google Ads'!A:Z, 0, MATCH("Cost", 'Google Ads'!1:1, 0))) - B3) / (SUM(INDEX('Google Ads'!A:Z, 0, MATCH("Cost", 'Google Ads'!1:1, 0))) + B3)
Format the cell as a percentage.
If you also advertise on Meta Ads, a Meta Ads tab adds its spend the same way, with the heading "Amount spent", in both places the Google Ads cost appears.