Know what every order earned.

Install Offer Suite on Shopify and it reads your recent orders: realized profit per store and per item, after every cost, each order costed as of the day it sold. Then your agents write custom offers through the API or MCP, a real cart proves each price before it goes live, and experiments are decided on realized profit.

OF_DEV_KITS

choose-your-kit-v1
Live

Realized margin

$10,159.34USD

+$3,019.34 (+42.3%) vs forecast

418 attributed orders

Sep 16, 2026$10,159.34forecast $7,140.001 restatement in this range, marked on the time axis
Forecast

Your agent drafted v4

Ritual Set drops the frother gift, same price. Forecast first-order margin $18.94 → $25.14; cart check matched, ready as an experiment arm.

Offer details

Orders
1,284
Renewals
412
Net revenue
$71,420.00
Average order
$55.62
Refund rate
3.1%forecast 5.0%
Processing
3.4%forecast 2.9% + $0.30
Live version
v3since Sep 12
Draft
v4by agent
Cart check
3 of 3 match
Last verified
Sep 16, 9:42 AM
Profile
dtc-us
Store
offer-suite-demo

Economics

Where one first order's revenue goes, with the costs effective now.

Revenue$48.00
unit_costper unit−$21.50
3pl_baseper order−$1.18
3pl_extra_pickper unit−$0.20
3pl_labelper order−$0.10
3pl_insertper order−$0.05
payment_processingpercent−$1.39
payment_processing_fixedper order−$0.30
packagingper unit−$0.50
refundspercent−$2.40
5 declared kinds cost nothing on this option$0.00
Gross margin42.5%$20.38

Forecast versus actual

Starter Kit margin per first order, by offer version.

ForecastRealized

Realized nets refunds but carries no refund estimate, so it is compared with the forecast before rates.

Ritual Set · first order

OF_DEV_KITS · costs effective now · keeps 32.3%

Revenue $58.60 to contribution margin $18.94 (32.3%)
Revenue
$58.60
Cost of goods
−$32.50
3PL base
−$1.18
Extra pick
−$0.40
Shipping label
−$0.10
Insert card
−$0.05
Payment processing
−$1.70
Processing per order
−$0.30
Packaging
−$0.50
Refunds
−$2.93
Contribution margin
$18.94

5 declared kinds cost nothing on this option

Example: a design for the offer page, drawn with the dashboard's design system. In the dashboard today, an offer's page lists its options and cart checks, and its economics page holds the forecast and realized margins. Example: an option's margin waterfall, a chart from the dashboard's design system. Option margins are the engine's forecast for OF_DEV_KITS on the dev store's costs, captured 2 October 2026. Versions, sales and activity are specimen data.

Profit from the orders you already have.

Install the app and Offer Suite imports your store's last 60 days of orders, or a year once the store grants access to all of them, and costs each one as of the day it sold: realized profit per store and per item, net of refunds, after every cost you enter. Orders placed before your first offer count toward the store and its items; profit per offer option starts with the first order an offer sells.

The same offer holds your best and worst deal. In OF_DEV_KITS, the Ritual Set subscription keeps 32.3% of its first order and 62.0% of every renewal. Once an offer sells, each option's realized profit sits beside its forecast, net of refunds, first orders and renewals apart. Group it by ad platform, campaign or ad, and set the ad spend your agent posts beside it for realized CAC.

Margin waterfall

One first order, costs effective now

Revenue $58.60 to contribution margin $18.94 (32.3%)
Revenue
$58.60
Cost of goods
−$32.50
3PL base
−$1.18
Extra pick
−$0.40
Shipping label
−$0.10
Insert card
−$0.05
Payment processing
−$1.70
Processing per order
−$0.30
Packaging
−$0.50
Refunds
−$2.93
Contribution margin
$18.94

5 declared kinds cost nothing on this option

What-if against live

The simulator, run through the API and MCP · specimen data

Profit per visitor · Live v3

$1.30

What-if: Starter Kit at $44.00

$1.18

−$0.12 per visitor

Needs 10.1% more conversion to break even. Conversion from 18,420 visitors over 30 days, assumed unchanged.

Live v3What-if: Starter Kit at $44.00
Single Bag
Starter Kit
Ritual Set

OF_DEV_KITS · first orders, the engine's forecast on the dev store's costs · refunds 5.0%, payment processing 2.9% + $0.30 per order · the forecast carries no carrier postage (Offer Suite has no carrier rate table yet; actual postage counts once posted per order), so these margins run higher than the calculators', which charge a shipping label · matches the dev API's economics, captured 2 October 2026

OptionPriceCost of goodsFulfilmentRefunds + feesMarginFirst-order marginRenewal margin
Single BagSubscribe$32.00$12.00$1.33$2.83$15.8449.5%58.1%
Starter KitSubscribe$48.00$21.50$2.03$4.09$20.3842.5%60.3%
Ritual SetSubscribe$58.60$32.50$2.23$4.93$18.9432.3%62.0%

$21.47

