DEV Community

Shopify App Store Submission - 14 Things I Wish I Knew Before My First Submit

I just submitted multiple Shopify apps. Here's everything I learned that the docs don't clearly tell you.

Screencast Video Is Required - Not Optional

I assumed the demo video was a "nice to have." It's not. You literally cannot submit without a screencast URL (YouTube, Vimeo, or Loom). Plan for this before you open the listing form. Keep it 60โ€“90 seconds: install โ†’ enable โ†’ core feature working. Upload as unlisted on YouTube.

Screenshots Must Be Exactly 1600ร—900

Not "at least 1600 wide." Not 2400ร—1350 (same aspect ratio). Exactly 1600ร—900 pixels. I had to re-render all my screenshots after discovering this the hard way. Pro tip: if you're using Chrome to capture, set devicePixelRatio to 1 - HiDPI screens will silently render at 2400ร—1350.

No Pricing Language Anywhere in Images

Shopify's automated scanner catches text in screenshots too. I had "Free forever" as a badge in one screenshot - flagged immediately. No "free", no "$0", no pricing references in any image. Pricing info belongs only in the pricing section.

The Subtitle Is a Sentence, Not a Keyword List

"GDPR, CCPA, Cookie Banner, Consent Mode" gets flagged as keyword stuffing. Write a value statement instead: "A consent banner that keeps your analytics working after consent."

"Never Breaks" = Unsubstantiated Claim

Any absolute or comparative claim gets rejected. "Never breaks your tracking", "the fastest", "guaranteed results" - all flagged. Describe the mechanism instead: "Consent is applied through Shopify's Customer Privacy API, so pixels continue working in a consent-aware way."

Your App Icon Goes on the Dev Dashboard, Not Partner Dashboard

Spent 20 minutes looking for the icon upload in the Partner Dashboard. It's not there. Go to dev.shopify.com โ†’ your app โ†’ settings. Must be exactly 1200ร—1200.

Feature Media โ‰  Screenshots

I originally uploaded the same image for both. They display adjacent in the listing - duplicating looks unprofessional.

  • Feature Media (1 image) = hero benefit image that sells the value.
  • Screenshots (3+) = product walkthrough showing how it works.

Category Cannot Be Changed After Submission

Choose carefully. I almost picked the wrong one and would have had to create a new app to fix it.

Embedded App Checks Run Every 2 Hours

Your submit button will be greyed out until these checks pass. They run automatically every ~2 hours. To trigger them faster: open your app on a dev store so it generates session data, then click "Run" on the checks page.

There Are Hidden Required Fields

Category-specific tags (e.g., "Compliance types", "Accessibility tools"), Languages, and App Capabilities checkboxes are all required but don't appear until you've selected your category. I hit these at submit time and had to go back.

"Embedded" + "Online Store" Capabilities

If your app has an admin page (App Bridge) AND a theme extension (storefront widget), you need to check BOTH "Embedded" and "Online store" in the capabilities dialog. Missed "Online store" on my first try.

Testing Instructions Are Gold - Write Them Clearly

Reviewers follow your testing instructions step-by-step. A clear numbered list (install โ†’ enable โ†’ test โ†’ verify) reduces back-and-forth. Include specific values to enter: "Enter phone number 1415555267100" - don't make the reviewer guess.

Approval Is Faster Than You Think

Every post online says "3โ€“5 weeks." My first app was approved in 3 days. The second took 3 days too. Don't delay submission waiting for perfection - submit and iterate. You can update your listing after approval.

Bonus: My Pre-Submission Checklist

I use this before every submission now:

  • [ ] Icon: 1200ร—1200, uploaded to Dev Dashboard
  • [ ] Screenshots: exactly 1600ร—900 (devicePixelRatio=1), no pricing text
  • [ ] Feature Media: 1600ร—900, different from screenshot #1
  • [ ] Screencast: uploaded to YouTube (unlisted), URL ready
  • [ ] Listing copy: intro โ‰ค100 chars, details โ‰ค500 chars, features 3โ€“5 ร— โ‰ค80 chars
  • [ ] No "free" in features/images, no absolute claims, subtitle is a sentence
  • [ ] Category tags filled, languages selected, capabilities checked
  • [ ] SEO fields: title tag (โ‰ค60), meta description (โ‰ค160)
  • [ ] Privacy + Terms URLs returning 200
  • [ ] App installed on dev store + working (triggers embedded checks)
  • [ ] Testing instructions: clear numbered steps with specific test values

Hope this saves someone a few hours of confusion. If you're building Shopify apps and have questions about the process, happy to share more in the comments.

Comments

No comments yet. Start the discussion.