Profit analytics

A Shopify profit dashboard that counts every cost

See net profit by day, product, order and channel after COGS, shipping, payment fees, handling, custom costs and ad spend. Then send each order's margin to Meta so it can bid on profit.

Net profit dashboard

Net profit, margins, POAS, break-even ROAS, CAC and repurchase rate, each against the previous period.

Every cost

COGS, shipping, payment fees, handling, custom costs, order fees and lost chargebacks.

A real P&L

By day, week, month, quarter or year, as a % of gross sales, revenue or net sales.

POAS bidding

Send each order's contribution margin to Meta as a ContributionMargin event.

Profit per product and channel

Ad spend split over products and orders, and campaign profit under any attribution model.

Goals and custom reports

Monthly targets with an end-of-month forecast, and saved reports emailed on a schedule.

How profit is calculated

  • Revenue = gross sales − discounts − returns + taxes + shipping charged
  • Net profit = revenue + tips + gift cards + other revenue − total costs − taxes − chargebacks

Calculation rules decide how taxes count, whether returns land on the return date or the order date, how the COGS of returns is treated, whether cancelled and zero-revenue orders count, and which campaigns count when an ad account is shared.

MetricFormula
Gross profitRevenue + tips + gift cards − product costs − shipping cost − order fees − payment fees − handling
Contribution marginGross profit − deducted taxes − ad spend − marketing costs
POASGross profit ÷ ad spend
Break-even ROASRevenue ÷ profit before ads: the ROAS at which ads use up all of the margin
Blended ROAS (MER)Revenue without tax ÷ ad spend
Ad spend + marketing % of revenue(Ad spend + marketing costs) ÷ revenue, shown under Contribution margin
CAC(Ad spend + costs marked as CAC) ÷ new customers

The cost model

  • COGS: Shopify cost-per-item sync, costs per variant, SKU or product with effective dates, per-country zones, supplier bundle prices, and CSV import and export.
  • Shipping: per order, per item, by quantity tiers, per kg or as a % of value, by country.
  • Payment fees: exact Shopify Payments fees, otherwise gateway fees, plus Shopify's third-party fee and a PayPal estimator.
  • Handling and custom costs: fixed or variable. A custom cost can also be booked as other revenue or a cost of goods credit.
  • Order fees: affiliate or influencer fees on a discount code, tag or UTM, pick and pack per unit, vendor mark-ups, duty above a de minimis value per country, and fees on orders above a price.
  • Chargebacks: Shopify Payments, Stripe and PayPal disputes lost or accepted, plus their dispute fee.
  • Actual costs per order: what a supplier (AliExpress, CJ Dropshipping, Printful, Printify, Gelato, Gooten), a shipping tool (Shopify Shipping, ShipStation, ShipBob, ShipHero, Sendcloud, Easyship, Shippo) or Stripe and PayPal really charged replaces the estimate for that order.
  • Cost snapshots: optionally, each order's costs are frozen when it is first synced, so later cost changes do not rewrite past profit.
  • VAT: reclaimable EU input VAT comes off your costs, and orders that report no tax can use One-Stop Shop destination rates.
  • Overheads: cost categories, staff costs, and expenses imported from QuickBooks Online, Xero, Google Sheets or scanned bills, down to EBITDA.

POAS bidding on Meta

Turn on profit bidding on the Meta pixel and every Purchase is joined by a ContributionMargin event. Its value is order revenue − refunds − COGS − handling − shipping − fees − tax. Meta optimizes on positive values, so a loss-making order sends 0. Choose the event as the conversion goal in Ads Manager. Background: what is POAS. Run your own numbers in the POAS calculator or the ROAS calculator.

