App Store Submission
Getting your app listed on the Shopify App Store is a significant milestone, but the submission process is rigorous. Shopify's app review team evaluates your app against detailed quality, performance, security, and UX criteria. This module walks you through the updated requirements, the Built for Shopify badge program, listing optimization strategies, and pricing models that work.
App Review Requirements (Updated Winter '26)
Shopify updated its app review requirements in the Winter '26 release cycle. The changes reflect a stronger emphasis on embedded app experiences, performance impact measurement, and data privacy compliance.
Core Requirements
Every app submitted to the Shopify App Store must meet these baseline requirements:
Authentication and Security
- OAuth 2.0 implementation with proper HMAC validation
- All three GDPR mandatory webhooks functional and tested
- Access tokens encrypted at rest
- No sensitive data exposed in client-side code
- Content Security Policy headers configured for embedded apps
User Experience
- App must be fully embedded in the Shopify admin (no external redirects for core functionality)
- Uses Polaris design system components or App Bridge actions
- Responsive layout that works on all screen sizes
- Loading states for all asynchronous operations
- Error states with clear recovery actions
Performance
- Storefront impact under 100ms additional load time
- No synchronous JavaScript injection
- Admin pages load in under 3 seconds
- Efficient API usage (no unnecessary calls, proper pagination)
Functionality
- App must provide clear value that is immediately apparent
- Onboarding flow guides merchants through setup
- Uninstall webhook handler that cleans up all resources
- App works correctly with Shopify's Online Store 2.0 themes
The Winter '26 review process now includes automated performance profiling. The review team installs your app on a test store and runs Shopify's internal performance suite to measure storefront impact. Apps that exceed the 100ms threshold will be automatically flagged for manual review, which adds 2-4 weeks to the review timeline.
Common Rejection Reasons
Based on public data from Shopify's Partner community, these are the most frequent reasons for app rejection:
- Missing GDPR webhooks -- The most common rejection reason. All three webhooks must respond with a 200 status code and actually process the request.
- External authentication flows -- Redirecting merchants outside the Shopify admin for login or setup.
- Poor error handling -- Unhandled exceptions that show raw error messages or blank screens.
- Insufficient onboarding -- Merchants cannot figure out how to use the app after installation.
- Excessive permissions -- Requesting scopes your app does not actually need.
- Broken uninstall behavior -- App continues making API calls after being uninstalled.
Pre-Submission Testing Checklist
# 1. Test OAuth flow from scratch
shopify app dev --reset
# 2. Verify all webhook subscriptions
shopify app webhooks list
# 3. Test GDPR webhooks manually
curl -X POST https://your-app.com/webhooks/customers/data_request \
-H "Content-Type: application/json" \
-H "X-Shopify-Hmac-Sha256: $(echo -n '{"shop_domain":"test.myshopify.com"}' | openssl dgst -sha256 -hmac 'your-secret' -binary | base64)" \
-d '{"shop_domain":"test.myshopify.com","customer":{"id":1,"email":"test@example.com"}}'
# 4. Test uninstall and reinstall
# Uninstall app from test store, verify cleanup, then reinstall
# 5. Run Lighthouse on storefront with app installed
npx lighthouse https://your-test-store.myshopify.com --only-categories=performance
Built for Shopify Badge
The Built for Shopify badge is the highest quality designation an app can earn. It signals to merchants that your app meets Shopify's strictest quality standards and is deeply integrated with the platform.
Badge Requirements
To earn and maintain the Built for Shopify badge, your app must:
- Be fully embedded -- No redirects outside the Shopify admin
- Use App Bridge 4.x or later -- Must use the latest App Bridge APIs
- Implement all applicable extension points -- Use Shopify Functions, Checkout UI Extensions, and Theme App Extensions instead of legacy approaches
- Meet performance thresholds -- Storefront impact consistently under 50ms (stricter than base requirement)
- Maintain high merchant satisfaction -- Average rating above 4.0 with meaningful review volume
- Respond to support requests -- Median response time under 24 hours
- Keep dependencies updated -- No known critical vulnerabilities in dependencies
When Shopify updates the badge requirements, existing badge holders receive a 60-day grace period to comply with new criteria. If your app falls out of compliance, you receive email notifications at 60 days, 30 days, and 7 days before the badge is removed. Monitor the Shopify Changelog closely for requirement updates.
Applying for the Badge
Partner Dashboard → Apps → [Your App] → Distribution → Built for Shopify
The review for the badge is separate from (and more thorough than) the standard app review. Expect the badge review to take 2-4 weeks. Common areas where apps fail the badge review:
- Using deprecated APIs or legacy extension patterns
- Not using Polaris components consistently
- Missing deep linking support (app should respond to specific admin URLs)
- Incomplete error recovery flows
App Listing Optimization
Your App Store listing is your primary sales tool. Merchants browse the App Store much like consumers browse an e-commerce site -- they make quick decisions based on first impressions.
Title and Tagline
- Title: Keep it under 30 characters. Include your primary keyword.
- Tagline: One sentence that clearly states what your app does and who it is for.
Title: "SyncMaster - Inventory Sync"
Tagline: "Real-time inventory synchronization across all your sales channels"
Study the top-ranked apps in your category. Note how they structure their titles and taglines. The best listings lead with the benefit, not the feature. "Save 10 hours/week on inventory" is better than "Multi-channel inventory management tool."
App Description Structure
Write your description for scanning, not reading. Merchants spend an average of 30 seconds on a listing before deciding.
Recommended structure:
- Opening hook (2 sentences) -- The problem you solve and the result you deliver
- Key features (bullet list of 4-6 items) -- What the app does
- Social proof (1 paragraph) -- Merchant count, notable brands, performance stats
- How it works (3-step numbered list) -- Simple setup flow
- Support and pricing (brief) -- What support is included
Keywords and Categories
Shopify's App Store search uses a combination of:
- App title and tagline
- Description text
- Category selection (primary and secondary)
- Merchant review content
Choose your primary category based on where your ideal customer will browse. Choose a secondary category to capture adjacent searches.
Screenshots and Demo Video
Screenshot Best Practices
You can upload up to 6 screenshots. Each one should tell a story:
| Screenshot | Content | Purpose |
|---|---|---|
| 1 | Main dashboard with real data | Show the app in action |
| 2 | Key feature in use | Demonstrate primary value |
| 3 | Settings/configuration | Show ease of setup |
| 4 | Results/analytics | Prove the outcome |
| 5 | Mobile responsive view | Show cross-device support |
| 6 | Integration touchpoint | Show how it fits the Shopify admin |
Technical requirements:
- Minimum 1600 x 900 pixels
- PNG or JPEG format
- No browser chrome or OS-level UI in screenshots
- Use real-looking data (not "Lorem ipsum" or empty states)
Demo Video Guidelines
A 60-90 second demo video increases conversion rates significantly. Structure it as:
- 0-10s: State the problem your app solves
- 10-40s: Show the app solving that problem (screen recording)
- 40-60s: Show the results/outcome
- 60-90s: Call to action (install now, free trial)
Shopify hosts your demo video directly in the App Store listing. Upload an MP4 file (max 200MB). Do not link to YouTube or Vimeo -- the video must be self-contained. Avoid background music that could be flagged for copyright.
Pricing Strategies
Choosing the right pricing model is one of the most consequential decisions for your app business.
Pricing Models on Shopify
| Model | Description | Best For |
|---|---|---|
| Free | No charge | Lead generation, ecosystem apps |
| Freemium | Free tier + paid upgrades | Growth-focused apps |
| Flat monthly | Fixed price per month | Simple, predictable apps |
| Tiered | Multiple plans based on usage/features | Apps with varied merchant needs |
| Usage-based | Pay per action/transaction | High-volume transactional apps |
Implementing Shopify Billing API
// services/billing.js
export async function createSubscription(client, shop, plan) {
const response = await client.query({
data: {
query: `mutation AppSubscriptionCreate(
$name: String!,
$returnUrl: URL!,
$lineItems: [AppSubscriptionLineItemInput!]!,
$test: Boolean
) {
appSubscriptionCreate(
name: $name,
returnUrl: $returnUrl,
lineItems: $lineItems,
test: $test
) {
appSubscription {
id
status
}
confirmationUrl
userErrors { field message }
}
}`,
variables: {
name: plan.name,
returnUrl: `${process.env.HOST}/billing/callback?shop=${shop}`,
test: process.env.NODE_ENV !== 'production',
lineItems: [
{
plan: {
appRecurringPricingDetails: {
price: { amount: plan.price, currencyCode: 'USD' },
interval: plan.interval, // 'EVERY_30_DAYS' or 'ANNUAL'
},
},
},
],
},
},
});
const result = response.body.data.appSubscriptionCreate;
if (result.userErrors.length > 0) {
throw new Error(result.userErrors.map((e) => e.message).join(', '));
}
return result.confirmationUrl;
}
Pricing Tips
- Always offer a free trial (7-14 days). Merchants are reluctant to pay before seeing value.
- Price based on the merchant's Shopify plan. A Shopify Plus merchant at $2,000/month will pay $99/month for your app. A Basic merchant at $39/month will not.
- Include a free tier if your app has network effects or data advantages from having more installs.
- Annual discount of 15-20% incentivizes longer commitments and reduces churn.
Shopify takes a revenue share on all app charges processed through the Billing API. As of 2026, Shopify takes 0% on the first $1M USD earned annually per Partner, and 15% above that threshold. Factor this into your pricing calculations.
App Store SEO
Optimizing for Search
Shopify's App Store search algorithm considers:
- Relevance -- How closely your listing matches the search query
- Quality signals -- Rating, review count, install count, uninstall rate
- Recency -- Recent updates and activity signal a maintained app
- Performance -- Apps with the Built for Shopify badge rank higher
Actionable SEO Tactics
- Include your primary keyword in the app title
- Use natural variations of your keyword in the description (not keyword stuffing)
- Respond to every merchant review (positive and negative)
- Push regular updates (even minor ones) to signal active maintenance
- Encourage satisfied merchants to leave reviews (but never incentivize reviews -- this violates Shopify's terms)
Tracking Your App Store Performance
Monitor these metrics in your Partner Dashboard:
- Impressions -- How often your listing appears in search results
- Page views -- How often merchants click through to your listing
- Install rate -- Page views to installs conversion
- Uninstall rate -- Percentage of merchants who uninstall within 30 days
- Rating trend -- Direction your average rating is moving
A successful App Store listing is never "done." Treat it as a living document -- update screenshots when you ship major features, refine your description based on what merchants search for, and continuously optimize your conversion funnel from impression to install to paid subscription.