Every Monday morning, the same ritual: open Meta Ads Manager, check the weekend's ROAS, raise the budget if the number is green. On Tuesday, Shopify shows nice revenue. On Friday, the bank account still isn't keeping up.
It isn't a Shopify bug or a "bad campaign". It's a dashboard problem: you're running a store with a metric designed to reassure the advertiser (platform ROAS), not to protect your margin.
Vanity metrics vs metrics that protect your margin
A vanity metric is a flattering statistic that doesn't predict the real health of your business. In Meta/Shopify e-commerce, the most dangerous ones are:
- Meta or TikTok ROAS — calculated on attributed revenue, often modeled, sometimes counted twice with Google
- Shopify revenue — ignores COGS, shipping, returns and ads
- Platform CPA or cost per purchase — based on conversions you can't reconcile with Shopify
- Order count — a negative-margin order is still an order
The metrics that really matter when deciding to raise or cut a campaign:
- Net profit for the period — after all variable costs and allocated fixed costs
- True ROAS (net profit ÷ total ad spend) — see our dedicated article
- Net margin % by product or by campaign when possible
- Breakeven ROAS — the threshold below which every ad euro costs you money
The weekly P&L is the bridge between "my ads seem to be working" and "my store is making money this week".
Building a weekly P&L in 30 minutes
You don't need an ERP. A spreadsheet or a dashboard is enough, as long as you cross-reference the right sources over the same window (Monday 00:00 → Sunday 23:59, Europe/Paris time zone).
Step 1 — Net revenue (Shopify)
In Shopify Analytics or the order export, pull for the week:
- Total sales after discounts (not the compare-at price)
- Minus refunds and cancellations from the same week
- Minus collected VAT if you track it outside your cash (an accounting choice, but useful for week-over-week comparisons)
A common mistake: taking "gross" revenue on Monday morning when refunds come in on Thursday. The following Monday's P&L will be off.
Step 2 — COGS and logistics costs
Per order or in aggregate:
- COGS (purchase price + allocated inbound costs)
- Shipping actually paid to the carrier (not the amount shown to the customer if shipping is free)
- Payment fees (~1.6 to 2.9% + a fixed fee depending on the method)
- Handling / 3PL if applicable
If your COGS aren't up to date in Shopify, set a rule: average gross margin by category (e.g. 42%) until you have a clean product sync. A stable approximation beats a precise but outdated number.
Step 3 — Ad spend (all platforms)
Export actual spend from:
- Meta Ads Manager (billed account, not "estimated")
- Google Ads, TikTok Ads and any other ad platform — everything that charged your card
Don't mix ad spend and platform-attributed revenue in the same column. The P&L wants money going out, not modeled conversions.
Step 4 — Weekly fixed costs
Spread your monthly costs over 4.33 weeks:
- Shopify subscription + apps (Klaviyo, Judge.me, etc.)
- Fees, salaries, rent if you have them
- Recurring content / UGC production
Minimal template:
Weekly net profit = Shopify net revenue − COGS − Shipping − Payment fees − Total ad spend − Handling − Refunds − Share of fixed costs
When Meta ROAS is green but the P&L is red
Illustrative example, not a customer store:
- Weekly Shopify revenue: €18,000
- Meta spend: €6,500. Meta shows a ROAS of 3.8: that's the revenue it attributes to itself divided by 6,500, not 18,000 / 6,500.
- COGS + shipping + payment: ~€9,200
- Allocated fixed costs: €800
Net profit ≈ 18,000 − 9,200 − 6,500 − 800 = €1,500 (~8% margin). Not catastrophic, but if you had scaled on the 3.8 ROAS by doubling the Meta budget without checking product margin, the following week's profit could drop below zero.
Checklist before raising a budget:
- Is blended ROAS (Shopify revenue ÷ total ad spend) above the threshold (1 / margin before ads)? That threshold is compared with this ROAS, not with true ROAS. True ROAS signals a loss only below 0.
- Do the products pushed by the campaign have enough gross margin after shipping?
- Has the return rate on those products gone up in the last week?
- Do you have enough cash to absorb the gap between ads charged immediately and Shopify payouts 3 days later? (see our cash flow guide)
A weekly ritual in 4 tabs (15-minute review)
Block a recurring slot — Tuesday at 10 a.m., for example, when the weekend's refunds are visible:
- P&L tab — net profit for week N vs N-1 and vs target
- Products tab — top 5 SKUs by net profit, not by revenue
- Campaigns tab — spend vs margin generated (even approximate)
- Decisions tab — 3 actions max: cut, scale, test a creative
Discipline matters more than the tool. A spreadsheet kept up every week beats a fancy dashboard checked once a month.
Limits of the weekly P&L (let's be honest)
- It doesn't replace your accountant or your tax return
- Exact campaign → profit attribution remains imperfect without reliable server-side tracking
- Late returns (day 14 to day 30) shift your real margin — keep an eye on return cohorts
- Allocating fixed costs is arbitrary; what matters is keeping the same rule week after week
Automating the P&L without going through five exports
ProfitPilotPro aggregates Shopify and your Meta, TikTok and Google accounts to show net profit, blended ROAS and true ROAS over the period you choose.
The manual ritual is enough to take back control. Automation becomes useful when reconciliation takes several hours a week. The formulas are in the metrics guide.
The trial lasts 14 days, no credit card required. Create an account.