Build or Buy a Make-an-Offer Pricing Button on Shopify?
Make-an-offer pricing is a BUY on Shopify: two Built for Shopify apps do exactly this and cost less than a week of development. Offerly runs free to $50 a month and Magical free to $199 a month (verified Sep 2026). Native draft orders quote custom prices, and a customer cannot start the negotiation. Build only when a margin floor lives outside Shopify.
Your profile — see how the verdict shifts
- Confidence
- High — Checked both listings and Shopify's draft-order documentation on 2026-09-03. Offerly sits at 4.8★ across 68 reviews and Magical Make an Offer App at 4.6★ across 155 reviews, both carrying Built for Shopify status, both offering automation rules to auto-accept, auto-decline or counter an offer, and both free to install with fees only on paid offers. Priced tiers run $20 and $50 a month on Offerly, and $9 or $199 a month on Magical (verified Sep 2026). The Selling products and Pricing category page surfaced only B2B request-a-quote and wholesale listings rather than consumer-facing offer buttons, which confirms this as a distinct niche served properly by two apps. On the native side, draft orders sell at custom prices including negotiated wholesale rates and send secure checkout links, and Shopify's documentation frames them as merchant-initiated for phone, email or in-person sales. No customer-facing offer flow exists natively.
- Reference scenario
- $20M–$100M GMV · overstock, liquidation and one-off resale inventory · 200–2,000 offers a month · per-SKU margin floors that matter · agency dev bench
- As of
- September 2026
Decision at a Glance
| Your profile | Verdict | Why |
|---|---|---|
| Occasional overstock clearance | BUY | Start on a free-to-install tier where the fee only applies to offers that convert. No sales, no fee, and the whole pilot costs an afternoon of theme placement. |
| Regular liquidation, 100–1,000 offers a month | BUY | Move to a flat tier before the percentage fee overtakes it, and set eligibility rules so the button appears only on the stock you want negotiated. |
| 1,000+ offers a month across a large clearance catalog | BUY | Flat pricing caps the cost at $50 a month on Offerly Elite or $199 a month on Magical Power (verified Sep 2026), which stays cheaper than any build at any volume. |
| Margin floors computed outside Shopify, or a headless storefront | CUSTOMIZE | Percentage-off thresholds inside an app cannot see landed cost per unit, and a theme-embedded button does not exist on a headless front end. Keep the app where it fits and build the threshold logic where it does not. |
What Make-an-offer flexible pricing Actually Drives
| Outcome | Impact | How it works |
|---|---|---|
| Revenue — direct | High | An offer button converts browsers who would never pay list on aging stock, and each accepted offer is a sale that would otherwise have waited for a blanket markdown. |
| Operational efficiency | High | Auto-accept, auto-decline and counter rules absorb the volume that would otherwise be an inbox of negotiation emails a merchandiser answers one at a time. |
| Data & insight | Medium | Every declined offer is a stated willingness to pay, which is the cleanest price-elasticity signal a store can collect on slow-moving inventory. |
| Customer experience | Medium | Naming your own price on end-of-line stock feels like agency rather than a coupon hunt, and an automated answer within seconds keeps that moment intact. |
Spend ceiling: Size the spend to the margin you would otherwise give away in a blanket markdown. A store clearing $500,000 of aging stock at 40% off is handing over $200,000 (illustrative), and an app that captures negotiated offers instead costs at most $199 a month (verified Sep 2026). Spending a dev quarter to replace that is the mistake this page exists to prevent.
What buying enables (top apps)
- + A product-level offer button with auto-accept, auto-decline and counter rules, live in an afternoon through theme app blocks
- + Direct checkout links carrying the negotiated discount, so an accepted offer converts without a coupon code changing hands
- + Eligibility rules at product and order level, plus banners and exit popups, with analytics on offer volume and outcomes
- + Free-to-install tiers on both apps charging only on paid offers, so a pilot costs nothing until it works (verified Sep 2026)
What building additionally unlocks
- + An accept threshold that reads landed cost per unit from an ERP, so a negotiated sale can never clear a thin-margin SKU below cost
- + Offers routed into a sales-rep queue with approval limits, which neither app's automation rules model
- + Offer history joined to your own inventory and customer data, feeding markdown timing rather than sitting in a vendor's analytics tab
- + A negotiation flow inside a headless storefront, where a theme-embedded button does not exist at all
Find Your Verdict in 3 Questions
Do you want shoppers to start a price negotiation themselves, rather than a rep quoting them?
Yes: Go to question 2.
No: Your verdict: BUY — native draft orders already sell at negotiated prices and send secure checkout links, at no extra cost.
Does your storefront run on a Shopify theme rather than a headless front end?
Yes: Go to question 3.
No: Your verdict: CUSTOMIZE — a theme-embedded offer button does not exist headless, so the flow has to be built into your front end.
Do margins vary enough per SKU that a percentage-off threshold could clear units below landed cost?
Yes: Your verdict: CUSTOMIZE — keep the app for the flow and build a threshold service that reads real cost ($18,000–$45,000, Deploi estimate, illustrative).
No: Your verdict: BUY — install Offerly or Magical on a free tier and move to a flat plan when offer volume makes the percentage fee bite.
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 | Both apps install and place a button through theme blocks in an afternoon; a custom offer flow is an estimated 6–10 weeks (Deploi estimate, illustrative). | ||
| Recurring fees | Flat tiers cap at $50 a month on Offerly and $199 a month on Magical (verified Sep 2026), while the free tiers charge 0.9% and 1% on paid offers. | ||
| Maintenance & upgrades | Both vendors carry theme compatibility and Built for Shopify standards; a custom flow needs upkeep every time the theme or the checkout path changes. | ||
| Switching & exit | Offer history sits in the app's database and export completeness varies by plan, though the two apps do the same job closely enough that rules rebuild fast. | ||
| Risk | |||
| Vendor risk | Two independent Built for Shopify listings at 68 and 155 reviews is genuine competition, which is the healthiest signal on any page in this wave. | ||
| Security & compliance surface | Offers carry customer contact details and a negotiated price, which is modest data either way; the real exposure is discount abuse rather than privacy. | ||
| Platform-deprecation exposure | Theme app blocks and draft orders are first-class primitives, and both vendors track Shopify's quarterly API releases as part of the Built for Shopify standard. | ||
| Value | |||
| Fit to requirement | The apps do exactly the job for a themed storefront with percentage thresholds; a build only wins where landed-cost floors or a headless front end break that model. | ||
| Time to market | An offer button live this afternoon versus a quarter, on a capability whose whole point is clearing stock that is already aging. | ||
| Performance & scale | Offer volume is small next to pageviews on both lanes, and the scaling question is fee structure rather than throughput. | ||
| Data ownership & AI-readiness | Declined offers are stated willingness to pay, and that signal is far more useful joined to your own inventory and customer data than sitting in a vendor's analytics tab. | ||
| Focus & opportunity cost | Building an accept-decline-counter state machine to replace a $50 monthly subscription (verified Sep 2026) is the clearest misallocation of a dev quarter on this hub. | ||
The App Landscape
| App | Status | Pricing | Best for |
|---|---|---|---|
| Offerly: Make An Offer Button! | Live — Built for Shopify. 4.8★, 68 reviews. Developer Nakatomi Apps. Automation rules to auto-accept, auto-decline or counter an offer, or negotiate manually, with customizable pop-ups and emails, pricing insights, and direct checkout links carrying the negotiated discount. A 14-day trial covers the Pro and Elite plans. | Starter free to install with a 0.9% fee on paid offers only; Pro $20/month flat; Elite $50/month flat (verified Sep 2026) | Stores that want the cheapest flat tier in the category and clean automation rules on a themed storefront |
| Magical Make an Offer App | Live — Built for Shopify. 4.6★, 155 reviews, the deepest review base in this niche. Developer Magical Apps. Unlimited offers on products and on whole orders, eligibility rules at product and order level, auto-accept, decline and counter rules, offer buttons, banners and exit popups, plus analytics. A 14-day trial covers the Growth and Power plans. | Starter free to install with 1% on paid orders only; Growth $9/month with 0.33% on paid orders; Power $199/month or $999/year flat with no per-order fees (verified Sep 2026) | Order-level negotiation and finer eligibility control, and the flat Power tier once offer volume makes percentage fees expensive |
| Shopify draft orders | Native — First-party Shopify. Draft orders sell products at custom prices including discounts, surcharges and negotiated wholesale rates, and send invoices with secure checkout links for customers to pay online. Order-level deposits and net terms are supported alongside them. Merchant-initiated only: Shopify's documentation describes creating draft orders on behalf of customers for phone, email or in-person sales, and no customer-facing offer flow is mentioned anywhere. | Included on every Shopify plan (verified Sep 2026) | Quoting a negotiated price once a human is already in the conversation, which is the back half of this capability |
| Offer flow with external margin floors (custom) | Build lane — The narrow case worth building: an offer form and accept-decline-counter engine whose threshold reads landed cost per unit from an ERP or costing system rather than a percentage typed into an app, plus a rep queue with approval limits, and a front end that works on a headless storefront. | $18,000–$45,000 one-time plus upkeep (Deploi estimate, illustrative) | Liquidation at scale where a percentage-off threshold would clear thin-margin SKUs below cost |
The Build Path
- Start with the app and prove the demand: Install a free-to-install tier, scope eligibility to the stock you actually want negotiated, and watch a month of offers. The distribution of offers against list price tells you whether a margin floor problem exists at all. Most stores discover the app's percentage threshold is fine and stop here, which is the correct outcome.
- Replace the threshold, not the whole flow: Where landed cost per unit matters, the piece worth owning is the accept decision. A service that receives an offer, looks up real cost and current holding age, and returns accept, decline or counter keeps you off a full rebuild. Some stores can run this alongside an app rather than instead of it.
- Build the whole flow only for headless or rep-queue cases: A theme-embedded button does not exist on a headless storefront, and neither app models approval limits per sales rep. Those two cases justify an offer form, a state machine for accept, decline and counter, expiring negotiated checkout links, and abuse controls for repeat lowballs and duplicate accounts.
- Effort band
- $18,000–$45,000 for the offer form, accept-decline-counter engine, negotiated checkout and abuse controls — Deploi estimate (illustrative); lands in the $25–75K contact-form band. The threshold-service-only version is far smaller.
- Typical timeline
- 6–10 weeks for the full flow, and 2–3 weeks for a threshold service in front of an app (Deploi estimate, illustrative)
- Maintenance, honestly
- ~15–20% of build cost per year (Deploi estimate): roughly $2,700–$9,000/yr (Deploi estimate, illustrative) covering theme and checkout changes, abuse-rule tuning, and keeping the cost feed aligned as the ERP's costing changes.
- What you own — and what you take on
- You own: the accept logic, the offer history joined to your own inventory and customer data, and a willingness-to-pay signal that informs markdown timing. You take on: abuse handling and a state machine that two vendors already maintain for $199 a month or less (verified Sep 2026).
3-Year Total Cost of Capability
| Buy (app path) | Build (custom path) | |
|---|---|---|
| Year 0 (setup) | $0–$500 (theme placement and rule configuration, Deploi estimate, illustrative) | $18,000–$45,000 |
| Years 1–3 (recurring) | $324–$7,164 (flat tiers from $9 to $199 a month, verified Sep 2026) | $8,100–$27,000 (upkeep) |
| 3-year total | ≈$324–$7,664 | ≈$26,100–$72,000 |
- † All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
- † Buy column spans the paid tiers of both apps, from Magical Growth at $9/month to Magical Power at $199/month (verified Sep 2026). Percentage fees on the free tiers are excluded, since a store at this volume would move to a flat plan.
- † Build column: offer form, accept-decline-counter engine, negotiated checkout links and abuse controls; three-year horizon.
What the Sticker Price Hides
On the buy path
- — Percentage fees look small until offer volume grows: 0.9% and 1% on the free tiers overtake the flat plans faster than most stores expect (verified Sep 2026)
- — Magical's flat pricing jumps from $9/month on Growth to $199/month on Power, so the middle of that range has no plan (verified Sep 2026)
- — Auto-accept thresholds are expressed as a percentage off list rather than a margin floor, which is exactly how an accepted offer lands below landed cost
- — An offer button on a full-price catalog teaches shoppers to stop paying list, so scope eligibility to the stock you genuinely want negotiated
On the build path
- — The form is the easy part; the accept-decline-counter state machine and the notification loop consume most of the weeks
- — A negotiated price still needs a clean route to checkout, which means draft orders or an expiring discount, and both carry edge cases
- — Offer abuse arrives immediately as repeat lowballs, duplicate accounts and bots, all of which the two apps have already met and handled
- — ~$2,700–$9,000/yr upkeep (Deploi estimate, illustrative)
What Merchants Say
Merchandisers describe the same shift on aging stock: the choice used to look like 40% off to everyone or nothing, and an offer button turned it into a negotiation with the handful of people who actually wanted the item.
The recurring complaint is threshold logic rather than the button. An auto-accept rule set as a percentage off list quietly clears thin-margin SKUs below landed cost, and nobody notices until the margin report.
If You Change Your Mind Later
If you bought and outgrow it
Offer history lives in the app's database and export completeness varies by plan, so check what your tier lets you take before you accumulate a year of negotiation data. The switch itself is unusually easy: two apps do closely the same job, so eligibility rules and thresholds rebuild in an afternoon. What does not follow you is the record of every declined offer, which is the willingness-to-pay signal worth keeping.
If you built and want out
Nothing strands. The offer records, thresholds and negotiated checkout links are your own data, and the accept logic keeps working against whatever storefront sits in front of it. If you later drop back to an app, the app takes over the flow and your existing offer history stays in your warehouse, which is the reason a threshold service alongside an app is often the smartest version of this build.
When This Answer Changes
We're watching for:
- ▸ Shopify adding a customer-initiated offer flow to draft orders, which are merchant-initiated only today
- ▸ Either app changing its per-order fee structure; the free tiers charge 0.9% and 1% on paid offers (verified Sep 2026)
- ▸ A third Built for Shopify entrant filling the gap between $9 and $199 a month, where neither app currently has a plan (verified Sep 2026)
Verdict change log:
No changes since first publication (September 2026).
Common Questions
Can Shopify let customers make an offer on a product natively?
Shopify has no customer-facing make-an-offer flow. Draft orders let a merchant sell at custom prices, including discounts, surcharges and negotiated wholesale rates, and send an invoice with a secure checkout link (verified Sep 2026). Shopify's own documentation frames draft orders as merchant-initiated, created on behalf of customers for phone, email or in-person sales. A shopper cannot start the negotiation without an app.
How much does a make-an-offer app cost on Shopify?
Offerly runs free to install with a 0.9% fee on paid offers, $20 a month on Pro and $50 a month on Elite. Magical runs free to install with 1% on paid orders, and $9 a month on Growth with 0.33% on paid orders. Power is $199 a month or $999 a year, flat with no per-order fees (verified Sep 2026). Both offer a 14-day trial on paid plans.
When should you build a make-an-offer flow instead of buying one?
Build a make-an-offer flow when the accept threshold has to come from outside Shopify. An auto-accept rule expressed as a percentage off list can clear units below landed cost, and only a margin floor read from your ERP prevents that. A headless storefront is the other case, since a theme-embedded button does not exist there. Expect $18,000 to $45,000 (Deploi estimate, illustrative).
Your Next Steps
If you're going with BUY(matches your selected profile)
- Pick the stock you actually want negotiated and set eligibility rules before the button goes anywhere near a full-price product
- Start on a free-to-install tier so the pilot costs nothing until offers convert
- Set auto-decline and auto-accept thresholds deliberately, and check them against landed cost on your thinnest-margin SKUs
- Watch a month of offer distribution against list price, because that curve is the real output of the pilot
- Move to a flat plan once the percentage fee exceeds it, and export your offer history on whatever cadence your tier allows
If you're going with CUSTOMIZE
- Keep the app for the storefront flow unless you are headless, since rebuilding the state machine buys nothing
- Feed landed cost per unit and holding age into a threshold service the offer flow calls before accepting
- Express the accept rule as a margin floor rather than a percentage off list, which is the whole point of the exercise
- Add a rep queue with approval limits if any offers need a human, and record who accepted what
- Land offer history in your own warehouse and use declined offers to time the next markdown
Official Docs & Sources
- Draft orders — Shopify Help Center
- Offerly on the Shopify App Store — Shopify
- Magical Make an Offer App — Shopify
Official documentation linked for verification — our verdicts and estimates are our own.
Related Decisions
Build or Buy MSRP and MAP Enforcement on Shopify?
No Shopify app runs a MAP violation workflow. Buy monitoring from Wiser Solutions or Minderest on a quote; build the reseller registry, strike ledger and hook.
Should You Build or Buy B2B Tiered & Volume Pricing on Shopify?
Building B2B tiered pricing as a Function over native catalogs wins for mid-market wholesale; wait if three catalogs cover you.
Should You Build or Buy BOGO Automation on Shopify?
Building BOGO logic on Shopify Functions wins once your offers outgrow native Buy X Get Y discounts.
Should You Build or Buy Discount Stacking Rules on Shopify?
Customizing wins for discount stacking on Shopify: native combinations cover the common matrix, and a Functions policy layer protects the margin.
Should You Build or Buy Your Shopify Scripts-to-Functions Migration?
A Scripts-to-Functions migration is a build for any store whose checkout logic still earns money — unported rules have already gone silent.
Install the app, then fix the one thing it cannot see
Two competing apps already do this well for under $200 a month (verified Sep 2026), and we will tell you to start there. Where we help is the part that costs money quietly: an accept threshold that reads landed cost per unit from your ERP, so a negotiated sale never clears a thin-margin SKU below what it cost you.
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.