Skip to content

GuidesApp marketplaces

Shopify app launch checklist: from dev store to first hundred installs

How to launch a Shopify app: review submission, listing, pricing, onboarding to a first result, support, GDPR webhooks, analytics and the first 30 days.

By Geetansh Saini8 min read

In short: Launching a Shopify app is a sequence: clear the App Store review page and submit with a screencast and test credentials, subscribe to the three compliance webhooks and app/uninstalled before you publish, write a listing that describes the first session, price with a 14-day trial or a free plan, and make sure a merchant can reach a first result in their first session. Then spend the first week watching every install by hand and the first 30 days measuring the funnel from listing view to activation.

What does Shopify's app review require before you submit?

Shopify's submission guide and review process page set the gate. The things that catch teams:

  • URLs and contacts. App URLs must not include "Shopify" or "Example", or misspellings and abbreviations of Shopify, and neither may your API contact email. You need an emergency developer contact with an email and phone number.
  • Icon and listing. A 1200 by 1200 pixel icon, a primary language, and at least one listing that meets the listing requirements.
  • Protected customer data. If the app needs it, complete the request form before you submit, because you cannot apply while the app is under review.
  • Automated checks. Every check on the App Store review page must pass before you can submit.
  • Test materials. Shopify's app requirements checklist asks for clear instructions and a complete screencast of setup and functionality, in English or with English subtitles, plus valid credentials with full access for any third-party platform the app connects to.
  • The basics reviewers test. From the requirements checklist: OAuth before any other step, no pop-up windows for OAuth or charge approval, supported APIs only (nothing deprecated within 90 days), and a storefront Lighthouse score reduced by no more than 10 points, which Shopify weights across the home page (17%), product page (40%) and collection page (43%).

The review statuses are Draft, Submitted, Paused (core requirements missing, with an email listing them), Reviewed (a reviewer needs to discuss fixes by email) and Published. Shopify publishes no turnaround time, and says submissions with errors, beta versions or incomplete material delay it. Submit a finished app and answer reviewer emails the day they arrive.

Which webhooks must be in place at launch?

Two groups. The first is mandatory.

Shopify's privacy law compliance page says every app distributed through the App Store must subscribe to three compliance topics before publishing, even if it collects no personal data: customers/data_request, customers/redact and shop/redact. Your endpoint must respond with a 200-series status, return 401 Unauthorized to any request with an invalid HMAC, and complete the action within 30 days. shop/redact arrives 48 hours after a merchant uninstalls, so this is also where you erase that store's data. Missing URLs or a misbehaving endpoint mean rejection.

The second group is not mandatory, and you need it anyway. Subscribe to app/uninstalled and use it to delete the shop's sessions and tokens, stop scheduled jobs for that store, and record the uninstall time against the install cohort. The uninstall reason is not in the webhook. It appears in the Partner Dashboard, and since April 2026 merchants have to choose one.

Build the endpoint to Shopify's delivery rules. Its HTTPS delivery documentation states a one-second connection timeout and a five-second timeout for the whole request, that any response outside the 200 range, including 3XX, is treated as an error, that failed deliveries are retried 8 times over the next 4 hours, and that after 8 consecutive failures a subscription configured through the Admin API is deleted, with warning emails sent to the emergency developer address. So: verify the HMAC, queue the work, return 200 inside a second, and dedupe on the webhook ID. Shopify says delivery is not guaranteed, so run a nightly reconciliation job against the list of installed shops.

Are the listing, pricing and onboarding ready for a stranger?

By launch day you should be able to answer yes to three questions.

Does the listing describe the first session? Subtitle in the merchant's words, first two screenshots showing the dashboard with a result and the one setup step, pricing section that names each plan's limit, no claims or statistics anywhere. The rules are in App Store listing optimisation.

Is pricing set up through Shopify App Pricing, with a way in? The checklist recommends a 14-day free trial if you have paid plans, and says merchants must be able to upgrade and downgrade without contacting support. Use a trial if a merchant can reach a first result inside it, and a free plan if not.

Can a merchant reach a first result in the first session? Not a completed setup, a result from their own store on screen: a live affiliate link, a first review request sent, a creator list built from their products. That first on-screen result is time to first value. The activation event is later and bigger, the first real result such as the first affiliate joined or the first referred order tracked, measured over a window of about 14 days. Both need events before launch, and the path to the first is in Shopify app onboarding.

What analytics events do you need from day one?

What you do not capture in week one, you can never analyse. The minimum set:

