Merchant-Editable Function Settings or Hardcode and Redeploy?

Written by Deploi EditorialReviewed by Martin Dejnicki, Director of SEO & AI SearchUpdated September 2026Pricing verified September 2026

Building a settings UI is the CUSTOMIZE answer: Shopify's function settings component configures metafield settings for Shopify Functions and integrates with the native save bar, so merchants change a threshold without a developer. Hardcoding costs one app version release per tweak, and 8 promotion changes a year is where that stops being cheap. Build the settings layer once.

Your profile — see how the verdict shifts

VerdictCUSTOMIZE (write the function yourself, and give it a settings surface merchants can edit) · function settings are metafields rendered by an admin UI extension · BUY when a listed app already ships both the logic and the screen
Buy score
6.4
Build score
7.8
Confidence
HighShopify's admin extensions reference states the component's job in one sentence, re-read on 2026-09-05: the function settings component configures metafield settings for Shopify Functions. A second sentence explains why building the screen is cheaper than it looks: the component provides a standardized layout for settings forms and integrates with the native save bar to handle form submission and reset actions automatically. Save-bar behavior, validation layout and reset are not work your team writes. The cost of skipping it is documented on the other side of the platform, in Shopify's app versions page: releasing an app version replaces the current active version that's served to stores that have your app installed, and you can revert to a previous app version at any time. Every hardcoded threshold change is therefore a release, not an edit. Two metafield limits shape the design and both come from the functions documentation: metafields with values exceeding 10,000 bytes in size will not be returned to the input query, and the input query has a maximum size of 3000 bytes excluding comments with a maximum calculated cost of 30. On the app side, the two live listings read the same day are Bold Discounts (4.0★, 477 reviews) and CBB Shipping Rates Calculator (4.6★, 208 reviews, Built for Shopify), and Bold's free plan is labeled for development shops rather than live stores. The build lane assumes Shopify Plus, because 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 delivery function whose thresholds change with the promotion calendar · agency or in-house dev bench
As of
September 2026

Decision at a Glance

Your profileVerdictWhy
Not on Shopify PlusBUYOnly stores on a Shopify Plus plan can use custom apps that contain Shopify Function APIs. A listed app arrives with its logic and its settings screen already built.
Plus · logic set once and rarely revisitedBUILDA rule nobody edits doesn't need an editor. Hardcode the value, ship the function, and spend the settings budget on something a merchant will actually open.
Plus · an evolving promotion or shipping calendarCUSTOMIZEEach threshold change would otherwise be an app version release. The settings component pays for itself somewhere around the fourth edit a merchant wanted to make alone.
Plus · standard discounting or in-cart shipping displayBUYListed apps already ship the logic and the screen. CBB runs $4.99/month and Bold's Essentials $19.99/month (verified Sep 2026), which no build recovers on cost alone.

What Function Settings UI Actually Drives

OutcomeImpactHow it works
Operational efficiencyHighA merchandising manager edits a threshold in the admin and the change is live at the next checkout, removing the ticket, the developer and the deploy window from every seasonal adjustment.
Revenue — directMediumPromotions launch on the day they were planned rather than the day engineering had capacity, which is worth more on a short campaign than any refinement to the rule itself.
Data & insightMediumSettings stored as metafields are queryable alongside orders, so the threshold in force during a campaign is recoverable later instead of living in a commit message.
Customer experienceLowShoppers never see the settings surface; its effect on them arrives only through how quickly a wrong threshold can be corrected.

Spend ceiling: Spend on the settings layer in proportion to how often the numbers move. A rule edited twice a year does not justify a form; a promotion calendar with 8 changes a year pays for one in the first quarter. The component supplies the layout and save-bar behavior, so the real cost is schema design and validation, not UI.

What buying enables (top apps)

  • + Logic and a merchant-editable screen in one install, maintained against every Shopify admin release
  • + Scheduled sales, countdown timers and auto-tagging that a team can run without engineering involvement
  • + Fixed monthly pricing from $4.99/month, which no build recovers on cost alone (verified Sep 2026)

What building additionally unlocks

  • + Exactly the settings your merchandising team argues about, rather than the ones a vendor's roadmap chose to expose
  • + Configuration held as metafields on your own store, queryable by reporting and editable by Flow as well as by a person
  • + One settings app that can front several functions, instead of a separate vendor dashboard per rule
  • + Rules that stay yours when the numbers change, with no app version release standing between a decision and its being live

Find Your Verdict in 3 Questions

  1. Is the store on Shopify Plus?

    Yes: Go to question 2.

    No: Your verdict: BUY — custom apps containing Shopify Function APIs are Plus-only, so a listed app is the available lane.

  2. Does a listed app already ship both the rule and a settings screen for it?

    Yes: Your verdict: BUY — $4.99/month to $19.99/month (verified Sep 2026) beats building a form nobody asked you to own.

    No: Go to question 3.

  3. Will anyone outside engineering want to change a value in the next year?

    Yes: Your verdict: CUSTOMIZE — build the function and give it settings metafields rendered by the function settings component.

    No: Your verdict: BUILD — hardcode the values and revert an app version on the rare occasion something has to change.

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 →

