AI systems for Shopify brands doing $3M–$30M

You pay for the enterprise tier. Use it.

Shopify Plus starts at $2,300 a month and runs $75,000–$135,000 a year all-in once apps, agencies and transaction fees are counted. Functions, Flow, B2B and checkout extensibility are inside that price whether anybody at your company has opened them or not — and the half of your operation that lives outside Shopify, which Flow was never built to reach, is where the agents go.

  • $2,300

    a month — where Shopify Plus starts, on a three-year term

  • $75k–$135k

    a year, all-in, to run Plus at $1–2M GMV

  • ~47,000

    brands on Plus, paying for the same feature set

Sources: Shopify published pricing; Pointerflow affordability research; third-party merchant-count estimates.

  • Shopify Functions
  • Shopify Flow
  • Checkout extensibility
  • B2B on Plus
  • Expansion storefronts
  • Higher API limits

We know your numbers

The first five rows are what Plus costs. The sixth is how many other brands pay it. The last two are the ones that decide whether any of it was worth paying, and only you can fill them in — which is rather the point.

Shopify Plus cost, and the two figures only you can fill in
MetricFigureSource
Plus platform fee, three-year term$2,300/moShopify published pricing
Plus platform fee, one-year term$2,500/moShopify published pricing
All-in cost of running Plus at $1–2M GMV$75k–$135k/yrPointerflow affordability research
All-in cost at $5–10M GMV$240k–$570k/yrPointerflow affordability research
All-in cost at $50M GMV$1.5M–$2.2M/yrPointerflow affordability research
Brands on Shopify Plus~47,000Third-party merchant-count estimates
Shopify Functions live in your accountmetric to confirm — count them
Shopify Flow workflows actually runningmetric to confirm — count them

Platform-fee rows are Shopify’s published pricing. All-in figures are our own affordability research and count apps, agency retainers and platform transaction fees, not the licence alone — which is why leaving Plus moves the total less than people expect. The merchant count is a third-party estimate. The last two rows stay em dashes until somebody counts them in your account; the audit does that in week one.

If those last two numbers are low, nothing on this page is a criticism of your team. Configuration work has no deadline attached to it, so it loses every week to work that does.

Four things you are paying for twice

Each of these is a capability inside the Plus fee that is being bought a second time — as an app subscription, an agency line item, or somebody’s Tuesday.

Nobody has ever written a Function

Functions are the supported way to change how Shopify itself behaves: tiered pricing that kicks in at twelve units, a delivery option that disappears over 20kg, a payment method hidden from first-time customers, order routing that picks the right warehouse. They run server-side, they are written in JavaScript or Rust compiled to WebAssembly, and they are inside the fee you already pay.

Ask who wrote your last one. If the answer is nobody, then two things are true at once: you are paying a monthly app fee for at least one behaviour a Function does natively, and you have told a customer “Shopify can’t do that” about something Shopify can do.

Nothing about this is an AI problem, and it is worth saying so plainly on a page like this one. A Function that hides a payment method over a threshold should never consult a model — it is a compiled rule with a deployment pipeline and somebody who has written one before. The work here is engineering, not intelligence.

Flow is installed and running two workflows

Tag the high-value customers, email somebody when stock runs low. That is where most Flow accounts stop — while a person in ops holds flagged orders by hand, chases 3PL exceptions in a spreadsheet, re-tags orders so the fulfilment rules fire, and copies the same figures into a Monday report.

Flow is honest about its limits: it reaches Shopify’s own objects well and everything outside Shopify badly. So the real build is a split — Flow for what lives in the platform, and a self-hosted automation layer on a VPS in your own hosting account for the half of your operation that lives in the 3PL, the helpdesk, the ERP and the spreadsheet.

That second half is where the agents belong, and they are specific things rather than a capability: one that reads the Shopify order, the subscription record and the 3PL’s tracking event and answers “where is my box” from the actual fulfilment record instead of a template with a tracking link in it; a nightly job that compares Shopify against the 3PL against the ad platforms and reports only the rows that disagree; a draft purchase order — quantities, costs, dates — landing in Slack for a human to send. Each of them reaches its systems through a tool we wrote, scoped and logged. No shared admin login, no screen-scraping, no unbounded access.

The checkout migration stopped at parity