Event Fired when Why
app_installed OAuth completes, from the backend Top of every funnel, start of every cohort
onboarding_step_completed Each setup step, with the step name Shows where the first session stalls
first_value_shown The first result from the merchant's own store is on screen Time to first value
activated The activation event, with the day since install Activation rate at 14 days
plan_selected Trial started or plan chosen, with plan name Trial-to-paid and plan mix
upgrade_prompt_shown and upgrade_prompt_clicked Any upsell surface, with the surface name Attributing expansion
support_contacted The in-app help entry is used, with the page Which screens create tickets
app_uninstalled The webhook, with days since install Retention by cohort

Three habits make this data usable. Fire install, plan and uninstall events from the backend, because frontend events get blocked. Use one lowercase naming convention with a short list of allowed verbs. And attach the shop as a group on every event, so you can ask "which merchants reached first value" rather than "how many events fired". I use PostHog for this, and these events are the basis of the onboarding metrics you will read in week two.

What is the support channel at launch?

One channel, inside the app, answered by a person, fast. A "Help" entry in the navigation that opens a chat or a form with the merchant's shop and current page attached. A short help centre covering the three setup questions you know will come. And the emergency developer contact in the Partner Dashboard, which Shopify requires.

At Social Snowball I built the systems and SOPs that kept median support response time under 10 seconds, and my view is that in the first weeks the speed of the first human reply does more for retention and reviews than any help article. Tag every ticket with the screen it came from. That list is your first roadmap. Shopify's checklist says strong support helps merchants succeed and reduces negative reviews.

What is the first-week playbook?

Day 0. The listing goes live. Install from the public listing on a fresh development store and go through OAuth, onboarding and the first result as a merchant would. Send a test delivery to the compliance endpoint.

Days 1 to 2. Watch every install as it arrives. Open each new merchant's account, see where they stopped, and send a personal email offering to set it up with them. The first ten merchants will tell you more than the next thousand.

Days 3 to 5. Fix the top drop-off in the onboarding funnel, ship it, and watch the next day's installs against it. Do not ask for reviews yet. Shopify's guidance is not to ask while a merchant is onboarding or installing.

Days 6 to 7. Read every uninstall reason. Write down the gap between what the listing promises and what the first session delivers, and fix whichever is lying.

For the first hundred installs, do not buy ads until the first-session funnel holds. Launch to your own list and to agencies you have worked with, and let App Store search take over once the listing has reviews behind it.

What should you measure in the first 30 days?

Metric What good looks like at this stage
Listing add rate (Install clicks over views) Rising after each listing change, against your own week one
Install rate (installs over clicks) Steady. A drop means a new scope scared people
First-value rate Share of installs that see a result in the first session. Your most important number
Activation rate at day 14 Share of each weekly install cohort that reached the activation event
Day 7 and day 30 retention by cohort Installed and still installed, per weekly cohort, not blended
Uninstall reasons "Testing multiple apps" is a listing problem, "Not working properly with store" is a bug queue
Trial-to-paid Only meaningful after the first trials end, around day 14 to 21
Tickets per 10 installs, by screen Falling, as the top screens get fixed
Admin Web Vitals Collected from day one, so you are ready for Built for Shopify at 50 paid installs

The first 30 days are too early for revenue conclusions and the right time for funnel conclusions, so fix the first session before you touch the pricing.

Where to start

  1. Open the App Store review page in the Partner Dashboard and clear every mandatory field and automated check before you record the screencast.
  2. Wire customers/data_request, customers/redact, shop/redact and app/uninstalled to one verified endpoint that returns 200 in under a second, and test each.
  3. Define first_value_shown and activated for your app in one sentence each, and fire both from the backend.
  4. Install from your own listing on a fresh dev store and time the path to the first result. If it is longer than one session, fix that before submitting.
  5. Set up the weekly sheet with the nine metrics above, and block an hour every morning of week one to read installs by hand.

Frequently asked questions

What webhooks are mandatory for a Shopify app?

Every app distributed through the App Store must subscribe to customers/data_request, customers/redact and shop/redact before publishing, respond with a 200-series code, return 401 to invalid HMACs, and complete requests within 30 days. app/uninstalled is not mandatory but almost every app needs it.

How long does Shopify app review take?

Shopify does not publish a turnaround time. Its review process page says the app moves through Draft, Submitted, Paused or Reviewed, and Published, and that submissions with errors, beta versions or incomplete material are what delays review.

Should a new Shopify app launch with a free trial?

Shopify's checklist recommends a 14-day free trial if you have paid plans. Use a trial when a merchant can reach a first result inside it, and a free plan when the result takes longer than that.

What should you track in the first month after launching a Shopify app?

The funnel from listing view to Install click to install to first on-screen result to activation at day 14, retention by weekly install cohort, uninstall reasons, and support tickets per screen. Revenue conclusions come later.

Got a complicated product?
Let’s make it feel simple.

I’m looking for a product design role on a team that ships. Email is the fastest way to reach me.

Get in touchwww.geetanshsaini@gmail.com

LinkedIn (opens in a new tab)