Profit/ad-spend tracking on Shopify — what's actually broken for you?

Hey all — I’m looking into a tool for merchants who want to know their real profit per order (after COGS, fees, shipping, and ad spend), not just revenue in the admin dashboard. Mainly thinking about smaller DTC stores — running Meta/Google ads, no in-house finance team, maybe $1k–$20k/month in ad spend — but curious to hear from anyone.

Before building anything, I want actual frustrations rather than my guesses. A few things I think are annoying, correct me if I’m wrong:

  • Revenue looks fine but you don’t know which orders/products/channels are actually profitable until you sit down with a spreadsheet at month-end
  • Ad spend isn’t tied back to specific orders or products, so ROAS and true margin feel disconnected
  • Margins quietly slip (COGS increase, discount codes stack, shipping costs creep) and nobody notices until it shows up in the bank balance
  • Stitching together Shopify + ad platform + spreadsheet just to answer “did we make money this week” is a manual chore every time

If you run a store, what’s actually frustrating about knowing whether you’re profitable, in near-real-time vs. after the fact? Do you track this today, and how (spreadsheet, app, gut feel)? What would make you trust a number enough to act on it?

Not pitching anything yet — trying to find the real pain before deciding what’s worth building.

Hey @fiducia ,

One of the biggest challenges is having all the costs in one place. Shopify shows revenue clearly, but once you factor in ad spend, shipping, payment processing fees, discounts and COGS it becomes much harder to know the true profit per order.

For many smaller merchants, this often means exporting data into spreadsheets or using multiple apps. A tool that automatically combines these costs and provides reliable near real time profit reporting by order product and sales channel would be genuinely useful. Accuracy and easy integration would be the biggest factors in building trust.

Thank You !

Thanks, this is really helpful — matches what I suspected but good to hear it confirmed.

A couple follow-ups if you don’t mind: what are you using today to stitch this together (spreadsheet, specific apps, manual export)?
And when you say “accuracy” is a big trust factor — is that more about the cost inputs being wrong (e.g. COGS not updated) or the attribution being wrong (e.g. ad spend/shipping getting allocated to the wrong order/product)?
Trying to figure out where trust actually breaks down for people.

You’re welcome!

From what I’ve seen, many smaller merchants still rely on spreadsheets with manual exports from Shopify, while others use a mix of inventory and analytics apps depending on their needs.

In terms of trust, I think it’s a combination of both. If COGS or other cost inputs aren’t kept up to date, the profit figures become misleading. At the same time, if ad spend or shipping costs are allocated incorrectly across orders or products, merchants quickly lose confidence in the numbers. The more automated and transparent the calculations are, the more likely merchants are to trust the data and make decisions based on it.And If you like my answer you can mark as solution .

Thank You !

For me, this is what’s been frustrating historically.

  1. Attribution is too blunt. I can see spend and revenue, but not which products or bundles are carrying the account after fees and shipping.
  2. Inputs drift. COGS changes, shipping rates change, discounting changes, and the sheet becomes less accurate over time.
  3. The number is too slow to act on. I might do a P&L at month-end, but I’ve already spent 3-4 weeks on a bad campaign or a low-margin SKU.

Personally, I’d want a simple daily view by product and channel, with a clear “confidence” level on the data. Even a rough number is better than a perfect spreadsheet that only gets touched once a month, assuming it’s obvious what’s included and what isn’t.

Are you thinking of pulling in blended profit at the store level, or trying to get to true contribution margin by product and campaign?

Hey @DanielAnderson

Thanks, This is exactly the kind of detail I was hoping for. This confidence level idea is sharp, a directionally-right daily number people actually trust beats a precise one they check once a month.

About your question, Leaning toward true contribution margin by product and campaign, not blended store-level. Blended profit is easy but hides exactly the thing you described — a bad campaign or low-margin SKU bleeding for weeks before anyone notices. Order/product-level with ad spend attributed back is the harder problem but the useful one.

Curious what “attribution is too blunt” looks like concretely for you — is it that spend isn’t split by product/bundle at all, or that it’s split but using a rule (e.g. even split, last-click) you don’t trust?

Yeah, that’s exactly it.

The “bluntness” is mostly that spend isn’t tied to what actually happened at the product or bundle level.

For example, I might know Meta spent $500 and brought in $1,500 in revenue, but that doesn’t tell me much if half the orders were low-margin products, heavily discounted bundles, or items with higher shipping costs.

Another issue is high SKU count stores. If an ad drives someone to buy Product A, but they also add Product B and C, I need some sort of split credit model to tell me what’s carrying the margin.

Good point, that’s actually a different problem than what we talked about before. Order-level attribution won’t catch this, if someone clicks an ad for Product A but also buys B and C, giving the whole order to A’s campaign is wrong.

How would you want that split? Just based on price (each product gets a share based on how much of the order it is), weighted more toward the product the ad was actually for, or based on margin so a high-margin item isn’t undercounted? No right answer here, just want to know what would actually make you trust the number.

In one of my projects I used each product’s percentage of the order total to split the spend, simple to compute, works okay in most cases. Downside is it’s still revenue-based, not margin-based, so a low-margin bundle gets the same credit as a high-margin item. Would you actually want it weighted by margin instead, even if that’s harder to explain to a merchant?

The attribution split question is where most profit tools either
oversimplify or overcomplicate.

Revenue-based split (your current approach) is easy to explain but
misleading. If someone buys a $50 low-margin item and a $20 high-margin
item, the $50 item gets 71% of the ad spend credit even though it might
contribute less actual profit.

Margin-based split is more accurate but creates a different problem:
merchants don’t always have accurate COGS per variant, so you’re
splitting based on potentially wrong margins. Garbage in, garbage out.

What I’ve seen work better:

  1. Default to revenue-based split (simple, defensible)
  2. Show a “confidence” flag based on COGS completeness — if 80%+ of
    variants have costs entered, show higher confidence
  3. Let merchants override attribution for specific campaigns if they know
    “this ad was specifically for Product A”

The real insight is that perfect attribution doesn’t exist. What matters
is consistency — if you use the same method every week, you can still
spot trends, even if the absolute number is slightly off.

I built ProfitGuard Pro to solve the core problem (real net profit after
COGS, fees, shipping, refunds) but ad spend attribution is the next layer
we’re thinking about. Would be curious what merchants actually want here
— precision or simplicity.

What’s your current thinking on handling returns? That’s another
attribution headache — if someone returns Product B from a multi-product
order, do you recalculate the entire order’s ad attribution?