Checkout extensibility replaced checkout.liquid, the migration got scheduled against a deadline, and the brief was “make it look like it did before”. Which it does. Nothing was added, because adding things was not what the deadline was for.

The checkout is the highest-intent page you own and the least edited. Address validation that stops the bad address before it becomes a failed delivery and a WISMO ticket. A post-purchase offer after the payment is captured, where the AOV lift is 5.6% on average across more than 40,000 merchants (vendor-reported, ReConvert). A PO-number field for wholesale buyers. A subscription upsell at the moment somebody is already buying the thing.

The targeting is where this stops being an app install: which customer sees which offer, decided from the order they are in the middle of placing and the history behind it, rather than one offer shown to everybody because that was the setting available.

B2B and the extra storefronts are still in the box

Wholesale is running on email, a shared inbox and manual invoices, or on a second platform at a second monthly fee — while B2B on Plus sits unopened with company profiles, per-customer price lists and payment terms in it. Expansion storefronts are included in the plan and are usually either unused or spun up once and left to drift out of sync with the main catalogue.

Drift is the interesting half, because it is the one that never gets scheduled. Keeping several storefronts, markets and marketplace feeds true to one source of truth means generating the fields nobody has time to write — titles, attributes, specification tables, alt text — and writing them back through the Shopify Admin GraphQL API in batches you can roll back if the result is wrong. That is a job for a system. Doing it by hand is a job for a person who will eventually stop.

This is the pattern under all four: the capability was bought, the configuration was never done, and the gap gets filled by an app subscription or a person doing it by hand. Both of those are recurring costs sitting on top of a recurring cost.

The enterprise tier is not a status. It is a set of tools with a licence fee attached, and the fee is charged whether or not the tools are switched on.

What we build for Plus brands

In your Shopify org, in your repo, on your automation server, documented as we go — and on published price ranges, so you know the number before the scoping call.

  • Ops automation Flow for what lives inside Shopify, and n8n on your own VPS for the 3PL, helpdesk and ERP work it cannot reach — with an MCP tool definition written per system, each one scoped and logged so an agent reads what it needs and writes only what it should. The measure is hours off your team’s week, not workflows shipped.
  • Post-purchase & AOV Checkout and post-purchase extensions built rather than installed: targeted one-click offers decided from the order in front of them, address validation that stops the bad address before it becomes a failed delivery, custom fields, and the rules that decide who sees what.
  • Catalog & feeds One catalogue that stays true across expansion storefronts, markets and marketplace feeds — enrichment generated from your source of truth and written back through the Admin GraphQL API in batches you can roll back, so a price change in one place is not three tickets in three others.
  • Reporting & analytics Post-COGS profit by channel and by storefront on one screen, sitting on a nightly reconciliation that compares the platforms against each other rather than trusting any one of them, and a scheduled summary that arrives without anybody logging in.
  • Payment recovery If you bill on a schedule as well as one-off, the ladder that routes on the decline code — retrying what is worth retrying, sending an expired card straight to a one-tap update page — is usually the fastest money on the whole list.
  • Customer service AI The same six questions answered from live order state and written back into Shopify — order edits, address changes and cancellations that actually take effect — with the intents the agent must never answer written down and enforced before anything goes live.
  • AI search visibility Structured data, comparison pages and third-party surfaces, so the model naming brands in your category names yours — measured with a fixed prompt set run on a schedule across ChatGPT, Gemini, Perplexity, Claude and AI Overviews rather than by anecdote. The pattern that works today is discover in AI, buy on site — in-chat checkout was withdrawn in March 2026, so anything sold to you as agentic-checkout readiness is readiness for something that is not currently there.
  • AI agents & automation The layer that connects the stack: the runtime, the tool definitions and the agents on top of them, self-hosted on your own infrastructure with your credentials and your backups — so the automation bill stops scaling with your order count and nothing you depend on lives in an account we control.

The order matters more than the list does. An agent reading a catalogue where a third of the fields are stale, or a 3PL feed nobody reconciles, will produce confident wrong answers faster than a person could — so the reconciliation comes first and the agent second, and we say so in the audit rather than sell the agent anyway.

What this looks like from the outside

A good deal of a Plus setup is legible from the outside: what the checkout offers, what the post-purchase page does, how the storefronts differ, what the wholesale path asks a buyer to do, and what a model says when you ask it to recommend a brand like theirs. We buy the product, document it end to end and publish what we find.

