Skip to content

Profit reporting

Revenue tells you what came in. It does not tell you what you kept.

Revenue arrives with your orders. Profit does not, because Soran has to be told what things cost. Once it knows, every report can show margin instead of turnover, and ROAS stops flattering the campaigns selling your thinnest-margin products.

  • Gross revenue
  • Less refunds
  • Less cost of goods
  • Less shipping
  • Less fees
  • contribution margin

Revenue arrives with the order. Profit has to be told.

Discounts, refunds, cost of goods, shipping, and transaction fees come off in the same order on every report. What survives the ladder is contribution margin, and it is the figure the rest of the product can then answer in.

MetaTikTokEmailDirect

ROAS on turnover flatters volume. ROAS on margin does not.

The campaign moving your thinnest-margin line stops topping the table the moment costs are in.

  • #1042Meta AdsSpring carousel128.00
  • #1041TikTok AdsCreator UGC 364.50
  • #1040EmailBack in stock212.00
  • #1039Meta AdsRetarget 30d88.00
  • #1038SearchBrand terms149.00
  • #1037TikTok AdsCreator UGC 174.25

A price changes and last quarter is gone. Every entry ever recorded stays.

Superseded costs remain visible, because what a thing used to cost is as often the question as what it costs now.

  • All events100%
  • and event is purchase64%
  • and value is at least 5041%
  • and channel is not Direct29%

Model every SKU before the first number. One fallback rule each.

Shipping and processor fees need a single rule apiece to start producing honest profit. Precision can arrive later, on the lines where it changes a decision rather than everywhere at once.

The ladder

Turnover at the top. What you keep at the bottom.

Every cost you enter comes off in the same order, on every report, so margin is a number you can act on rather than one you reconstruct in a spreadsheet.

  1. 01 Gross revenue
  2. 02 Less discounts and refunds
  3. 03 Less cost of goods
  4. 04 Less shipping
  5. 05 Less transaction fees
  6. 06 Contribution margin

Before the costs come off

Margin on revenue you double counted is a smaller wrong number.

Profit is measured against attributed revenue, so the credit has to be divided once before any of this means anything.

  1. Meta Ads Mon
  2. Google Ads Wed
  3. Newsletter Fri
  4. Order $184.00

As the platforms report it

Meta Ads
1.00
Google Ads
1.00
Newsletter
1.00
Total credited
3.00 conversions

Three sales on the report. One in the bank.

As Soran reconciles it

Meta Ads
0.50
Google Ads
0.20
Newsletter
0.30
Total credited
1.00 conversion

Split across the path that earned it. Always totals one.

Stop guessing which ads worked. Start seeing it.

  • No credit card to start
  • Every report and all ten models from day one
  • Your data exports whenever you want it
  1. 01

    Connect your store

    Shopify authorizes in a click and checkout tracking installs itself.

  2. 02

    Pick a goal

    The conversion you actually get paid for. Soran credits every touch that led to it.

  3. 03

    Read your first report

    Spend against the revenue it earned, on all ten attribution models.