How To Create, Launch, And Grow A Successful Shopify App
As many of you already know, Shopify has been taking the ecommerce space by storm and is by far the best platform for anyone, anywhere, to start an online business.
One of the reasons why Shopify is such a great platform for entrepreneurs is because of their App Store which contains thousands of free and premium apps/plugins that merchants can integrate with their store to improve operations & revenue, offer customers a better experience, and more.
On average, Shopify merchants use 6 apps from the App Store to help power their storefront. Some examples include:
And not only is the App Store great for Shopify merchants, it also unlocks amazing opportunities for companies and developers to create apps on the platform that can drive revenue for themselves. If done well, apps can pull in anywhere between $10k to $100k a month, and some can do even more than that.
Myself and my team have built a number of apps for the Shopify App Store over the past years that do over $100k in revenue per year collectively for 3000+ merchants.
We’ve gone through the pains and learnings of what is needed to get started on the Shopify App Store and what it takes. We wish we had an initial guide/overview to prime us for what to expect, which is what prompted me to make this reading.
So in this reading, I’ll take you through the items and buckets to consider to help you create, launch, and grow your Shopify app smoothly. Along the way, if you have any questions, need any help, or find anything confusing, feel free to message me on Twitter (www.twitter.com/ZainManji). I’m happy to help 😊
First, why build an app for the Shopify App Store?
The easiest way to target ecommerce merchants is to go where they’re going. The place where most merchants reside is on Shopify. By building your app on Shopify, your app immediately is able to be seen by 800,000+ merchants. Distribution is king, and Shopify is the kingdom.
Revenue potential is also tremendous on Shopify. The average Shopify app developer earns $2000 monthly per app.
Lastly, help further provide Shopify merchants with tools needed to be successful. From a social perspective, there is a sense of real meaning you can garner by providing meaningful tools that help entrepreneurs be successful and control their own destiny.
How do Shopify merchants access their Shopify apps?
When merchants login to their Shopify account on the web, they access their Shopify Admin portal, from which there is a dedicated “Apps” tab. Here the merchant can see all of the apps they have installed and can visit the Shopify App Store to browse and install other apps.
Some Shopify merchants also use Shopify’s Point Of Sale (POS) product, in which they can access apps either from their home screen or through their Settings tab.
When Shopify merchants click on an app, it either opens the app in an embedded view (like the image below), or it opens your default web browser with the URL to the website that loads the app.
How to discover what app to build on the Shopify platform?
One of the best ways to identify what app you should build is by speaking directly to Shopify merchants to understand what pain points they’re having, what inefficiencies they might be having operating their business on Shopify, how they’re currently driving revenue, what they could be doing better to drive more revenue, and more. From these initial conversations you can find something to build that will help the merchant improve their business.
However, oftentimes getting in touch directly with Shopify merchants is hard… so what do you do?
Browse websites such as Reddit, Shopify’s forum, Twitter, and other places to see what Shopify merchants are complaining about. Oftentimes they post problems they’re having directly on these forums. The fact that they took the time to post on these sites is a good proxy for how much of a burning problem it is. And the problems that frequently appear on these sites provide a good proxy of how many merchants it might be affecting on the platform. You can then directly reach out to these merchants to offer help.
Here are some good examples of threads where merchants express their frustrations:
Will Shopify build your app idea themselves?
No, don’t worry about it. Oftentimes people ask me, “what if Shopify just builds my app idea themselves?”. My answer to them is always no, don’t worry about that, build it anyways — they won’t build your app.
The reason is, Shopify has so many other higher priority items they’re executing on internally, they don’t have the time or resources to build your app. Also, they want to continue to foster, promote, and grow the Shopify app ecosystem so that it continues to be helpful for merchants and continues to create a larger moat for themselves.
One other insight is that most apps on the platform generate revenue, and Shopify takes 20% of the revenue any app generates on their platform. If Shopify were to build the app themselves, they’d be losing out on that incremental 20% of revenue they’d be earning from that app if a developer were to make it.
So overall, there’s an extremely high probability Shopify won’t build your app. And if they do want to build your app, they might just be better off acquiring yours 😁
Ok, so you know what to build. Now before diving into building, there’s a few things to consider…
1. Embedding your app inside of Shopify vs. building your app on a standalone site
When creating an app on the Shopify platform, you essentially have 2 choices.
You can either allow users to access your app inside of the Shopify Admin portals (on Web, POS, Ping, etc) or you can redirect them to a separate external website. There are pros and cons to both decisions…
Embedded app pros:
Merchants don’t have to leave the Shopify Admin portal in order to access the app. This leads to a smoother and frictionless experience, especially on mobile devices and other Shopify platforms (e.g. POS, Ping). On mobile devices, Shopify just opens an in-app-browser inside the Shopify app so you don’t need to formally leave the app.
Allows you to access features and extensions (such as admin links, bulk actions, POS cart) that are only offered for embedded Shopify apps.
Embedded app cons:
Less real estate to play with, since the entire left side of the screen (on desktop) is consumed by the Shopify Admin navigation.
The embedded app itself is presented inside of an iFrame in Shopify Admin, which sometimes limits certain development items you may want.
Only Shopify merchants can access your app since it is embedded directly inside the Shopify admin portal. If you want to expose your app to the public, you’d need to additionally host it on your own website.
External app pros:
More real estate to play with. The amount of additional space you can leverage can make a big difference depending on the functionality of your app.
Can better tightly control your development since you’re not playing inside of an iFrame anymore.
If your app is integrated with other platforms like BigCommerce, Magento, or even just open to the public to use, you can just leverage one hosted domain and create integrations to all sources.
External app cons:
Shopify merchants don’t get that “in-app Shopify” experience.
Some functionalities may not be exposed to your app since you’re not directly inside the confines of the Shopify admin portal.
2. Responsiveness and compatibility across devices
Mobile usage continues to rise over the years, and even though most Shopify merchants access their Shopify Admin portal via desktop, many use their tablet and mobile devices to access it. Therefore, it’s even more important to make sure your app is mobile responsive and the experience across all device sizes is smooth, efficient, and intuitive.
It’s also important to consider which platforms within Shopify merchants are using your app on. Remember, Shopify has a number of products (Web, POS, Ping). On POS, merchants tend to primarily use an iPad. On Ping, merchants tend to primarily use their mobile devices.
So before building, think through which products merchant will most likely use your app on.
3. App permissions
When merchants first install your app from the app store, they are presented with a permissions screen which they have to approve in order to proceed. This outlines to them what permissions your app will be need in order to operate. For example, permissions to view products, manage orders, manage customers, etc.
Before building out your app, try to really think through what permissions your app might need. It’s oftentimes difficult to do so at the beginning since your app will grow and change quite often over it’s development history, so in this case I find it’s better to overestimate what permissions are needed and then trim it down once you get better clarity. You can view all the available permissions you can request here (https://shopify.dev/docs/admin-api/access-scopes)
The reason you want to overestimate instead of underestimate is that if you were to underestimate first and then add more permissions over time, you’d need to continuously prompt the user, inside your app, to re-approve new permissions which can lead to an annoying and confusing experience to your user.
4. Determining your pricing model
Shopify offers 3 main ways you can charge merchants (outside of it being free)
These charges are for recurring use of an app, such as a monthly subscription. They appear on the merchant’s regular Shopify subscription bill and are charged at the beginning of each subscription cycle.
One-time app purchases
These charges are for specific services provided by an app (such as a single migration of your data from one platform to another). They appear on separate bills and are charged to the merchant at point of approval.
App usage charges
These charges are variable based on how much the merchant is using the app or the service (such as the number of interactions provided by a customer service app). They appear on the merchant’s regular Shopify subscription bill. In this scenario, the merchant pays 30 days after they are charged.
Most successful apps lean towards subscription charges (with an initial free trial). The next most popular way seems to be one-time purchases.
In my experience, usage-based pricing seems good in theory, but it ends up putting a lot of risk on you, the app developer. For example, you can charge a merchant $X based on a certain amount of usage, but when you charge them, the merchant doesn’t pay until 30 days later. There has been many scenarios where a merchant might close their store before the 30 days are up, thereby avoiding the need to pay you, which leaves you unable to collect payment from them because their store is closed. Even if a store closes, Shopify won’t collect the payment for you also because they won’t hunt after a closed store.
This is something to keep in mind when choosing your pricing model. You can learn more here (https://help.shopify.com/en/manual/your-account/manage-billing/your-invoice/apps)
5. Don’t overgeneralize your app, keep it focused
If we think a bit in the future regarding how Shopify merchants will discover your app, the more focused your app is, the better it will do and easier it will be discovered by Shopify merchants.
The Shopify App Store is a great place for merchants to discover your app, and SEO and Shopify ads play a huge role in how merchants find your app. The thing to be mindful of here is your keyword optimization in the title and descriptions of your app.
With other search engines, like Google, you’re able to create multiple pages on your website that target different keywords resulting in many of your web pages appearing in search results stemming from a multitude of keywords.
However on the Shopify App Store, the only thing that is leveraged for organic discovery is your App Listing page. Knowing this, it becomes difficult to optimize for a multitude of different unrelated keywords and instead becomes more important to optimize for a set of few tightly correlated keywords.
In other words, it’s important to keep your app focused and to target your App Listing’s title, description, and content body to a specific set of keywords rather than go too broad and overgeneralize it. For example it’s better to name an app as “Bold Subscriptions” rather than “Payment & Finance Platform”. Bold Commerce does a great job of this.
The more general you make your app, the harder it would be for users to know how it will solve their problems at a first glance, and it will cause metrics for your app like CTR, Install Rate, etc to take a hit.
If you find that your app has a lot of features, consider breaking out those features into a separate app altogether so you can continue to keep focused apps. It might be even better as well since it could provide incremental revenue that you would have not gotten if you didn’t break it out into it’s own app.
When you do this, you can even cross-promote your apps within the apps you’ve created. For example, you can have a page/tab in your app that says “Check out apps that pair well with this one”.
6. Understanding what makes apps successful
The theory is quite simple. All successful Shopify apps do one or more of the following:
Generate positive and large ROI for the merchant. At the end of the day a merchant wants to see that if they pay $X to use your app, they get greater than $X in returns.
Drive operational efficiencies for the merchant and eliminate major headaches. These could be things like inventory management, employee scheduling, etc.
Offer unique experiences for the merchant’s customers. This could be something like an augmented reality (AR) experience for your products, personalized experiences, etc.
Keep these in mind when deciding on how to execute your idea.
Ok, now you have a plan, let’s start building! Here’s how to start…
1. Designing your Shopify app
One of the key things to consider when designing your Shopify app is that since Shopify merchants are very familiar with Shopify’s design, colours, and patterns, it’s great if you can continue to incorporate similar aspects of Shopify’s designs and patterns inside your app. This is so that merchants can have continued familiarity and make them feel like your app is a true Shopify app.
Shopify makes this really easy with their Polaris design system. When designing your app on Figma or Sketch, you can use their design system to easily leverage specific components. When you eventually move onto developing the frontend of the app, Polaris comes with a React Component Library so you don’t need to reinvent the wheel and build everything from scratch. It tremendously speeds up your execution.
2. Beginning to code your app
When first building out your app, take a read through some of Shopify’s tutorials and best practices. There’s some great ones to help you get your toes wet.
However, one thing to note is that they’re not extremely extensive and don’t cover certain things you’ll need to implement in your app. One example is the storing of a merchant’s access token in your database. Did you know there’s 2 types of tokens you can get from a merchant from Shopify? An online and an offline one. One expires, and one doesn’t? Shopify often refers to the online token in their tutorials and documentation, but the important one is the offline token which will need to be stored in your DB so you can access APIs reliably and consistently.
This is just one example, but there’s many other items you’ll come across, such as the best way to implement Shopify’s webhooks for listening to customer’s behaviours, best way to execute script tags on storefronts, how to properly send a user through the re-authentication flow, etc.
Once you get your footing and build the foundation, everything becomes rather straightforward. Most apps are built with React & Node, but it’s easy to use Rails or anything else you’d like.
If anyone needs help with getting started or has questions about bugs or weird scenarios you come across, just message me on Twitter (www.twitter.com/ZainManji) and I can help 😊
3. Standing out in the App Store
We briefly discussed this earlier, but SEO is the main way you can differentiate yourself in the Shopify App Store. And being successful at it consists of a few things:
Positioning the appropriate keywords in your App Listing’s title, description, and body.
Gathering lots of reviews from your users at a high rating. The more reviews and higher rating your app is, the higher you’ll place in search results. This is because it signals to Shopify that merchants really love your app.
Completing all of the sections in your App Listing page, such as videos, images, screenshots, pricing descriptions, integration information, and more.
Adding Google Analytics to your App Listing page so you can view and analyze what people are searching when they come across your App Listing page and what is driving installs.
One other way to stand out in the App Store is by speaking to the Shopify Partners team in hopes of getting featured on one of their manually curated lists.
Note, that this doesn’t replace the fact that at the end of the day, you need to build a great app that provides value to Shopify merchants.
4. Analytics and customer support
Out of the box, Shopify gives you some helpful analytic reports to help you view and evaluate how well your Shopify app is performing. These can all be found in your Shopify Partner account.
However, these analytics don’t paint the entire picture. I recommend integrating Mixpanel into your Shopify app so you can better measure and analyze user behaviour, retention, and other metrics you’re curious about.
As well, be sure to add Google Analytics to your App Listing page so that you can monitor how Shopify merchants are discovering your app in the App Store.
As for customer support, Shopify exposes your support email on your App Listing page so that merchants can reach out to you if you have any questions. But in order to easily talk to your early merchants to get feedback and help them with whatever needs they have, I recommend integrating Intercom or Crisp into your app to provide a way for merchants to quickly start a live chat with you.
5. App Store submission
A quick note on submitting your app to the App Store. When your app is ready and you’ve completed your App Listing application, your app will then be submitted to the Shopify team for reviewal.
This process generally takes a minimum of 3 business days, in which the Shopify team will manually go through your app themselves, test major flows, and assess that your app doesn’t violate any policies they have. If anything they find is broken or violates any policies, they then send you an email requesting you to fix those changes.
Once you fix all of their requests/changes, your app will be approved and be available for merchants to download! The good thing is that your app only goes through an approval process once. Once you’re approved, your app is approved for the long term.
And with all that, this should position you in a great way to be successful when creating and growing your Shopify app.
If you have any questions throughout, feel free to send me a message through Twitter: www.twitter.com/ZainManji 👋
Please share with anyone you feel may find value from it as well 🤗