App Metafield Namespaces: What Switching Off a Function Costs
Switching a Shopify Function's lane costs the configuration rather than the code, so this one DEPENDS on where that configuration lives. Function settings sit in metafields namespaced to the app that wrote them, and Shopify tells developers to use a reserved prefix so other apps can't use their metafields. Budget a rebuild of rules, not a migration. ShipperHQ alone lists 50 shipping rules on its top tier at $600/month (verified Sep 2026).
Your profile — see how the verdict shifts
- Confidence
- Medium — One Shopify sentence carries this page, quoted from the functions metafield guide and re-read on 2026-09-05: you should use a reserved prefix in your metafield namespace, so that other apps can't use your metafields. The guide illustrates the pattern with an app-scoped example namespace throughout. That is guidance to developers rather than a platform-enforced wall, and the distinction matters, so treat it as the convention every serious app follows rather than a lock Shopify applies for you. Verification also removed a claim that would have made this page stronger and is not supported: the assertion that apps can reference only their own functions in GraphQL Admin API mutations does not appear on that page after two targeted full-text searches, so this page does not make it. Confidence is Medium because the lock-in framing is our synthesis of two verified facts rather than a single Shopify statement. What is solid is the practical consequence. No export or import path exists between one app's function configuration and another's, and the second verified fact sets the scale of the problem: an app version release replaces the current active version served to installed stores, so the switch itself is instant while the data entry behind it is not. On the vendor side, the two live listings read the same day are Bold Discounts (4.0★, 477 reviews) and ShipperHQ (4.7★, 73 reviews), whose top tier lists 50 shipping rules. The build lane assumes Shopify Plus, since only stores on a Shopify Plus plan can use custom apps that contain Shopify Function APIs.
- Reference scenario
- $20M–$100M GMV · Shopify Plus · a discount or shipping rule set currently in a vendor app, with in-housing under discussion · agency or in-house dev bench
- As of
- September 2026
Decision at a Glance
| Your profile | Verdict | Why |
|---|---|---|
| Not on Shopify Plus | BUY | Only stores on a Shopify Plus plan can use custom apps that contain Shopify Function APIs, so there is no build lane to switch to. Lock-in is not the decision here; availability is. |
| Plus · a handful of rules, rarely edited | BUY | Re-entering 5 rules into a different app is an afternoon. Switching cost this low is not a reason to build, and a vendor's screen beats a form you have to maintain. |
| Plus · dozens of rules encoding real commercial policy | BUILD | At ShipperHQ's Advanced tier the rule count reaches 50 (verified Sep 2026). Rules at that scale are the asset, and they belong in a namespace you can query and export. |
| Plus · already deep in a vendor app, considering in-housing | DEPENDS | The code is weeks; the configuration re-entry and the parallel run are the schedule. Price both before committing, because nothing moves the vendor's rules across for you. |
What Function Switching Cost Actually Drives
| Outcome | Impact | How it works |
|---|---|---|
| Operational efficiency | High | Rules held in a namespace you can query are editable, auditable and exportable by your own team, where a vendor's configuration is reachable only through that vendor's screen. |
| Revenue — direct | Medium | Shipping and discount rules decide what a shopper pays, so a rule set that outgrows its tier caps either costs a price step or gets simplified in ways that cost margin. |
| Data & insight | High | Rules stored as your own metafields sit alongside orders in the Admin API, so the policy in force during any period is recoverable rather than lost with an uninstall. |
| Customer experience | Low | Shoppers never see which lane applies a rule; the switching cost is an internal cost that surfaces to them only during a botched cutover. |
Spend ceiling: Size the spend to the rule count, not the subscription. Below roughly a dozen rules the switching cost is an afternoon and the vendor wins. Past 50 rules, re-entry is a project with sign-off, and owning the namespace is worth a build that pays for itself in optionality rather than in monthly savings.
What buying enables (top apps)
- + Carrier logic, rate rules and promotion scheduling configured through a maintained interface, live in days
- + Vendor-side upkeep of carrier integrations and Shopify API versions, which is the recurring work a build hands to your team
- + A rule engine that already handles the edge cases your team has not thought of yet
What building additionally unlocks
- + Rules as data in a namespace you control, exportable through the Admin API on demand rather than on a vendor's terms
- + No tier cap on rule count, carriers or origins, so commercial policy stops being shaped by a pricing page
- + The option to change lanes later while keeping the configuration, which is the whole point of owning the namespace
- + Rule history that survives an uninstall, queryable alongside the orders it priced
Find Your Verdict in 3 Questions
Is every store that needs this rule on Shopify Plus?
Yes: Go to question 2.
No: Your verdict: BUY — custom apps containing Shopify Function APIs are Plus-only, so the build lane isn't available on those stores.
Does the rule set run to more than a dozen rules that change with commercial policy?
Yes: Your verdict: BUILD — rules at that scale are the asset, and they belong in a namespace you can query and export.
No: Go to question 3.
Would re-entering the whole rule set by hand cost less than a week?
Yes: Your verdict: BUY — switching cost that low is not a reason to own a rule engine.
No: Your verdict: DEPENDS — price the rule migration and a parallel run alongside the build before choosing either lane.
The TCC Scorecard — 12 Dimensions
TCC — Total Cost of Capability: what it actually costs to have this capability over three years, whichever way you get it. Each dimension is scored 0–5 for both paths. How we score →
| Dimension | Buy | Build | Why |
|---|---|---|---|
| Cost | |||
| Acquisition & implementation | A rules app installs and configures in days; a function plus its settings surface is a custom app, a metafield schema and a test suite. | ||
| Recurring fees | ShipperHQ runs $75/month to $600/month by tier and Bold's Essentials is $19.99/month (verified Sep 2026); a function you own carries no subscription. | ||
| Maintenance & upgrades | The vendor tracks API versions and carrier changes; your function needs version bumps and a re-test whenever the rules or the platform move. | ||
| Switching & exit | The decisive row: a vendor's rules live in its own namespace with no export path, so leaving means re-entering every rule by hand. | ||
| Risk | |||
| Vendor risk | Review bases of 477 and 73 are modest for rule engines carrying commercial policy, and one listing in this category has already been renamed. | ||
| Security & compliance surface | Rules held as metafields never leave Shopify, where a vendor's rule engine is one more system holding your pricing and eligibility logic. | ||
| Platform-deprecation exposure | Metafields and functions are current platform primitives, and a namespace you own outlives any single app's roadmap decisions. | ||
| Value | |||
| Fit to requirement | Vendor tiers cap rules, carriers and origins by price; a function you write expresses whatever policy your commercial team actually agreed. | ||
| Time to market | Live in days against 4–8 weeks for a function with a settings surface and tests (Deploi estimate, illustrative). | ||
| Performance & scale | Both lanes run inside the same function budget, and metafields above 10,000 bytes are not returned to an input query either way. | ||
| Data ownership & AI-readiness | Rules in your own namespace are queryable through the Admin API and exportable on demand; a vendor namespace is readable only through that vendor. | ||
| Focus & opportunity cost | Owning a rule engine is real ongoing work, and worth it only when the rules themselves are the thing competitors can't copy. | ||
The App Landscape
| App | Status | Pricing | Best for |
|---|---|---|---|
| ShipperHQ: Shipping & Checkout | Live — 4.7★, 73 reviews. Tiers are defined by rule count as much as by carriers: 5 shipping rules on Essentials, 20 on Standard, 50 on Advanced, alongside origins and monthly order caps. Included here because the rule count is the switching cost made visible. Every one of those rules lives in the app's own configuration, and nothing exports them into a function you write. | Essentials $75/month (2 carriers, 5 shipping rules, 1 advanced feature, 1 origin, 200 orders/month); Standard $350/month (4 carriers, 20 rules, 3 advanced features, 4 origins, 1K orders/month); Advanced $600/month (6 carriers, 50 rules, 4 advanced features, 8 origins, 2K orders/month); 15-day free trial on all plans; no free plan (verified Sep 2026) | Complex carrier and rate logic a merchant would rather configure than write |
| Bold Discounts — Flash Sales | Live — 4.0★, 477 reviews. Scheduled sales, countdown timers, auto-tagging and unlimited sale groups, with the promotion calendar held in the app's own configuration. The free plan is labeled for development shops only rather than live stores, so Essentials is the real entry price. The listing has been renamed at least once, which is worth noting in any internal documentation that points at it. | Free (labeled for development shops only, not live stores); Essentials $19.99/month with a 14-day free trial (verified Sep 2026) | Promotion scheduling a merchandising team runs without engineering |
| Own function with an owned metafield namespace (custom app) | Build lane — Your function's rules held in metafields under a namespace you control, readable and exportable through the Admin API at any time. Shopify's guidance is to use a reserved prefix so other apps can't use your metafields, which cuts both ways: it protects your data and it is why a vendor's rules never arrive in your namespace. Requires Shopify Plus, since custom apps containing Function APIs are Plus-only. | $12,000–$32,000 one-time for the function, settings surface and rule migration plus upkeep (Deploi estimate, illustrative) | Plus merchants whose rule set is large enough that owning it beats renting it |
The Build Path
- Count the rules before you cost the code: Export or screenshot every rule currently live in the vendor app, including the ones nobody remembers adding. ShipperHQ's tiers put 5, 20 and 50 rules at three price points, which is a useful yardstick for what a real rule set looks like. The count, not the complexity, is what decides whether a switch takes a sprint or a quarter.
- Design the namespace as if you will be leaving it too: Shopify's guide illustrates the pattern with an app-scoped namespace written as $app:my-function, so verify which namespace your current app actually writes into before planning any move. Give your own settings a stable, documented namespace and one metafield per decided value. Keep every value under 10,000 bytes, since larger metafields are not returned to a function's input query.
- Run both lanes in parallel before you cut over: Keep the vendor app active and let your function run in shadow, producing results you compare rather than apply. Discrepancies are the rules nobody documented. Only when the two agree across a week of real carts should the vendor app come out, and even then keep its configuration exported somewhere you can read.
- Treat the release itself as the easy part: Releasing an app version replaces the current active version served to stores that have your app installed, and you can revert to a previous app version at any time. The cutover is minutes. The data entry, the parallel run and the sign-off on edge cases are the weeks, and every plan that gets this backwards runs late.
- Effort band
- $12,000–$32,000 for the function, its settings surface and the rule migration behind it — Deploi estimate (illustrative); lands in the $25–75K contact-form band once the rule count runs into the dozens
- Typical timeline
- 4–8 weeks for the build, plus a parallel-run period proportional to the rule count (Deploi estimate, illustrative)
- Maintenance, honestly
- ~15–20% of build cost per year (Deploi estimate): roughly $1,800–$6,400/yr (Deploi estimate, illustrative) for API version bumps, rule changes and re-testing when commercial policy moves.
- What you own — and what you take on
- You own: the rules as data in a namespace you control, the function that applies them, and the ability to export the whole set on any Tuesday. You take on: a Shopify Plus dependency, the rule engine's ongoing upkeep, and the edge cases a vendor used to absorb quietly.
3-Year Total Cost of Capability
| Buy (app path) | Build (custom path) | |
|---|---|---|
| Year 0 (setup) | $0–$2,000 (illustrative) | $12,000–$32,000 (Deploi estimate, illustrative) |
| Years 1–3 (recurring) | $720–$12,600 (illustrative) | $5,400–$19,200 (maintenance, Deploi estimate) |
| 3-year total | ≈$720–$14,600 (illustrative) | ≈$17,400–$51,200 (Deploi estimate) |
- † All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
- † Left column holds one rules app at a mid tier, flat for three years, and excludes the cost of re-entering rules if you later leave it.
- † Right column is one custom function with a settings surface and a rule migration; three-year horizon.
What the Sticker Price Hides
On the buy path
- — Vendor tiers meter the rule count itself, so growth in commercial policy shows up as a price step from $75/month to $600/month (verified Sep 2026)
- — No export path exists between one app's function configuration and another's, so every rule leaves by hand or not at all
- — A renamed listing quietly breaks internal documentation, and this category has already produced one rename
- — Bold's free plan is labeled for development shops rather than live stores, so the working entry price is $19.99/month (verified Sep 2026)
On the build path
- — The rule migration, not the function, is the schedule: a 50-rule set is a project with sign-off, not a data-entry afternoon
- — Shopify Plus is required on every store that installs the custom app, which makes an expansion-store rollout a plan-level question
- — Metafields with values exceeding 10,000 bytes are not returned to a function's input query, which caps how much rule data one field can carry
- — ~$1,800–$6,400/yr upkeep (Deploi estimate, illustrative)
What Merchants Say
Ecommerce leads describe discovering the switching cost at the wrong moment: the decision to in-house was made on subscription price, and the quarter went on re-entering rules nobody had documented.
The recurring rules-app complaint is the tier boundary rather than the software: the rule count, carrier count or origin count runs out before the commercial policy does.
If You Change Your Mind Later
If you bought and outgrow it
Uninstalling a rules app takes its function and its namespaced configuration with it, and every rule stops applying that day. Export or document the full rule set at install time rather than at exit, because the vendor's screen is the only place it exists in readable form.
If you built and want out
Rules in your own namespace stay on the store after the function is removed, exportable through the Admin API and readable by anything else you run. Re-entering them into a vendor app later is still manual, but you leave holding the data. Shopify Plus remains the dependency that does not travel.
When This Answer Changes
We're watching for:
- ▸ Any Shopify mechanism for transferring metafield ownership between apps, which would turn today's rebuild into a migration
- ▸ A vendor in this category shipping a genuine rule export, which would cut the switching cost on the buy side substantially
- ▸ Changes to the 10,000-byte metafield ceiling, which shapes how much rule data a single function-readable field can hold
Verdict change log:
No changes since first publication (September 2026).
Common Questions
Can you export a Function app's configuration into another app?
No native export or import path exists between two apps' function configurations. Shopify tells developers to use a reserved prefix in a metafield namespace so other apps can't use their metafields, which is the isolation that makes migration manual. Re-entering rules by hand is the real cost: ShipperHQ's Advanced tier alone lists 50 shipping rules (verified Sep 2026).
What actually gets stranded when you uninstall a Function app?
Configuration is what gets stranded. Uninstalling a function app removes its function and the metafields it owned, so every discount rule, shipping condition and eligibility list it held stops applying. Orders already placed keep their history, and products keep their own metafields. The rules themselves have no home outside the app that wrote them, which is why 50 of them is a project.
Does building your own Function avoid lock-in?
Building moves the lock-in rather than removing it. Your own function's settings live in a namespace you control, readable and exportable through the Admin API whenever you want, which no vendor namespace is. The dependency you take on instead is the plan: as of September 2026, only stores on a Shopify Plus plan can use custom apps that contain Shopify Function APIs.
Your Next Steps
If you're going with BUILD
- Export or screenshot every live rule in the vendor app, including the ones nobody remembers adding
- Define your own metafield namespace and document it, one field per decided value, each under 10,000 bytes
- Run the new function in shadow against the vendor app for a full week of real carts
- Reconcile every discrepancy before cutover, since each one is a rule that was never written down
- Confirm Shopify Plus on every store that will install the custom app, expansion stores included
If you're going with BUY
- Ask the vendor, at signup, what an export of your rule configuration actually contains
- Keep an external record of the rule set that stays current, not a screenshot from install week
- Check which tier your rule count lands in before growth pushes it into the next one
- Diary a re-decision when the rule count doubles or the tier price steps
Official Docs & Sources
- Metafields for function input queries — shopify.dev
- Function settings component — shopify.dev
- App versions: release and revert — shopify.dev
Official documentation linked for verification — our verdicts and estimates are our own.
Related Decisions
Build or Buy Observability for Checkout Functions on Shopify?
Shopify documents 12 function error types and stores each run in the Dev Dashboard, but no default alert tells you a checkout function has started failing.
Do Customer Accounts Follow Shoppers Across Plus Stores?
Each Plus store keeps its own customer records, so accounts don't follow shoppers between stores. Multipass rides legacy accounts Shopify deprecated.
Should You Build or Buy Cross-Store Staff Access on Plus?
Custom organization-level roles give one staff login reach across a Plus organization. No app grants staff access across stores; below Plus, every store is separate.
Customer Account API vs. a Custom Login System on Headless?
Shopify's Customer Account API authenticates buyers on headless. A custom login build costs six figures, and legacy accounts are deprecated since February 2026.
Build or Buy Performance Monitoring & App Audits on Shopify?
Measurement is free on Shopify; storefront speed comes from an audit-and-remediation program, not a speed app.
Weighing a switch off a rules app?
We count the rules first, run your function in shadow against the vendor's for a week, and cut over only once the two agree — so the switching cost lands in a plan instead of a surprise.
Contact us todayVerdict scored for the reference scenario above. Estimates are not quotes; app pricing carries its verification date and gets re-verified quarterly. Full scoring anchors: see the TCC methodology.
Read how we score these decisions (the TCC Framework). No affiliate links, no paid placement — no app vendor pays to appear here.