50 actionable tips to grow your subscription app
Zach Shakked shares everything he's learned from the past 8 years
Hi! I’m Zach Shakked. I’m an app developer based in New York City, and I’ve built Hashtag Expert, Command, and Caption Expert to $5M ARR.
I’ve been building apps since 2014, and while I’ve had my share of successes, I’ve also made a ton of mistakes along the way. I’d like to share these to save you some time, pain, and frustration – so you can learn from my experiences.
Here are my 50 actionable tips for success in the app world:
1. You can do it. So many people talk themselves out of building things and putting their products out into the world. There is only one way to get better at building app businesses and that is by doing. Build something. Launch. Market. Design. Collect feedback. Iterate. And keep at it for 6 months. You’ll already be way ahead of the competition.
2. Don’t make your app require payment up front. If you can convince people to pay up front, you can probably convince them to pay for a subscription. Freemium will almost always net you more money, while going for payment up front is rarely worth it. Add lifetime instead.
3. Analytics are your eyes and ears. Add Firebase Events at a minimum (free), and if you’re serious, use Mixpanel or Amplitude. Otherwise, you’re flying blind and have no idea how people are using your app.
4. Do keyword research using Appfigures or another App Store optimization tool to strategically pick app keywords, titles, and subtitles that match what users are already searching for on the app store.
5. Take paywall inspiration from top-grossing apps. A lot of people have spent absurd amounts of time and money testing their paywalls, but I wouldn’t recommend trying to reinvent the wheel. Use @Superwall for fast iteration and amazing templates and paywallscreens.com for examples.
6. Prompt for ratings early in the first app session. After the user has experienced a core feature of the app, prompt for a rating and review, as these help with your rankings for App Store keywords.
7. Add a feedback Typeform or email within the app in an obvious place. This will help to gauge users’ anecdotal experiences with the app while letting you spot problems and bugs quickly. User feedback should be a core input to your future roadmap.
8. Append useful metadata about the app or in email subject lines or Typeform URL parameters, such as build number, timezone, country, and device type, to make debugging things easier.
9. If you’re not amazing at UI design or user experience, draw inspiration from popular apps and put your own twist on their designs. When learning design, one of the most popular pieces of advice I received was “try to recreate existing designs.” I’ve found that this is a great way to learn.
10. Don’t reinvent the wheel. If building backends isn’t easy for you, use Firebase, Supabase, or another backend-as-a-service. You can always change things down the road. Make sure you use one where data can be easily migrated (not CloudKit).
11. Don’t over-engineer. At the same time, don’t use subpar code design patterns, and don’t be lazy. Get the app out ASAP and start collecting reviews and feedback, then iterate and improve. It’s better to sprint launch a basic version of your app in 2 weeks than to spend 3 months building an app no one wants.
12. Optimize for learning speed. You want to start learning about your market and users as fast as possible, so it’s better to update frequently in the beginning than to spend months building the “perfect” version. Perfection is elusive.
13. Never offer an iPad app in the beginning — it’ll make your life hell. You can’t ever “un-support” iPad, the market for iPad is much smaller than iOS, and you’ll always need extra screenshots and extra testing. It’ll also just slow you down in the beginning, which is exactly when you want speed.
14. Lean on SaaS providers, as most of them have startup plans that are really generous (ask if you don’t see one). Tools like Intercom, customer.io, RevenueCat, Superwall, Sendbird, Firebase, Typeform, Zendesk are all awesome and will save you a lot of time.
15. Don’t get frustrated when you get rejected. I used to get so mad every time I was rejected, but now I just accept what they say and upload a tweaked build with whatever changes they want. If it’s your first app, there’s probably a lot of little things you didn’t know, so just laugh it off.
16. A good strategy is to launch the app as free, then use the status as a free app as a marketing line on Reddit, Discord servers, and other forums. You can figure out what features are popular and later paywall those for new users while grandfathering in free access for legacy users.
17. Don’t be afraid of competition (lots of similar apps in the same space). Competition is a good thing! It means people are already searching, downloading, and paying for apps in that space. In the long run, the best app will win.
18. Take breaks for weeks at a time. It often takes a few weeks for things to settle or happen, and new updates can take 48 hours to propagate. Revisiting the app in two weeks or a month with a fresh set of eyes will help you make it better.
19. If you have a feature that you think could be its own app, try launching it like one. Each app listing is like opening a new restaurant: Diners sell steaks, but you’re more likely to order steak from a steakhouse. Apps branded around a core feature do better than a one-stop shop.
20. The best apps do one thing really well. Find that one thing for your app and relentlessly improve it. What is the core flow in the app that people use? Figure out what that is, and focus on it.
21. Work on the highest-volume parts of the app. Adding a setting that lets 1% of users customize some niche feature won’t move your metrics, but improving onboarding so 80% instead of 50% make it through could change the trajectory of everything.
22. Take advantage of A/B-testing features in App Store Connect. Test different screenshots, app icons, app descriptions, and app subtitles. One little change could make a huge difference, and at a minimum, you’ll learn what doesn’t work.
23. Add surveys! Typeform chat surveys are my new favorite because it looks like you’re having a conversation. Ask users the classic PMF questions, or just say: “What do you like or dislike about the app?” Ask for an email and set up a call to truly understand your users.
24. Test big changes in pricing. Try $20/year, $80/year, and $200/year — you could be vastly undercharging or overcharging for your app, and you’d never know it. Test big changes in the beginning.
25. Offer lifetime plans. I haven’t tried this one myself, but I’m planning to do so, and lots of companies say it’s their biggest seller. Why not give it a go?
26. Add a video to your paywall. It’s boosted my conversion rate by a lot, and I’ve heard the same from others.
27. Add push notifications via Firebase and send out marketing messages on big events. It’s free engagement.
28. Use Deel to hire contractors. It’s the gold standard, it’s affordable, and they have a great contract that makes sure you have all the boxes ticked in terms of IP and confidential information.
29. If you use Upwork, get contractors to sign up through Deel (even if you pay them on Upwork) just to verify their identity. I’ve had a number of instances where contractors were using fake names, and Deel helps avoid issues by requiring ID/passport verification.
30. Always give subcontractors new emails to do work under via G suite. This gives you a backstop if something ever happens or if you fire them: You can revoke their access to everything before you let them go.
31. Use /termsfeed.com for privacy policies and terms of service until you get big enough to hire a lawyer to handle it.
32. Use trackable links for all campaign promotions. In ASC, you can generate links that let you see revenue and installs generated by a specific link (opt-in only), and you can also extrapolate data.
33. Hide ASC promo links behind bitly (bitly has an /apple.co domain, somehow).
34. Be wary of using fresh tech that Apple provides. For example, Swift had breaking changes for the first few years, and the same thing happened with SwiftUI. Using older but reliable frameworks can save you future hassle.
35. Use whatever languages and frameworks allow you to ship as fast as possible. Speed matters way more than good engineering in the beginning.
36. Don’t ever use Apple Search Ads basic. Watch a few videos and learn about advanced Apple Search Ads — it’s not that hard. Try bidding on competitor keywords (exact match) because that’s where you can find cheap, high-intent installs.
37. Build in public to get word-of-mouth marketing and initial hype. There are some drawbacks to this approach for sure, but people love seeing progress, and it can be a great way to grow an app in the beginning.
38. If you want to launch on Product Hunt, get someone who has a lot of followers to submit it. If your product isn’t horrible, they’ll often say yes. At the very minimum, ask for feedback from top hunters, which could lead to a future conversation where they offer to submit it on your behalf.
39. Consider adding Intercom to your app in the beginning so you can have conversations with users and talk to them in real time as they’re experiencing the product. It’s a great way to collect feedback.
40. If you get a random idea for another app, just build it and sprint launch it in a weekend. Don’t worry about getting distracted from your core app projects — inspiration fades quickly, so act on it immediately.
41. The correlation between time spent working on an app and its success is not 1:1. An app you build in a weekend can easily surpass an app you spend 6 months on if the idea or positioning is better.
42. Form an LLC if you start getting some traction and convert to an S-corp if you’re not planning to raise investor money. This saves you a lot on taxes if you’re making over $150,000, I think. (This isn’t financial advice!)
43. The words in your company’s legal name act as ASO keywords in the App Store, so name intelligently.
44. If you want feedback from successful developers, DM them on Twitter and Instagram with super-straightforward, easy-to-answer questions (e.g., “Here are two screenshots of my paywall — which do you like better?”). Open-ended questions take time and energy to answer and are less likely to garner a response.
45. Keep really clean accounting books. Know exactly how much money you are spending per month and also how much you are profiting.
46. Use donotpay.com burner credit cards for free trials of SaaS tools, so you don’t get accidentally billed.
47. If your app is getting some traction, trademark your name in the United States. It’s pretty cheap and definitely worth it.
48. The best tips are in niche group chats and communities, so try to find a community of indie developers or make one with friends to share tips and tricks.
49. Read https://mobiledevmemo.com, stratechery.com, madv.io, growthgems.co, indiehackers.com, r/entrepreneur, ycombinator.com/blog, review.firstround.com.
50. Listen to the Sub Club podcast, Acquired, My First Million, and Not Investment Advice to keep up with trends and get ideas. Also, follow @eric_suefert, @jakobgreenfeld, @thomasbcn, @jakemor, @parrots, @rjonesy, @drbarnard, @herrmanndigital.
I build in public a lot and share my growth hacks and tips frequently on Twitter, so if you found this useful, give me a follow. I also created a new startup called Fooga which is a social fitness app, check it out!