DimensionBuyBuildWhy
Cost
Acquisition & implementationA listed app configures in an afternoon; a function plus its settings extension is a custom app, a metafield schema and an admin surface.
Recurring feesThe named listings run $4.99/month to $19.99/month (verified Sep 2026); a function and its settings screen carry no subscription.
Maintenance & upgradesThe vendor tracks API versions for you; your settings extension needs version bumps and a re-test whenever the admin extension surface moves.
Switching & exitA vendor's configuration lives in its own namespace and leaves with the app; settings you write live in metafields that stay on the store.
Risk
Vendor riskReview bases of 477 and 208 are solid but modest, and one listing has already been renamed once; a function you own has no vendor to lose.
Security & compliance surfaceSettings held as metafields never leave Shopify, where a vendor's configuration store is one more system holding your commercial rules.
Platform-deprecation exposureFunctions and admin UI extensions are the platform's current direction, and metafield-backed settings survive a component redesign better than a vendor's schema.
Value
Fit to requirementApps expose the settings their roadmap chose; your own form exposes precisely the values your merchandising team argues about.
Time to marketLive this week against 3–6 weeks for a function plus its settings surface (Deploi estimate, illustrative).
Performance & scaleSettings read from a metafield inside the input query add no external call, and Shopify caps that query at 3000 bytes either way.
Data ownership & AI-readinessThresholds stored as metafields are queryable by reporting, Flow and anything else you run; a vendor dashboard's settings are readable only there.
Focus & opportunity costThe settings screen is the part of a build teams cut first, and the part that decides whether the function needs a developer forever.

The App Landscape

AppStatusPricingBest for
Bold Discounts — Flash SalesLive4.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)Scheduled promotions a merchandising team runs without a developer
CBB Shipping Rates CalculatorLive4.6★, 208 reviews; Built for Shopify. In-cart shipping rates, geolocation accuracy and a free-shipping bar on one flat tier, previously listed as Shipping Rates Calculator Plus. Included here as the cheapest shape of the buy lane: a merchant-editable threshold shipped as a product rather than as a form your team maintains.Professional $4.99/month, or $49.90/year (a 17% saving); 14-day free trial; no free plan (verified Sep 2026)Free-shipping thresholds and in-cart rate display without a build
Function plus settings extension (custom app)Build laneYour function's configuration held as metafields and edited through the function settings component, which provides the standardized form layout and native save-bar handling. Requires Shopify Plus, since custom apps containing Shopify Function APIs are Plus-only. Keep each settings value under 10,000 bytes, because larger metafields are not returned to the function's input query.$9,000–$24,000 one-time for the function and its settings surface plus upkeep (Deploi estimate, illustrative)Plus merchants whose rule is custom but whose thresholds change on a business calendar

The Build Path

  • Separate the rule from its numbers before writing either: List every value a merchandising or ops person might reasonably want to change: a percentage, a cart threshold, an eligible tag, a date window, an excluded collection. Those become metafield settings. Everything else stays compiled. Teams that skip this step end up hardcoding a value someone asks about in week three, and every ask after that is a release.
  • Render the form with the function settings component: Shopify's component configures metafield settings for Shopify Functions and provides a standardized layout that integrates with the native save bar, handling form submission and reset automatically. That is the part teams assume they have to write. Building the screen from scratch buys inconsistency with the rest of the admin and a save flow your merchants have to learn separately.
  • Design the settings metafields to the function's read limits: Metafields with values exceeding 10,000 bytes in size will not be returned to a function's input query, and the query itself is capped at 3000 bytes excluding comments with a maximum calculated cost of 30. Store decided values rather than raw lists, and where a long exclusion list is unavoidable, model it as tags or a collection reference the function can test cheaply.
  • Give scheduled changes a path that isn't a person: A Flow workflow can update a metafield directly, and the scheduled time trigger runs at most once every 10 minutes with a whole-number interval. That turns a seasonal threshold change into an automation rather than a calendar reminder. Keep the manual form as well, because the day a promotion has to stop early is not the day to edit a workflow.
Effort band
$9,000–$24,000 for one function plus a merchant-editable settings surface — Deploi estimate (illustrative); lands in the $10–25K contact-form band, and moves into $25–75K once several functions share one settings app
Typical timeline
3–6 weeks for the function and its settings extension (Deploi estimate, illustrative)
Maintenance, honestly
~15–20% of build cost per year (Deploi estimate): roughly $1,350–$4,800/yr (Deploi estimate, illustrative) for API version bumps on both the function and the admin extension, plus re-testing the form after Shopify admin releases.
What you own — and what you take on
You own: the rule as versioned code, the settings schema as metafields on your store, and the admin surface merchants edit. You take on: a Shopify Plus dependency, two API surfaces to keep current, and the discipline of validating input on a form real people will use.

3-Year Total Cost of Capability

