Building a Shopify app is no longer the hard part. The APIs are documented, the CLI scaffolds most of the structure, and a competent developer can ship a working app in a few weeks. Founders and agencies are doing it constantly.
The wall is submission.
I keep meeting people in the same position. The app works. Merchants have asked for it. It has been submitted three times, rejected three times, and the review notes read like a list of rules nobody mentioned during development. Each cycle costs another week or two of waiting. The launch date stops being a date and becomes a hope.
Most Shopify App Store rejections come down to a small, predictable set of issues. They are not exotic. They are just poorly signposted.
The install flow is the most common one. OAuth has to be the first thing that happens after a merchant clicks install. No login screen in front of it, no pricing page, no account creation step. When authorisation completes, the merchant should land inside the working app, not on a marketing site.
Billing is the second. Every charge has to run through Shopify's Billing API. Taking payment through your own gateway, even for reasons that make perfect commercial sense, ends the review immediately.
Mandatory webhooks are the third. The privacy and data compliance webhooks, along with app uninstall handling, need to be implemented and genuinely responding. A stubbed endpoint that returns 200 and nothing else will not pass.
Embedded app standards catch a lot of teams. Session tokens, a current version of App Bridge, and staying properly inside the Shopify admin frame. Apps built against older patterns get flagged even when they function perfectly in testing.
Storefront performance matters more than people expect. If your app measurably slows a merchant's store, that alone is grounds for rejection, regardless of how useful the feature is.
Deprecated integration methods still appear constantly. Legacy script tags and direct theme file edits instead of the current extension model.
And then there is the listing, which quietly causes a large share of rejections that had nothing to do with the code. Screenshot dimensions, icon specifications, naming rules around Shopify's trademark, support links that actually resolve, a real privacy policy, and a demo store the reviewer can log into and use without help.
None of this is unreasonable on Shopify's part. Merchants are trusting these apps with their revenue. The problem is that the requirements live in several different places, they change, and the rejection emails tell you that something failed without always telling you why.
I get built Shopify apps through review and into the App Store.
That means auditing the app against what the review team enforces in practice, fixing the install and OAuth flow, correcting the billing integration, implementing the compliance webhooks properly, checking storefront performance impact, and building a listing designed to pass on the first read rather than the fourth.
If your app is already rejected, I work backwards from the review notes to find what is actually being flagged, which is often not the thing the email appears to describe. If you have not submitted yet, a pre-submission audit is considerably cheaper than three failed cycles.
You have already paid for the expensive part. Getting it live should not be the thing that kills it.
If your app is stuck in review, or you are about to submit and would rather not learn this the hard way, send me a message and tell me where it stands. I will tell you what I would flag.
Get an email when Akash publishes
More from
Akash Mittal →Anatomy of a Connected Health App: What It Actually Takes to Link Body, Mind and Diet
Ask someone how their health is and they'll answer with one number — steps, weight, a ring closed. Ask them why it's that number and the answer is somewhere else entirely: what they ate this week, how work went, whether they slept. I've been scoping and building an ecosystem that…
The One Second Where Shopify and NetSuite Disagree — And Cost You a Sale
There's a specific second where most Shopify-NetSuite integrations quietly break: a customer places an order at the exact moment your inventory sync job is running. Shopify still shows the item in stock, NetSuite has already committed it to another order, and now you've sold…
Why Mobile Apps Convert 3x Better Than Your Website — And What That Means for Growth
A mobile app doesn't just give customers another way to reach you — it converts them at roughly triple the rate of your mobile website. That gap alone is why "should we build an app" has stopped being a debate for most growing businesses and become a revenue question with a clear…