Tell us about your storeContact
Case study 02 · Live shipping rate engine and checkout extension

Shipping rates that pay for themselves.

How a Shopify Plus store moved shipping from break-even to a 15 to 20% margin with a live rate engine, a checkout extension and a per-order P&L, while checkout conversion stayed flat.

15 to 20%shipping margin after launch, from break-even
Flatcheckout conversion, monitored at checkout level
6 + 1international zones plus domestic tiers, priced live

The problem

Shopify's built-in rates are static tables. The store's shipping costs weren't: they depended on weight, destination, carrier surcharges and the day of the week, and the store was charging roughly what shipping cost, sometimes less. Mixed carts, own-warehouse items plus dropship items, shipped in two parcels, and nothing at checkout said so, which came back later as support tickets.

And nobody could see, per order, what had been charged for shipping against what the label actually cost. Without that number, every rate change was a guess.

Role and constraints

Bart Grudka designed and built the engine, the checkout extension and the embedded admin, then tuned the rates from the daily numbers. CANDEV builds the same stack for clients on Shopify Plus.

  • Carrier Service API responses have to come back inside Shopify's checkout timeout, every time.
  • One delivery-estimate line in checkout, controlled by the engine, not two competing ones.
  • Rates must stay editable by the team without a deploy.
  • Checkout conversion must not move. Margin only counts if the funnel holds.

How it works

Checkout Shopify Plus Checkout UI extension mixed-cart notice Rate engine FastAPI on Cloud Run Rate config tiers, bands, zones, holidays Embedded admin rates editor, per-order P&L Orders webhook stamps the promised date Shipping platform real label costs Daily P&L report margin by tier Carrier Service API rates + window edit without deploy tune
Built for this systemExisting platform or partnerA person decides
1Rates

Checkout calls the Carrier Service API. The engine prices the cart from weight, tier, destination zone and state surcharges, and returns rates with a delivery window that respects cutoffs and holidays.

2Config

Tiers, weight bands, zones, surcharges, free-shipping rules and the holiday calendar live in Postgres and are edited in the embedded admin, no deploy needed.

3Mixed carts

A Checkout UI extension classifies the cart and shows a neutral 'arrives in 2 shipments' notice when items come from different sources.

4Promise kept

An orders webhook stamps the delivery estimate shown at checkout onto the order, so 'did we promise that date?' always has an answer.

5P&L

Real label costs come back from the shipping platform and meet what the customer was charged, per order, in the admin. A daily report shows margin by tier, and the rates get tuned from it.

Rollout

The engine ran next to the old tables first, returning rates to a test cart. The extension shipped separately. Once live, the first week's P&L showed one tier losing money on heavy parcels; the band ladder was fixed in the admin the same day, without a deploy.

Results, and how they were measured

MeasureBeforeAfterWindow
Shipping margin on paid ordersBreak-even, at times below15 to 20%daily P&L on every shipped order since launch
Checkout conversionBaselineUnchangedmonitored at checkout level through the change
Two-parcel ordersNo noticeNotice at checkoutsince the extension launched

Margin is charged shipping against real label cost per order, free-shipping orders excluded. Conversion was read at the checkout step, not site-wide, so a price change that scared people off at the shipping step would have shown up. No dashboard screenshots here by design: the store's figures stay private, the architecture and the deltas don't.

What it took

Checkout UI ExtensionsCarrier Service APIApp BridgeReact Router 7FastAPIPostgresShipStation APICloud Run
Have the same problem? Tell us what's manual, what's breaking, what Shopify won't do. One email is enough to start. We reply within one business day with questions or a plan.