Reports

  • P&L by day, week, month, quarter or year, with contribution margin levels CM1 to CM3 and EBITDA, also split into new and returning customers.
  • Product profit: campaign spend split over the products in its credited orders, with profit after ads and POAS.
  • Order profit: marketing allocated per order, contribution profit and per-order cost corrections.
  • Channel and campaign profit under any attribution model, with 90-day LTV and LTV:CAC.
  • Breakdowns by discount code, payment gateway, shipping, sales channel and country, an all-stores view in one currency, and CSV export everywhere.
  • Goals for revenue, net profit, gross profit, orders, new customers, ad budget, ROAS and margin, with an end-of-month forecast (28-day level × capped trend × weekday factor).
  • Custom reports with 22 metrics, two groupings, 7 templates, CSV or print, and email schedules to up to 10 recipients.
  • Custom dashboards per store or across all stores: KPI tiles, charts, tables, goals and notes, with custom metrics built from formulas, 5 templates, team sharing and email schedules.

Who it is for and setup

Owners and marketers who need to know what they earn after ads, not only what they sell. Shopify orders, refunds, products, inventory and disputes arrive by webhook, with a backfill of past orders. Orders from other webshop connectors are costed from their totals and line items. Start by syncing Shopify's cost per item or importing a COGS file, then set shipping, fees and custom costs. Profit is also available from GET /api/v1/profit.

Limits

  • Ad spend syncs from Meta, TikTok and the ad accounts you connect under Setup › Ad spend. Enter manual ad spend for other channels; it is spread over its days.
  • Spend in another currency is converted to the store currency at ECB rates.
  • Actual costs come only from the suppliers, shipping tools and payment providers listed above; other orders use your cost rules.
More features

Built on the same first-party data

Server-side trackingFirst-party click capture, order matching and Conversions APIs for 15 ad platforms, deduplicated with the browser pixel.AttributionTwelve models, from last click to data-driven Markov and Shapley and Total Impact, on your own click data, with order journeys and campaign profit.Lifetime valueCohorts, CAC payback, predicted LTV up to 24 months, repurchase timing and RFM segments synced to Klaviyo.Ask AI & MCPAn assistant on Claude that answers from your own reports, and an MCP server with read-only tools for Claude Code and other clients.Creative analyticsHook rate, hold rate, fatigue and ROAS per creative, hook, creator and format for Meta and TikTok.Marketing mix & budgetsA marketing mix model with a budget optimiser, geo-lift and on/off tests, spend curves and daily scale, hold or cut advice per campaign.AudiencesAudiences from orders, predicted LTV, RFM, visitors and leads, kept in sync with ten ad platforms and Klaviyo.Actions & AutopilotAn ads manager for nine platforms with an approval inbox, rules with guardrails, an AI Autopilot and one-click rollback.AI briefingsAnomaly alerts, AI digests grounded in your own numbers, a weekly action plan with a decision log and scheduled questions in Slack.Competitors & AI visibilityCompetitors' Meta ads and emails, how often AI assistants name your store, AI content drafts and AI focus groups.InfluencersAn influencer CRM with deals, code and link attribution, and ROI and profit per deal and influencer.AgenciesClient workspaces, a multi-client overview, white label on your own domain, PDF reports and a revenue share.
FAQ

Questions, answered

What is POAS and how is it different from ROAS?

ROAS is revenue divided by ad spend. POAS is profit divided by ad spend. On the ROASaurus dashboard, POAS is gross profit (revenue after product, shipping, fee and handling costs) divided by ad spend, so a POAS above 1 means those sales earned more gross profit than the ads cost.

How is break-even ROAS calculated?

Revenue divided by profit before ads. It is the ROAS at which ad spend uses up all of the margin. Below it, the ads cost more than the sales earn.

Where do product costs come from?

From Shopify's cost per item, synced automatically, or from costs you set per variant, SKU or product with effective dates. You can also import costs from a CSV file and set country zones and supplier bundle prices.

Does it work outside Shopify?

Yes. Orders from the WooCommerce plugin, the other webshop connectors and the orders API are costed from their totals and line items. Shopify stores also get refunds, inventory and disputes by webhook. Amazon, eBay, Walmart and TikTok Shop orders and fees can be added under Setup › Marketplaces.

Every sale, traced to the ad that earned it

Server-side tracking, profit and lifetime value in one app. 14-day free trial, no credit card.

Start your free trial →