To see your Shopify profit after ad spend, start from your store's orders and take off product cost, ad spend, shipping, payment fees, returns and refunds, because the ROAS in Meta or Google counts sales you may later give back. Tera Ads, made for Shopify brands that run Meta Ads and Google Ads, does that sum from your Shopify orders and puts sales, ad spend and estimated profit on one screen.
Why ROAS is not profit
ROAS is revenue credited to ads divided by ad spend. Each platform reports its own ROAS, counting an order when it's placed, including orders that are later returned, and Meta and Google can both claim the same order.
So a ROAS of 4 tells you what the platform credits to its ads, not what was left after the product, shipping, card fees and returns were paid for.
Tera Ads' own calculator example shows the gap. $5,000 of ads brings 400 orders at $50 each, and Ads Manager shows a ROAS of 4.00x. After product cost, payment fees, shipping and a 20% return rate, those orders leave $7,840 before ads and $2,840 after them: a profit, but a much thinner one than "4x" suggests.
The costs between a sale and a profit
Five costs sit between the sales number and the profit number, and ROAS includes none of them.
- Product cost (COGS): what the goods cost you, packaging included, counted here as a share of order value.
- Payment fees: what card and wallet providers keep from each order.
- Shipping: what the carrier charges to deliver, and again to bring a return back.
- Returns and refunds: a refunded order earns nothing. Meta and Google record the purchase when it's placed and never take it back out of their ROAS.
- RTO (return to origin): a cash-on-delivery parcel that goes back to the seller undelivered. You pay shipping both ways and earn nothing.
Sales tax matters too. Work from order value after sales tax or VAT is taken out, because that money isn't yours to keep. Counting it makes every ROAS look better than it is.
How to work out Shopify profit after ad spend
These are the formulas Tera Ads publishes with its free calculators. Enter rates as shares between 0 and 1, so 30% is 0.3.
- Margin on a kept order = order value × (1 − product cost − payment fees) − shipping
- Margin per order, after returns = kept share × margin on a kept order − return rate × (shipping + return shipping), where kept share = 1 − return rate
- Break-even ROAS = order value ÷ margin per order, after returns
- Profit before ads = orders × margin per order, after returns
- POAS (profit on ad spend) = profit before ads ÷ ad spend
- Profit after ads = profit before ads − ad spend
A worked example
Say orders average $50, product cost is 40% of that, payment fees are 2%, shipping costs $3 each way and 20% of orders come back.
- A kept order leaves $26: $50 − $20 − $1 − $3.
- After returns, the average order leaves $19.60, so the ads break even at a ROAS of 2.55x.
- With $5,000 of ads bringing 400 orders, profit before ads is $7,840 and POAS is 1.57x.
- Profit after ads is $2,840, while Ads Manager shows a ROAS of 4.00x.
How to read the result
Break-even ROAS moves with your margins. For this store it's 2.55x, and below it every order the ads bring in loses money. POAS is easier to judge, because its break-even is always 1.0 whatever your margins. A POAS of 1.57 means each dollar of ads came back with 57 cents of profit on top.
Neither number covers fixed costs such as salaries and software, so aim comfortably above break-even.
True ROAS after returns
If you want to keep a ROAS-style number, count only the revenue you keep. True ROAS is revenue from orders kept divided by ad spend. In Tera Ads' example, 15% of 400 orders at $50 are refunded, so $17,000 of sales is kept from $5,000 of ads. True ROAS is 3.40x, against the 4.00x Ads Manager shows.
What "profit after returns" means
Profit after returns is what's left once returned and refunded orders come off your sales and their costs are charged. Two rules keep it honest.
Book each return to the date the order was placed. Tera Ads counts returns in the month the order was placed. A return that arrives weeks later still comes off the month it belongs to, so each month's profit lines up with the ad spend that won those orders.
Treat recent periods as unfinished. Recent months keep changing until returns settle, after about 45 days. When you work out a return rate by hand, use orders older than your return window: with a 30-day window and a week or two of shipping, orders from about six weeks ago or more.
The difference is easy to see. In the example store on Tera Ads' homepage (made-up numbers), $48,600 of store sales on $11,900 of ad spend looks like $4.08 back per $1. Returns take off $5,540, which brings it down to $3.62 per $1 after returns.
How Tera Ads puts sales, spend and profit on one screen
Tera Ads starts from the orders in your Shopify store, not from what Meta or Google claim. A sale both platforms claim is counted once. It then takes off ad spend and costs, and shows what's left.
- Home shows estimated profit for today, 7 days or 30 days, next to sales, ad spend, orders, returns and "Return on ads", which is store sales ÷ ad spend.
- Profit is store sales minus product cost, ad spend, shipping, payment fees, returns and refunds. Product cost comes from the margin you set for your business. Until you set one, Tera Ads uses 70%.
- Returns: Shopify refunds come off profit. If you ship with Shiprocket, connecting it also takes off returned cash-on-delivery orders and their shipping costs, booked to the month of the order.
- Ads puts every Meta and Google campaign in one table, biggest spend first, with winners and campaigns wasting money marked.
- Freshness: new Shopify orders arrive about a second after checkout. Meta spend refreshes every 30 minutes and Google Ads spend every hour, and each screen shows when it last updated.
Here are the limits, stated plainly. Campaign-level sales in the Ads table are as Meta or Google report them, and they're labelled that way, so they won't match your store. Tera Ads doesn't split profit by channel yet. And estimated profit is an estimate to steer by, not your bank balance.
Tera Ads is made by Tera Labs. It's free for one business, with no card needed. You can start at teraads.co and see the paid plans on the pricing page.
Questions people ask
What is the difference between ROAS and profit?
ROAS divides the revenue a platform credits to its ads by ad spend. Profit also takes off product cost, payment fees, shipping, returns, refunds and the ad spend itself. A campaign can show a healthy ROAS and still lose money.
How do I calculate break-even ROAS?
Divide your average order value by the margin an order leaves after product cost, payment fees, shipping and returns. A $50 order that leaves $19.60 breaks even at a ROAS of 2.55x.
What is POAS?
POAS, profit on ad spend, is profit before ads divided by ad spend. Its break-even is always 1.0 whatever your margins, so products with different margins can be compared directly.
Why doesn't Meta's ROAS match my Shopify sales?
Meta and Google each count sales their own way, and both can claim the same order. They also keep refunded orders in their ROAS, while your store's orders count each sale once.