Back to blog

Why We Said No: Three Feature Requests We Did Not Build (and One We Did)

How we decide what not to build on our Shopify app roadmap: three feature requests we turned down, the reasoning behind each no, and the one we did ship.

Discount Prime Team
Discount Prime Team
· 4 min read
Why We Said No: Three Feature Requests We Did Not Build (and One We Did)

The hardest part of a roadmap is not the list of things you will build. It is the longer list of reasonable requests you decide, on purpose, to disappoint.

We get feature requests every week. Most are thoughtful, and many describe a real problem. But a small app cannot build everything and stay good at anything. So the roadmap is really a set of decisions about what not to do, and the discipline is being able to explain each no in one clear sentence.

Here are three requests we turned down this year, the reasoning behind each, and the one request we said yes to, so you can see the filter we actually use.

The filter: does it make the core job more reliable?

Our core job is narrow on purpose: run native discount and pricing logic through Shopify Functions so it applies correctly in cart and checkout, on any plan, without hurting margin. Every request gets held up against that sentence. If a feature makes that job more complete or more reliable, it is a candidate. If it adds a new, loosely related surface, the answer trends toward no, even when the request is popular.

This is not about being minimalist for its own sake. It is that every feature you ship is a feature you maintain, support, and reason about forever, including during BFCM at 2am. Scope is a liability with a long tail.

No 1: the countdown timer widget

The request: add an urgency countdown timer to product and cart pages to pressure customers toward the sale.

Why we said no: it is a storefront theme and conversion-optimization job, not a discount-engine job. Timers live in the theme, need design control to match a brand, and are handled well by a whole category of dedicated apps. If we built a mediocre timer, we would own a support burden for pixels and CSS that has nothing to do with whether a discount calculates correctly. The two problems do not share a spine.

The honest version of the no: a timer would help us look fuller in the App Store screenshots, and that is exactly the wrong reason to build something.

No 2: unlimited discount stacking

The request: let every discount stack on top of every other one automatically, with no limits.

Why we said no: this one is not just off-scope, it is actively harmful. Uncontrolled stacking is how a planned 20 percent quietly becomes an actual 40 percent when a volume tier, a code, and a shipping offer all land on the same cart. The value we provide is the opposite of unlimited: deliberate combination control, so you decide exactly what stacks with what. Building a switch that removes that control would undercut the reason the product exists. We covered the mechanics of this in our guide to how discount combinations work if you want the full picture.

No 3: a built-in email marketing tool

The request: send discount announcement emails directly from the app.

Why we said no: email marketing is a deep discipline with mature, dedicated tools, deliverability, segmentation, templates, compliance, and a decade of refinement behind them. A discount app that bolts on a thin email feature does two jobs worse instead of one job well. The better service to a merchant is to make our discounts easy to reference from the email tool they already trust, not to compete with it badly.

The one we said yes to: customer-specific pricing

Now the yes. Enough merchants kept describing the same wall: they wanted different prices for wholesale accounts, VIP customers, and staff, without standing up a separate wholesale storefront or upgrading a plan for it. That request passed all three tests.

  • Many merchants hit the same wall. Wholesale and VIP pricing came up constantly, across very different store types.
  • It sits inside the core job. Customer-specific pricing is still discount and pricing logic running through Functions. Same spine, wider reach.
  • It makes existing features more useful. Volume tiers and pricing rules become far more powerful once you can scope them to a customer segment.

So we built it, and it shipped in May. You can read the launch note for B2B and customer-specific pricing, or see how it works on the B2B pricing page.

How to read a no from any tool you use

If a tool you rely on turns down a feature you asked for, the useful question is not whether they were nice about it. It is whether their no is consistent with a clear core job. A vendor that says yes to everything is a vendor whose product will eventually be a confused pile of half-features, none of them dependable. The ones worth trusting can tell you what they will never build, and why.

Setting this up with Discount Prime

If you want to see what we did choose to build, the volume discounts engine and customer-specific pricing are the core of it, and the current thinking lives on our public roadmap. For more on how merchant conversations shape those calls, see what 100 support conversations taught us and our one year of building Discount Prime retrospective.

build-in-publicroadmapproductshopify-app
Discount Prime Team

About the author

Written by the Discount Prime Team - the people building and supporting Discount Prime, the smart discount and pricing app for Shopify. We share what we learn from helping merchants run volume discounts, tiered pricing, and high-converting promotions every day.

Frequently asked questions

How should a small Shopify app decide what to build?

Filter every request against the app's core job. If a feature makes that job more reliable or complete, it belongs on the roadmap. If it adds a loosely related capability that another category of app already does well, saying no keeps the product focused and the codebase maintainable.

Why would a discount app refuse to add unlimited discount stacking?

Unlimited stacking sounds generous but destroys margin quietly. When multiple discounts compound without controls, a planned 20 percent can become an actual 40 percent. Deliberate combination rules, deciding what stacks with what, protect the merchant far better than letting every discount apply at once.

Should a Shopify discount app also send marketing emails?

Usually no. Email marketing is a deep, separate discipline with mature dedicated tools. A discount app that bolts on a weak email feature spreads itself thin and does both jobs worse. Integrating cleanly with existing email apps serves merchants better than owning the whole stack.

What makes a feature request worth building?

A request is worth building when many merchants hit the same wall, the wall sits squarely inside the app's core job, and solving it makes existing features more useful rather than adding a new unrelated surface. Customer-specific pricing met all three tests for us, so we shipped it.

Run profit-first promotions on Shopify

Discount Prime brings eight discount types, margin analytics, and conflict detection into one Shopify-native app.

See pricing

Or see it live in our demo store and watch every feature working on a real Shopify store.

Related articles