Profit dashboard

A profit and loss for every product you advertise

One row per product, joining Google Ads spend to real Shopify orders, with cost of goods and refunds taken off before anything is called profit.

What you get

Each of these is behaviour the product has today.

  • POAS beside ROAS, always

    ROAS divides revenue by spend and tells you how the advert performed. POAS divides what was left after cost of goods by the same spend and tells you whether the sale was worth making. Break-even is 1.00×, so a product below it is losing money no matter how good its ROAS looks.

  • Rolling 7, 14 and 30-day windows

    A short window catches a product going bad; a long one stops a slow week from condemning a good one. Each window ends yesterday, so a partial day never drags an average down.

  • Variant, country and market breakdowns

    A product can earn on one variant and lose on another, or earn in one country and lose in the next. Open a row and the same arithmetic is there one level down.

  • A missing number says why

    When cost-per-item is absent on a sold variant, or a day with ad activity has no usable exchange rate, the figure comes back unavailable with the reason attached instead of quietly showing a zero. An average that silently includes a guess is worse than no average.

  • Filter and sort on what matters

    Search, filter by status, country and tag, and set minimum and maximum bounds on ROAS, POAS, net profit, ad spend, gross margin, price and clicks. Save the filter set you keep coming back to.

  • Unattributed spend is shown, not hidden

    Spend Opteno cannot tie to a product is reported as unattributed rather than spread across the catalogue to make the totals tidy. Attributed and unattributed always add up to what the ad account actually spent.

What the table looks like

Drawn rather than screenshotted, so it reflows on a phone and carries nobody’s data. The figures are examples.

Product performance · last 30 days
  • €6,590Ad spend
  • €29,140Revenue
  • €17,600Cost of goods
  • +€4,950Net profit
  • 4.42×ROAS
  • 1.75×POAS
Five example products with their ad spend, revenue, ROAS, POAS and net profit over the last 30 days.
ProductAd spendRevenueROASPOASNet profit
Everyday Denim Jacket4 variants€1,240€9,9208.00×4.16×+€3,918
Coastal Cedar Board2 variants€860€4,7305.50×2.92×+€1,647
Merino Crew Knit — Navy6 variants€2,000€8,0004.00×0.88×−€240
Harbour Canvas Tote3 variants€1,510€4,5303.00×0.91×−€130
Aurora Linen Shirt5 variants€980€1,9602.00×0.75×−€245
Example figures, not a customer’s data. The account totals look healthy — 4.42× ROAS, +€4,950 kept — while 3 of the 5 products lose money.

How it works

  1. Shopify supplies products, variants, orders, refunds and cost-per-item.
  2. Google Ads supplies daily spend, impressions, clicks and conversions, in the ad account’s own currency.
  3. The two are joined on the product offer identifier Google reports spend against.
  4. Cost of goods is summed from each sold variant’s cost-per-item, or from a store-wide percentage if you set one.
  5. Each day’s spend is converted at that day’s rate, then summed — so a closed period keeps the profit it was earned at.

What it does not do

Written down so you can decide with the limits in front of you rather than after you have connected.

  • Gross margin is a catalogue figure taken from the lowest-margin variant with a cost, not a period figure.
  • Halo or incremental revenue attribution is not computed; Opteno does not claim to know what an advert caused indirectly.
  • Exchange rates are read from Opteno’s own rate table. There is no automatic daily feed in this build, so a date with no rate is reported rather than estimated.

The rest of the product

  • Google Ads exclusions

    Stop paying for products that lose money: exclude their offers from Performance Max asset groups, previewed against Google before anything is applied.

    Read more

  • Automations

    Profit rules that run on a schedule and prepare the changes they imply — then stop, because anything that touches your store waits for a person to approve it.

    Read more

  • Competitors and imports

    Track competing Shopify storefronts, see what they sell and in what order, and copy the products worth carrying into your own catalogue as drafts.

    Read more

  • Markets and prices

    The same product earns in one market and loses in the next. See profit per market, publish where it belongs, and change a price with the figures it started from recorded.

    Read more

See which products are losing you money

Connect Shopify and Google Ads in under five minutes. From $59 a month, cancel whenever you want, and no change to your store or your campaigns without your approval.

[email protected]

Profit dashboard — Opteno