On the first real order, the realized margin ($21.47) matched the forecast to the cent before the estimated refund and processing rates; the full forecast, rates included, was $17.87.

Dev store, 16 September 2026

Costs are a ledger.

COGS with history, and every cost Shopify has no field for. Rows are appended, never edited: correct a cost today and every order it touches is repriced, while what you believed at the time stays on file. Realized profit comes in both views, current costs and as recorded.

  • Cost of goods
  • 3PL base
  • Shipping label
  • Insert card
  • Payment processing
  • Processing per order
  • Refunds
  • Extra pick
  • Packaging

Cost ledger

Amounts by kind and product over valid time; corrections and backdated rows marked

CorrectedBackdatedVoided
Cost of goodsSingle Bag
$12.00
Cost of goodsStarter Kit
$17.50
Cost of goodsRitual Set
$20.00
PackagingStarter Kit
$0.50
Gift fulfilmentall SKUs
$0.90
3PL baseall SKUs
$1.18

Your agents write the offer.

Custom offers, written by your agents through the API or MCP: tiers, subscribe and save, build-your-own picks, add-ons and free gifts are all one validated document. There is no offer type to choose, and a wrong document comes back with the path of every problem.

OF_DEV_KITS · one optionexcerpt
{
  "key": "single-bag",
  "display": {
    "title": "Single Bag"
  },
  "lines": [
    {
      "role": "main",
      "quantity": 1,
      "purchase": {
        "type": "subscription",
        "intervalDays": 30
      }
    }
  ],
  "pricing": {
    "promise": {
      "firstChargeCents": 3200,
      "renewalChargeCents": 4000
    }
  }
}

A create or replace never touches Shopify. Every replace stores draft n+1, and the live version keeps serving until a publish.

Before publishing, the simulator can price the draft against the live version, per order and per visitor, with the conversion lift it needs to break even. It is optional, and nothing it runs is stored.

A real cart signs off every price.

What the page shows is what checkout charges. Every visible option is checked on a real cart before it goes live, and a version that fails a check stays a draft while the live one keeps selling.

OF_DEV_KITS · v4 · Ritual Set · example verification (specimen data)

ResultCheckCovers
passedFirst chargecheckout charges $58.60, as promisedoption
passedGiftsthe gifts are freeoption
passedRenewalthe subscription renews at $80.00renewal
passedFree shippinga US order ships freeshipping
Status: matched · v4 verified as an experiment arm

Offers

OfferStatusVersionCart checkOrdersNet revenueMarginvs forecast30 days
OF_DEV_KITSchoose-your-kit-v1Livev3 · draft v4Match3/31,284$71,420.00$31,206.40+$2,628.409.2%
OF_DEV_RITUALritual-set-sub-v1Livev1Match1/1612$35,863.20$11,738.16−$617.805.0%
OF_MUG_GWPgift-with-purchase-v2Draftv2Not cart-verifiable2/3–––––
OF_FROTHER_BUNDLEbundle-and-save-v1Livev2Mismatch1/2208$14,559.00$4,021.30−$884.1018.0%
OF_BFCM_TRIPLEtiered-quantity-v1Draftv1Unverified0/3–––––
OF_SUMMER_STARTERchoose-your-kit-v0Retiredv5Match3/33,940$201,104.00$84,249.50––
OfferCart check
OF_DEV_KITSLive · v3 · draft v4matched3 of 3
OF_DEV_RITUALLive · v1matched1 of 1
OF_MUG_GWPDraft · v2unverifiable2 of 3
OF_FROTHER_BUNDLELive · v2mismatched1 of 2
OF_BFCM_TRIPLEDraft · v1not checked yet0 of 3
OF_SUMMER_STARTERRetired · v5matched3 of 3
Example: a design for the offers list. In the dashboard today, the list shows each offer's status, version, cart check and orders. The offers list, with each offer's cart check. Specimen data.

Live offers are re-checked on real carts on a daily rotation. Your team gets one email when pricing breaks and one when it is fixed.

878 carts

Offer Suite's prices matched what Shopify charged on 878 real dev-store carts.

Dev store, 28 September 2026

Show it three ways.

Offer Suite supplies the data, the cart and a theme block that draws the buy box; it never builds your page. Whoever renders the buy box gets the same served version, the prices the API computed, and each option's cart check, and the theme block will not sell an option a real cart has not matched. A browser SDK is not available yet: your developers call the HTTP API.

Three ways to show a verified offer, from no code to your own agent
WayWho does itHow
The Verified offer theme blockIn productionThe merchant, in Shopify's theme editor. No code.App Home's setup guide opens the theme editor with the block placed on a product template. Paste the offer's id into the block's text setting and, if you like, pick an accent colour. The store's public key is written for you.
Your developersIn productionYour front-end team, in your own markup or a headless storefront.GET /offers/{id}/resolve to draw the offer, POST /offers/{id}/price for any other selection, then POST /offers/{id}/cart for a checkout URL, or GET /offers/{id}/cart-input to send the cart to Shopify yourself.
Your agentIn productionYour agent, over MCP, with your workspace's key.resolve_offer, price_offer_selection and create_offer_cart: the same three steps as the API, one tool each.

