I want a understanding on requirement for the publishing app on store , Can we publish an app without having oauth , As I am not going to use any scope like customer reads , or anything , Can anyone guide me on this ?
Hey @Pratik_Senjaliya Yes, OAuth is required for any app going to the Shopify App Store. The App Store requirements state your app must authenticate using OAuth before any other steps occur, even if you’re requesting zero scopes.
But there’s actually a bigger issue here. Apps that don’t use Shopify APIs at all aren’t permitted in the App Store - that’s requirement 2.2.1. So if your app truly doesn’t need any Shopify data (products, orders, shop info, etc.), the App Store isn’t an option.
If you’re set on not using any scopes, you have a few paths:
Custom Distribution (via Dev Dashboard): You still go through OAuth just like App Store apps, but you skip the review process. Can install on single stores or Plus orgs. Trade-off is you can’t use the Billing API to charge merchants.
Admin-created custom app: This is the only way to truly skip OAuth. You create it directly in the Shopify admin and get access tokens immediately. But it’s very restricted - single store only, can’t be embedded, no App Bridge, no extensions, no Billing API. Really only makes sense for backend automation. These are also considered legacy custom apps and will no longer be available from January 1 2026
What’s your use case? If you share what you’re trying to build, I can point you in the right direction.
Also Can you please let me know if I require external backend services to achieve that , As I think shopify template is giving server and SQLite as well ,
I need to consider Billing and Tracking from storefront as well (I am going to add one button on product page and i would require analytics for that and That should be shown to admin dashbaord)
Thanks for following up @Pratik_Senjaliya! The Shopify app template gives you everything you need - it includes a Node.js backend server and SQLite database that are automatically set up when you run shopify app init. You don’t need to build external backend services from scratch.
That said, you will need to deploy this backend somewhere for production (the template runs locally during development). Common options are Fly.io, Google Cloud Run, or Render. SQLite works fine for development, but you might want to switch to PostgreSQL or MySQL for production scale depending on your traffic.
For billing - yes, you absolutely need to implement the Billing API. This is a mandatory App Store requirement for all public apps. You can’t use external payment processors. Based on your use case (tracking button clicks), you’d probably want either a time-based subscription like $10/month, or usage-based billing where you charge per click (e.g., $0.01 per button click). You could also combine both - base fee plus usage charges over a certain threshold.
For adding a button to product pages and tracking clicks, you’ll want to use a theme app extension. This creates an app block that merchants can add to their product pages through the theme editor without touching theme code. When customers click your button, your JavaScript can send the event to your backend to record it.
For tracking, you have two options: either build a web pixel extension to subscribe to click events, or more simply, just have your theme app extension button directly call your backend API when clicked. The second approach is simpler once you control the button.
To show analytics in the admin dashboard, you’ll build embedded app pages using Polaris components. Your app queries your database for the click data and displays it as charts or tables. This is the main interface merchants see when they open your app from the Shopify admin.
Hope this sets you on the right path, let me know otherwise!