Client results

metric to confirm

We have nothing of our own to publish yet, so there is no number here. When there is, it will arrive with the baseline it was measured against. Until then the teardowns are unaffiliated: the same analysis, run on brands who did not ask for it.

Read the teardowns →

Questions from Plus brands

We’re on Plus doing $3.5M. Is Plus even worth it at our size?

The licence is the smaller half of the question. At $1–2M GMV the platform fee is a minority of the $75k–$135k a year it actually costs to run Plus once apps, agency retainers and transaction fees are counted, so leaving Plus rarely moves the number people hope it will. The better question is whether the included capability — Functions, Flow, B2B, checkout extensibility, the extra storefronts — is being used at all. If it is not, that is a configuration problem worth fixing before it is a plan problem worth escalating.

Do you actually write Shopify Functions, or do you install an app?

We write them. Functions are code — JavaScript or Rust compiled to WebAssembly, deployed through the Shopify CLI, running server-side in the checkout — and they are the supported replacement for the old Scripts. An app is the right answer sometimes, and when it is we will say so and tell you which one. It is not the right answer as often as your app bill suggests.

Where does the AI actually sit in a Plus build?

Not where the category implies. Functions and Flow are deterministic and stay that way — a Function that hides a payment method over a threshold should never consult a model, and a rule is cheaper per run, testable and incapable of inventing an answer. A model earns its place where the input is genuinely unstructured: an inbound ticket in a customer’s own words, a supplier’s PDF, a product description that has to be written rather than looked up, a review that needs a reply. The agents sit above the Shopify boundary — reading the order, the subscription record and the 3PL event through tools we wrote and scoped — and anything they do that touches money is drafted for a person to send.

We migrated to checkout extensibility and lost customisations. Can we get them back?

Usually, though not as the same thing. Most of what checkout.liquid used to do is now a checkout UI extension, a Function, or a Flow trigger, and rebuilding it deliberately tends to produce something better targeted than the version that was lost — because the original was written years ago against constraints that no longer exist. The audit lists what went missing and what each piece would cost to bring back.

Can you work in Flow, or do you insist on your own tooling?

Flow first, wherever the work stays inside Shopify — it is included, your team can read it, and it does not add a vendor. When a workflow has to reach the 3PL, the helpdesk, the ERP or a spreadsheet, we build that half on a self-hosted automation layer and hand you the credentials. The split is documented so nobody has to guess later which system owns which step, and so does the boundary between the two: what runs as a rule, and the much smaller set of things a model is allowed to decide.

Our theme agency owns the storefront. Where do you stop?

At the systems layer. We do not do brand or theme design, and we are not trying to inherit the storefront — we work in Functions, Flow, checkout extensions, the subscription platform, the data layer and the automation layer, alongside whoever owns the front end. We document every change so your agency can see what moved and why.

We’re on standard Shopify, not Plus. Is any of this relevant?

Some of it is Plus-only — B2B, expansion storefronts, the wider checkout-extension surface. Most of the rest is not: the ops automation, reporting, payment and lifecycle work runs on any Shopify plan, and so does the agent layer, which sits outside Shopify by design. The floor we publish is about scale rather than tier: $3M+ annual revenue, on Shopify Plus or running a paid subscription platform.

Who owns what you build?

You do. Everything is built in your accounts — your Shopify org, your Flow, your repo, your automation server, your model API keys — and documented as we go. If we part ways, nothing has to be rebuilt and nothing is hosted somewhere you cannot reach. That is deliberate, and it is the main reason we publish price ranges instead of retainers with lock-in built into them.

How do you decide what to do first?

The audit does. Two weeks, $1,500–$3,000 fixed, credited in full against any build — an inventory of what Plus is giving you that nobody is using, what each gap costs in dollars or hours, and the order to fix them in. If we cannot find recoverable revenue worth more than the audit fee, we refund it.

Find out what you’re losing.

Before you commit to anything, we tell you exactly what you’re losing and what it costs to stop it. Two weeks. Fixed fee. Credited in full against any build you go ahead with.

Fee
$1,500–$3,000, fixed
Duration
Two weeks
Credited
In full, against any build
You supply
Read access + one 45-minute call