Skip to content
Jake Mor@jakemor · Jul 19, 2022

100 tips I learned growing an iOS app to ~$5M in sales in 3 yrs, going through YC 1.5 times, and co-founding…

31 tweets4 min read16.7Koriginal

Summary

This thread shares 100 monetization tips for growing an iOS app to $5M in sales through YC, emphasizing key metrics like install-to-paywall views and paywall views per user, along with pricing strategies, discount timing, retention tracking, and survey techniques to optimize subscription revenue.

Summarized by ThreadOut AI from the full thread. May miss nuance — read the thread below.

  1. #1

    100 tips I learned growing an iOS app to ~$5M in sales in 3 yrs, going through YC 1.5 times, and co-founding @Superwall 👇

  2. #2

    #1 — Most important metric is App Install → Paywall View. If you aren't already tracking this, start ASAP. @Superwall sees revenue move (almost linearly) with this metric. Double this metric, double your revenue.

  3. #3

    #2 — Second most important metric? Unsurprisingly, paywall views per unsubscribed user. @Superwall doesn't see diminishing returns until around the 7th paywall view on average.

  4. #4

    #3 — Best setup to start with: Paywall BEFORE Onboarding + Paywall AFTER Onboarding + Paywall EVERY App Open.

  5. #5

    #4 — Send push / local notifications out daily. Each app open = paywall view if you follow tip #3. More paywall views = more revenue according to tip #2.

  6. #6

    #5 — Keep track of 24hr and 7d retention. As you focus monetization efforts, use these metrics to inform decisions. Determine what drop in retention you're willing to stomach for what % revenue boost. Usually users you out-price wouldn't have retained anyway

  7. #7

    #6 — Web checkout is killer. Not for paid user acquisition, but for marketing discounts to installs who don't subscribe. You should have a URL like appname.com/checkout?app_u… that deep links to your app after purchase

  8. #8

    #7 — Run drip campaigns. Lower prices on day 0, day 3, day 7, day 14, day 30. Send reminders via push but also SMS or email (but link to web checkout for those). Offer a 30% discount, and keep decreasing price wrt time.

  9. #9

    #8 — To determine the time of your first discount notification, analyze how long it takes for 95% of your trials to come in. Usually it’s 1hr. Send a stripe checkout link after this time with 30% off.

  10. #10

    #9 — Stripe retention is ~2x that of your IAP. I know, it’s crazy. Don't use dark patterns. Add a way to cancel in settings. Email receipts.

  11. #11

    #10 — Run sales. They can account for 20% of total revenue. Christmas, Black Friday, New Years, Memorial Day, Labor Day, Spring Sale, Fall Sale, Summer Sale, Father’s Day, Mother’s Day. 50% off.

  12. #12

    #11 — Price testing is useful but don't go overboard. Rarely do you see a revenue boost of > 10%. First test weekly prices. Then monthly. Then annual. Analyze cohorts over time.

  13. #13

    #12 — For weekly, test $1.99, $2.99, $3.99, $4.99, $7.99, $9.99. Test 3 and 7 day trials. When you find a winner, go onto monthly.

  14. #14

    #13 — For monthly, test $4.99, $7.99, $9.99, $12.49, $14.99, $19.99, $29.99, $49,99. Test 3 or 7 day trials. When you find a winner, go onto yearly.

  15. #15

    #14 — For yearly, test $29.99, $39.99, $49.99, $59.99, $89.99, $119.99, $129.99, $149.99, $189.99. Test 3 and 7 day trials.

  16. #16

    #15 — Above prices are not random. Not only are they almost always the prices @Superwall sees win, nearly all have a nice weekly or monthly counterpart. $119.99 is only $10/mo. $129.99 is only $2.49/week. Tell this to your users.

  17. #17

    #16 — When you find a yearly winner, stick with it. Analyze monthly and weekly cohorts over time. Make a decision 13 months after yearly subscription starts. Compare 13 months of weekly / monthly vs 2 yearly renewals.

  18. #18

    #17 — If you want to offer multiple products, try a weekly or monthly price that is 2x as expensive as the annual, without a trial. Market the annual trial as 50% off. For ex: $10/mo (no trial) vs $59.99/yr ($5/mo after 7 days free, 50% off).

  19. #19

    #18 — For a built-in winback campaign, hide a cheaper priced plan in your subscription group. For ex, offer users $89.99/yr in app, but add a $59.99/yr product called Secret Discount. When users go to cancel, they'll see the discount. I've seen setups increase revenue by 10%.

  20. #20

    #19 — Surveys are important. you MUST be able to track results over time - otherwise your surveys are pointless. You must also be able to change questions very easily. Here’s how…

  21. #21

    #20 — Simplest setup is to show typeform surveys on app open. Add app user id as a hidden parameter. This lets you change questions over time.

  22. #22

    #21 — Add a webhook to your typeform to send results to @mixpanel / @amplitude_hq. This lets you track results over time in a tool you already use.

  23. #23

    #22 — Send two types of surveys out. (1) trial cancel survey, (2) product market fit survey. Use local notifications or RevenueCat + push notif service for trial cancel surveys.

  24. #24

    #23 — For trial cancel survey, ask the following (1) why did you cancel? (Multiple choice) (2) how can we improve (free response). End with a discount via stripe checkout. To analyze free response, use a word cloud.

  25. #25

    #24 — For PMF, ask in-app after a 3rd use of a core feature. Use @rahulvohras survey review.firstround.com/how-superhuman…

  26. #26

    #25 — Get flooded w. written reviews: in your PMF survey, ask users why they love your app. At the end, show them back their answer and ask to paste it as a review.

  27. #27

    You can recall info with Typeform and link out to the app store on on your Exit page; they make this easy to set up.

  28. #28

    #26 — Get flooded w. ratings: 1st ask immediately after onboarding. this This is a bit of a dark pattern, but users read this as “how is your experience going so far?” and are in a tapping mood by the time they are done with onboarding

  29. #29

    #27 — After your first rating request, only ask for an in app rating after the use of a core feature. Only ask if the app version is different from the last time you asked for a rating.

  30. #30

    #28 — Optimizing onboarding is hard. You must balance completion rates and paywall conversion rates. Higher completion rate = more paywall views. Longer onboarding = higher paywallconv rates (due to a sunk cost bias)

  31. #31

    #29 — Personal info like name, age, email, phone + any app permissions have the lowest completion rates. Offload as much as possible to after a paywall view.