OF_DEV_KITS · USD

How to buy

Subscribe
Then $80.00 every 30 days
$58.60first order
Buy once
One delivery, no renewal
$80.00once

Choose your kit

Single Bag
Then $40.00 every 30 days
$32.00Original price $50.00
Starter Kit
Then $60.00 every 30 days
$48.00Original price $80.00
Ritual Set
Then $80.00 every 30 days
$58.60Original price $125.00

First-order gifts

2 of 2 in this kit
First order$58.60
Free shippingThen $80.00 every 30 days
  • 1 × Ritual Setwas $80.00, now $58.60
  • 1 × Gift: Mugwas $18.00, now Free
  • 1 × Gift: FrotherFree

matched on a real cart, 2 October 2026

The dev store's offer, captured 2 October 2026. Every amount is one the API computed. No order is placed.

$58.60

A full paid order went through the Verified offer theme block on a Plus dev store (order #1033, $58.60). On a Basic-plan dev store the block's cart reached a checkout charging the $800.00 it showed; no order was placed there.

Dev store, 29 September 2026

After the buyer pays, one more offer can follow on Shopify's post-purchase page, added to the order in one click. Offer Suite charges exactly the option's price and books what it sold to its own offer, judged on contribution per view. It runs once the merchant picks Offer Suite for the store's post-purchase page.

More buyers is not more profit.

Put the new version against the live one on the same traffic. Each visitor is assigned an arm from their own id. Pass that id to resolve and the cart, and the page, the cart and the order all carry the version they were shown. The metric is realized profit per visitor, never conversion.

A price test is one kind of experiment: the challenger charges a lower price on one-time lines, shown at checkout as the product's own price.

OF_DEV_KITS · v3 against v4 · profit per visitor, realized, current costs · specimen data

ArmProfit per visitorConversionBuyersVisitorsTraffic
v3control$1.427.5%2,25030,00050.0%
v4challenger$1.687.0%2,10030,00050.0%
v4 winsv4 sells to 150 fewer people and earns $0.26 more per visitor, 18.3% above the live version. The whole 95% interval is above zero, so it can stop now: it was sized at 36,099 visitors per arm to catch a 10.0% lift, and the interval is valid at every look, not only at the end.
no change$0.10$0.42$0.26 per visitor

The interval is an always-valid confidence sequence, so reading the report hourly cannot manufacture a winner. Every arm's options are re-proved with real carts each day; an arm that stops matching pauses its experiment and everyone sees the live version again. Promoting the winner is still your call.

Your agent does the work. You approve it.

Claude, ChatGPT or your own agent. Offers start as drafts, and nothing goes live until every visible option passes a real Shopify cart check. Over MCP, publishing also needs confirm: true and refuses without it. Over the API, the publish call itself is the approval.

Offer Suite is not open yet; brands join the waitlist. Once invited, connect any MCP client to https://mcp.offersuite.io/mcp with your workspace secret key: 78 tools in production, one per operation of https://api.offersuite.io/openapi.json.

claude · offer-suite MCP6 tool calls · specimen data

  1. You asked: Which kit makes us the most per order?

    Tool call: get_offer_economics OF_DEV_KITS1.1s

    Starter Kit keeps the most on a first order: $20.38 (42.5%).

    Ritual Set keeps the most on a renewal: $49.60 (62.0%).

  2. You asked: Drop the frother from the Ritual Set gifts. Worth it?

    Tool call: simulate_offer OF_DEV_KITS · draft vs live v31.4s

    Ritual Set first order: $18.94 → $25.14.

    That is the frother's cost and one pick. The price is the same, so the fees don't move.

    Nothing was stored.

  3. You asked: Store it and publish it as an arm.

    Tool call: replace_offer OF_DEV_KITS · draft v40.9s

    publish_offer proves v4 on real carts as an arm.

    Live traffic stays on v3 until an experiment splits it. Publish? (y/n)

    You asked: y

    Tool call: publish_offer OF_DEV_KITS v4 · as arm · confirm1.2s

    Queued. run 8f2c1d04.

    Tool call: get_publish_run OF_DEV_KITS · run 8f2c1d042.1s

    Every option matched. Charged $58.60, promised $58.60.

    v4 is a verified arm.

  4. You asked: Test it against live, fifty-fifty.

    Tool call: create_experiment OF_DEV_KITS · v3 50% · v4 50%1.0s

    Running. 36,099 visitors per arm for a 10.0% lift.

Start with the math.

The calculators run the same margin engine as the product. The playbooks price common offers on sourced costs, the glossary defines every figure, and the comparisons say, with sources, where other tools win.

Every order, costed to the cent.

Offer Suite opens to Shopify brands a few at a time. Join the waitlist and we'll invite you when it opens to yours, or ask for a free profit audit of your past orders: realized profit per item and per offer option, and where margin leaks.