Buy (app path)Build (custom path)
Year 0 (setup)$0–$600 (illustrative)$9,000–$24,000 (Deploi estimate, illustrative)
Years 1–3 (recurring)$180–$720 (illustrative)$4,050–$14,400 (maintenance, Deploi estimate)
3-year total≈$180–$1,320 (illustrative)≈$13,050–$38,400 (Deploi estimate)
Illustrative cumulative cost over 36 months$0$7k$14k$21k$27kMo 0Mo 12Mo 24Mo 36Buy (app path)Build (custom path)
Illustrative cumulative cost of a listed app against a custom function with a settings surface. The lines do not cross, because a $19.99/month app (verified Sep 2026) is not what a build is competing with here. The comparison that decides this page is between two builds: one with a settings layer and one where every threshold change is an app version release.
  • All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
  • Left column holds one listed app at its published monthly price, flat for three years.
  • Right column is one custom function plus a settings extension, with fixtures; three-year horizon.

What the Sticker Price Hides

On the buy path

  • Bold's free plan is labeled for development shops rather than live stores, so the entry price for a working store is Essentials at $19.99/month (verified Sep 2026)
  • A vendor's settings screen exposes the values its roadmap chose, and the one your merchandising team argues about may not be among them
  • Configuration held in a vendor's own namespace leaves with the uninstall, taking the promotion history with it
  • Listings get renamed, as this category shows, which quietly breaks internal documentation that points at the old name

On the build path

  • Skipping the settings layer converts every threshold edit into an app version release, since releasing a version replaces the active one served to installed stores
  • Metafields with values exceeding 10,000 bytes are not returned to the function's input query, which breaks a settings blob that grew over time
  • A settings form real merchants use needs validation, or a mistyped percentage becomes a live discount
  • ~$1,350–$4,800/yr upkeep (Deploi estimate, illustrative) across the function and the admin extension

What Merchants Say

Ecommerce managers describe the pattern rather than the bug: the function works, and every seasonal change to it needs a ticket, a developer and a deploy window nobody scheduled.
community-reported pattern (2026 research corpus)
The recurring discount-app complaint is the boundary of the settings screen: the promotion the team wants sits one field beyond what the app lets anyone configure.
app-store 1–2★ review theme

If You Change Your Mind Later

If you bought and outgrow it

Uninstalling the app removes its logic and its settings screen together, and configuration held in the vendor's namespace goes with it. Screenshot or export the active rules before the last billing cycle, because rebuilding a promotion calendar from memory is the expensive part of switching.

If you built and want out

Settings written as metafields stay on the store after the function is removed, readable by reports, Flow and whatever replaces the rule. The admin extension and the function are code you version. Shopify Plus remains the tie: a custom app containing a function stops installing without it.

When This Answer Changes

We're watching for:

  • Changes to the function settings component's API, which would move the admin surface your merchants already learned
  • Any movement in the 10,000-byte metafield ceiling or the 3000-byte input query limit, both of which shape how much configuration a function can read
  • A listed app adding the specific setting you built for, which would make the buy lane genuinely competitive again

Verdict change log:

No changes since first publication (September 2026).

Common Questions

What does the Shopify function settings component do?

The function settings component configures metafield settings for Shopify Functions, per Shopify's admin extensions reference read on 2026-09-05. Shopify states it provides a standardized layout for settings forms and integrates with the native save bar to handle form submission and reset actions automatically. Merchants then edit thresholds in the admin, and the function reads new values with no redeploy.

What does hardcoding a Function's values actually cost?

Every change becomes an app version release. Shopify states that releasing an app version replaces the current active version served to stores that have your app installed, and that you can revert to a previous app version at any time. A promotion calendar with 8 changes a year turns into 8 releases, each needing a developer, a review and a deploy window.

Where do Shopify Function settings live?

Function settings live in metafields, which sets two limits worth designing around. Metafields with values exceeding 10,000 bytes are not returned to a function's input query. The input query itself has a maximum size of 3000 bytes excluding comments and a maximum calculated cost of 30. Model settings as a few decided values rather than one large configuration blob.

Your Next Steps

If you're going with CUSTOMIZE(matches your selected profile)

  1. List the values a non-developer might change and treat the rest as compiled logic
  2. Model each setting as its own metafield, keeping every value under 10,000 bytes
  3. Render the form with the function settings component rather than a bespoke admin page
  4. Validate ranges on the form, so a mistyped percentage can't reach a live cart
  5. Add a Flow workflow for scheduled changes, and keep the manual form for the day a promotion ends early

If you're going with BUY

  1. Write down the exact fields your team needs to edit, then check them against the app's settings screen before installing
  2. Confirm whether the free tier is usable on a live store or labeled for development shops
  3. Ask where the app stores its configuration and what an uninstall takes with it
  4. Diary a re-decision when the third requested setting turns out to be unsupported

Official Docs & Sources

Official documentation linked for verification — our verdicts and estimates are our own.

Tired of a ticket for every threshold change?

We scope which values belong in a merchant-editable settings form and which stay compiled, then build both halves so your promotion calendar stops running through a deploy queue.

Contact us today

Ecommerce development at Deploi

Verdict 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.

No affiliate links. No paid placement. We make money building and integrating solutions — not on referral fees.