The Shopify Plus Profitability Problem: Why the Best Platform for Revenue Is Broken for Margin
Shopify Plus is the best platform for scaling ecommerce revenue. It's also structurally blind to profitability at the order level. Here's why — and what Shopify Plus merchants need to build around it.
The Shopify Plus Paradox
Shopify Plus is, by almost any measure, the best ecommerce platform for mid-market brands. It scales beautifully. The checkout converts at industry-leading rates. The ecosystem of apps and integrations is unmatched. The merchant experience is elegant.
But there's a paradox at the heart of the platform: Shopify Plus is engineered to maximize revenue. It is structurally blind to profit.
This isn't a bug. It's a design philosophy. Shopify's business model is tied to GMV — gross merchandise volume. They succeed when you sell more. Whether you sell profitably is, architecturally, not their problem.
For brands doing $1M–$50M on Shopify Plus, this creates a specific set of profitability challenges that the platform doesn't solve — and that most of the Shopify app ecosystem only partially addresses.
The Six Profitability Blind Spots
1. No Native Cost-of-Goods Intelligence
Shopify has a "cost per item" field. It's a static number. You enter it once. It doesn't update automatically.
For a brand with 500 SKUs, quarterly supplier price changes, and multi-supplier sourcing — this field is fiction within 30 days of being set.
What's missing: Integration with your ERP's cost data at the point of sale. Shopify doesn't know what your products actually cost right now. It knows what someone typed into a field at some point in the past.
2. No Order-Level Margin Evaluation
Shopify's checkout is optimized for one thing: conversion. It evaluates payment validity, inventory availability, and shipping options.
It does not evaluate profitability. It cannot tell you whether a specific order — with its specific items, discounts, shipping destination, and costs — meets your margin threshold.
What's missing: A margin calculation layer between "order placed" and "order shipped" that evaluates each order's true margin and can flag it or hold it before fulfillment.
3. No Dynamic Shipping Cost Awareness
Shopify offers shipping rate calculations through carrier-calculated rates or flat rate shipping. But these are customer-facing rates — what you charge the customer for shipping.
The actual cost to ship an order — which varies by zone, DIM weight, carrier, service level, and current surcharges — is not factored into any profitability calculation within Shopify.
What's missing: Actual freight cost calculation for each order, factored into a margin evaluation. An order to Zone 8 with a heavy, bulky item might cost $22 to ship — making a "profitable" order unprofitable.
4. No Discount Stack Governance
Shopify Plus allows discount codes, automatic discounts, and Shopify Scripts (until Shopify shut them down on June 30, 2026) or Shopify Functions for discount logic. But there's no built-in mechanism to calculate the total margin impact of combined discounts.
A customer can stack a welcome discount with a sale price and free shipping — and Shopify will happily process the order even if the combined discounts push margin to zero or negative.
What's missing: Discount governance — the ability to evaluate total discount impact against a margin threshold and catch the combinations that breach your profit floor before those orders ship.
5. No Multi-Store Profit Consolidation
Brands running multiple Shopify Plus stores (by region, brand, or channel) have no native way to consolidate profitability across stores. Each store is an island of partial data.
What's missing: A unified margin view across all stores that uses consistent cost data and shared profitability thresholds.
6. No ERP Feedback Loop
The Shopify → ERP integration (typically via Celigo for NetSuite) is a one-way accounting pipe. Orders flow to the ERP for fulfillment and financial reconciliation. But the ERP's cost intelligence — updated COGS, landed costs, vendor pricing — doesn't flow back to Shopify.
What's missing: A bidirectional connection where ERP cost data informs order-level margin decisions, and order data feeds back into the ERP for profitability analysis.
The Shopify Scripts Sunset: What Changed
On June 30, 2026, Shopify shut down all Ruby-based checkout scripts. It was one of the most significant platform changes in Shopify Plus history — and it affected profitability directly.
What Scripts Did for Margin
Many Shopify Plus brands used Scripts for margin-adjacent checkout logic:
- Discount caps: Preventing total discounts from exceeding X%
- Minimum margin enforcement: Blocking discount combinations below a threshold
- Dynamic pricing: Adjusting prices based on customer segment or order value
- Shipping rule enforcement: Applying specific rates based on order characteristics
- Bundle pricing protection: Ensuring bundle discounts maintained minimum margins
What Replaces Scripts
Shopify Functions is the official replacement. It runs in a WebAssembly sandbox and handles discount, shipping, and payment customization. But Functions have significant limitations compared to Scripts:
- No external API calls at runtime. Functions cannot query your ERP for COGS, call a shipping API for real-time rates, or check any external data source. They operate only on data Shopify provides.
- Limited execution context. Functions receive a defined input payload and must return within strict time limits with a defined output. Complex margin calculations that require cost lookups are architecturally impossible.
- No arbitrary logic. Functions are specialized: discount functions customize discounts, shipping functions customize shipping rates. There's no "evaluate this order against a profit floor" function type.
The gap: Shopify Functions solve the discount customization problem. They do not solve the margin governance problem. Brands that used Scripts for margin-aware checkout logic need a different approach to the margin part: one that runs outside checkout, where live cost data is available.
The Takeaway
The Scripts shutdown forced every Shopify Plus brand to rebuild its checkout logic. Rebuilding promotion rules in Functions keeps the status quo (minus some capabilities). The margin question, whether a specific order is worth shipping, was never something checkout logic could answer well. It is better handled after the order is placed, where live costs are available.
What Shopify Plus Merchants Actually Need
A Cost Intelligence Layer
A service that sits between your ERP and your Shopify orders. When an order is placed, it pulls current COGS from the ERP, calculates actual shipping costs, factors in discount stack impact, and returns a margin evaluation. Agentis does this within 60 seconds of each order, before anything is picked.
A Profit Floor Engine
Configurable rules that define minimum acceptable margin by product category, customer segment, order value, and channel. The engine evaluates each order against these rules and decides: approve, flag, or hold before fulfillment.
Enforcement That Doesn't Slow Conversion
Any margin evaluation must be invisible to the customer. If evaluation adds latency to checkout, it hurts conversion — defeating the purpose. The cleanest answer is to keep it out of checkout entirely: evaluate the order after it is placed and before it ships, so checkout speed is untouched.
A Clear Split From Your Checkout Rules
For brands that rebuilt their Scripts logic, a clear division of labor: promotion rules stay in Functions, and the margin check, with live ERP cost data that Scripts never had, runs on each placed order.
The Shopify Plus Profitability Stack
Here's what a complete profitability infrastructure looks like for a Shopify Plus merchant:
| Layer | Purpose | Current State | Target State |
|---|---|---|---|
| Cost data | Accurate COGS per SKU | Static field in Shopify | Real-time from ERP |
| Shipping costs | Per-order fulfillment cost | Flat estimates | Zone + DIM weight calculation |
| Discount governance | Stack limit enforcement | Scripts (shut down) or Functions | Margin-aware rule engine |
| Margin evaluation | Per-order profitability | Nonexistent | Per-order check within 60 seconds |
| Reporting | Profit visibility | Third-party dashboards | Predicted vs. actual reconciliation |
| Enforcement | Below-margin prevention | Manual review | Automated flag/hold before fulfillment |
Most Shopify Plus brands have the first two columns mostly covered. The third column — the target state — is where profitability lives.
Getting Started
Step 1: Know What Your Old Scripts Did
Audit your former Scripts. Document every checkout script you ran, its purpose, and its margin impact, and confirm each one was rebuilt in Functions, replaced by a different solution, or deliberately retired.
Quantify your margin gap. Use the Profit Calculator or run a manual analysis comparing your Shopify profit reports to actual P&L. Know the size of the problem.
Evaluate your ERP integration. Can your Celigo or custom integration feed cost data to an order-level margin check? How fresh is it? What data is available in real time vs. batch?
Define your profit floor. What's the minimum acceptable margin by category? By channel? By customer segment? You can't enforce a floor you haven't defined.
Step 2: Work With What Replaced Scripts
Your checkout customization is now limited to Functions + external services.
Don't try to force margin logic into Functions. Functions can't make external API calls. Margin evaluation requires cost data from outside Shopify. You need a separate evaluation layer.
Build or buy an order-level evaluation layer. This is a service that evaluates each placed order against your margin rules, using cost data from your ERP, shipping calculations, and discount analysis, before it ships.
Start with monitoring, then enforce. Flag below-margin orders for two weeks before holding them automatically. Validate that your cost data and margin calculations are accurate before automating enforcement.
The Platform-Level Truth
Shopify Plus is a revenue platform. It's exceptional at what it does. But it wasn't built to answer the question: "Should this order be allowed to ship?"
For brands growing past the point where every order is inherently profitable — which happens somewhere between $1M and $5M in revenue — the answer to that question is the difference between scaling revenue and scaling profit.
The platform won't solve this for you. The app ecosystem partially addresses it. True margin governance requires a purpose-built layer that bridges your cost intelligence (ERP) and your revenue engine (Shopify) at the only moment that matters: after the order is placed and before it ships.
Book a free profit audit to see how much margin your Shopify Plus orders are currently leaking.