Shopify ROI calculator
How to use Shopify ROI calculator
Enter the money in and the money back. How to read the result without treating it as a forecast.
Key takeaways
- Use the URL or the figures the decision actually depends on.
- Change one thing, then run the same input again.
- A result goes stale when the price, the theme, the apps, or the costs change.
The pass
Enter the money in and the money back. Open Shopify ROI calculator and do it in this order.
- Use a finished period: last week, or one campaign, not a mix of both.
- Add every cost that left: ad spend, product, shipping, payment fees, and any app fee you are assigning to the test.
- Add revenue you collected, not revenue you projected. Refunds from that period belong in the net.
- Read the percentage, then look at the order count beside it. Recalculate when either number was incomplete.
The mistake that wastes the pass
Leaving product and shipping out, then calling the result ROI. That number is closer to a rough return on ad spend, and it will look better than the business.
How you know it worked
The revenue matches Shopify for that period, the spend matches the ad account, and the order count is written beside the percentage.
Name the window before you type
Start by writing the dates the calculation covers. A day, a week, or a single cohort are all valid if you stick to one. Every dollar you type after that should belong to those dates. Orders that shipped later, ads that ran earlier, and invoices that cover a quarter all need to be cut down to the window or left out with a note.
If you calculate one unit instead of a window, write 'one unit' at the top and attach an ad cost you are willing to defend for that unit. Do not mix the phrase 'one unit' with a monthly ad bill. The honesty of the percentage begins with this label, before any arithmetic.
Revenue you can point to
Type revenue from a source you can reopen. That source might be an order export filtered to the window, with discounts already reflected in the total you choose, or a single product price if you are working one unit. Say which one it is. If you use price, use the price a buyer actually pays for the unit you are costing, after the discount you are modeling. A compare-at price is not revenue.
Replace a rounded memory with the export total. If you remember the week as 'about 2,000 dollars,' open the export and type the figure it shows. Round only after you have seen the exact number, and say that you rounded. Taxes you collect and later remit should not be treated as revenue if they were never yours. If your export includes them, subtract them before you type, and note that you did.
Product cost from a document
Product cost should come from a supplier invoice, a bill of materials, or a landed-cost sheet you maintain. Use the cost for the unit you sell, including packaging if you pay for packaging as part of getting the good ready. Do not use the retail price. Do not use a target cost you wish the supplier would accept.
When the invoice is in another currency, convert it with the rate you actually paid, or with the rate you will pay, and write the rate down. When freight into your warehouse is part of getting the good ready, decide whether it lives in product cost or in shipping, then keep that decision the same on every offer you compare. Double counting that freight under both lines makes the percentage worse than reality. Leaving it out of both makes the percentage better than reality.
Shipping you pay
Type the shipping you pay, not the amount the customer was charged, unless those amounts are truly the same and you note that. A customer-paid shipping line can sit in revenue if you collected it. The carrier invoice still belongs in the cost stack. If you include the charge in revenue and forget the carrier cost, the percentage flatters the offer.
Replace a guessed flat rate with labels from the window. If weights differ, you may type one figure that you computed from those labels, but label it as your computed figure for those dates, not as the carrier's forever rate. A quote for a service you do not use should not enter the denominator. Use the service that actually moved the goods, or the service you will switch to if that switch is the plan under test.
Fees you include on purpose
Include a fee only when you know which fee it is. Payment processing, a platform charge tied to the order, and an app fee you allocate to the order are all candidates. A fee you cannot name should stay off the sheet. Write 'payment fee not yet read' rather than typing a remembered percent from a different year.
Read the processor's current pricing for the plan and country you are on. Card rates differ by Shopify plan, by country, and by contract, so a rate you used on a previous brand is not an honest input here. If you want the plan comparison itself, use /shopify-plan/ and the pricing page, then return with a fee you are willing to type. Until then, omit the fee and keep the omission visible. Omitting a real fee makes ROI look better. Inventing one makes it look worse. Both block a fair comparison later.
Ad spend for the same dates
Pull ad spend from the ad account, filtered to the same dates as the revenue. Include every campaign you are judging together. If you are judging one product, include only the spend aimed at that product, and say how you treated prospecting that also feeds other products. A shared prospecting bill needs a rule. Write the rule. Do not silently assign the whole bill to the product that is easiest to blame.
Replace a platform's modeled conversions with the spend you can see and the orders you can see. The ROI percentage does not need the platform's purchase count. It needs the dollars spent and the dollars you decided count as revenue. If the account spent 300 dollars in the window, type 300 dollars even if the platform claims a different revenue figure. Then type your revenue from your export, not from the ad platform's column.
Swap each assumption in public
List every input as either a document or an assumption. An assumption carries a date and a reason. The replacement is a document that retires the reason. When the document arrives, type the new figure and keep the old one in the note so you can see what moved. Do not overwrite a guess so completely that you forget the decision you made while the guess was in force.
Zero is not a substitute for unknown. Type zero only when the true cost is zero, such as ad spend in a window where you ran no ads and you are computing organic orders on purpose. An unknown fee typed as zero hides a hole inside a finished-looking percentage. Leave the field blank in your note, and do not publish the percentage as complete.
Rebuild the division before you save it
Before you trust the result, add the cost lines yourself and subtract them from revenue. Profit should match the numerator you expect. All spend should match the denominator. ROI as a percent is profit divided by all spend, times 100. If the screen disagrees with that hand check, you have a typing error or you have included a line in one place and not the other.
Save the note with the window, the revenue source, the invoice or quote dates, the ad-account dates, the lines omitted, and the percentage. The next honest calculation starts by copying that note and changing only the lines that truly changed. That habit is what makes a later comparison mean something.
Keep every line in the same unit count
If revenue is for 40 orders, product cost must be for 40 units, not for one unit and not for a case quantity you forgot to multiply. Shipping must be the labels for those 40, or a per-unit figure times 40 that you show as a multiplication. Fees follow the same count. Ad spend is already a total for the window, so you do not multiply it by 40 again. A double-multiplied ad line is a common way to invent a terrible percentage.
When you work per unit instead, divide the window's ad spend by the order count only if you intend the average ad cost for that window, and write the word average and the order count. That average is your figure, not a platform benchmark. Say the window spent 400 dollars and you count 20 orders. Example ad cost per order is 20 dollars, and only for those dates. Type 20 dollars on the one-unit sheet and point back at the 400 and the 20.
Shopify questions
How long is a result good for?
Until the page, the price, the theme, or the costs change. Rerun after a theme publish, a new app embed, or a new supplier quote.
Does this install anything on the store?
No. The page runs in your browser. Nothing is installed on the store you are looking at, and the calculators do not connect to the admin.