The bottom line
Indie apps grow on small budgets by testing one paid channel at a time, borrowing attention from partners, and automating win-backs across every channel. Each step validates the app before more money goes in.
Key takeaways
- Start paid acquisition with one cheap channel, Google search ads. 0:03
- Search ads need only text, so no creatives are required. Start at $10 to $20 per day to check that tracking and push notifications work.
- Apple Search Ads is expensive before the paywall performance is known. Running several channels at once blurs attribution, so you can't tell which one works.
- Add TikTok and bigger budgets only after the paywall converts and retention is good. 1:54
- The last exit combined Google ads with many creatives and TikTok ads to scale fast.
- Apple Search Ads Basic suits small budgets. One client spent 4 to 5 thousand a month with slightly lower conversions than Advanced but a much better cost per install.
- Free traffic comes from partnerships and localized listings, and revenue goes back into ads. 3:53
- Partner with niche e-commerce stores, such as yoga shops for a wellness app. Place your app in their order confirmation emails, which get about 65% open rates.
- Localize listings and screenshots, and share custom product page links instead of default store links.
- Store ranking depends on users staying, so re-engage leavers and collect reviews early. 9:55
- Downloads without use signal irrelevance, much like a bounce on Google search. Send a push right away to anyone who closes the app.
- Aim for 1,000 reviews. 200 bad ones are fine, but zero reviews makes you look like no one. Report bad reviews with typos or spammy text to Apple.
- Automated win-back messages across several channels bring lost users back. 12:11
- A push after a cancellation offers free lifetime pro access in return for honest feedback. Most replies are about pricing. A failed-payment push makes many people fix their payment.
- Repeat the same automations by email and SMS for users who disable notifications. Use an in-app blocker screen for those opted out of everything.
Mixing will get you lost. I don't mix stuff, I start going slow.
Guest developer
Chapter summaries
0:00 Google search ads as the test bed
Early paid traffic is for checking that the app works, so the first channel should be the cheapest to set up.
- Paid traffic proves the app's setup before real money goes in 0:20
- Push notifications may work in testing but fail in production.
- Google ads for iOS tie installs back through Firebase.
- Facebook ads need a video creative, so they wait.
- The principle is to test in small steps before jumping in the ocean.
1:47 Scaling with TikTok and Apple Basic
TikTok and Apple Search Ads Basic suit scaling, but each has quirks to plan for.
- TikTok still scales, but its new flow adds friction 2:08
- The download button once opened the App Store directly.
- A native pre-landing page now lets users decide first.
- You must upload screenshots and a description again, which is high maintenance.
- The speaker dislikes it but sees it as the final way to do it.
- Apple Basic is worth testing on a small budget 2:25
- The speaker's own Basic campaign runs at about a dollar per install.
- Basic was really bad early on, but it has improved.
- Pausing one campaign and starting another shows which has more impact.
3:53 Free traffic and reinvesting revenue
Indie developers without a big ad budget should lean on free channels and put every payout back into growth.
- All revenue should flow straight back into ads 4:06
- Micro influencers, AppRaven, Product Hunt and Reddit can bring free traffic.
- Indie developers don't have $20K a month for ads.
- You will run out of money before the next Apple payout.
- Payout growth looks like an escalator, and you wait unless you have growth financing.
4:28 Setting up Google campaigns
Google can find likely subscribers better than you can, so give it an in-app goal and raise bids slowly.
- Optimize for in-app actions from the start, not installs 4:47
- Google holds data on who signs up for things across the internet.
- It can judge which people are qualified for a given keyword.
- Installs and in-app actions are two different goals.
- A new campaign needs a low target cost raised slowly 5:43
- Set the target cost to one, then increase it step by step.
- Zero impressions for 24 hours can happen.
- Text-only ads get low distribution when the niche is competitive.
6:56 Custom pages and store partnerships
Cheap custom graphics and one-to-one store partnerships turn other people's audiences into free, trackable traffic.
- Localized custom product pages make shared links feel personal. 7:28
- Share the localized page when posting in forums around the world.
- A Fiverr designer can build customizable Figma screenshots for about $50.
- Screenshots can include famous or loved people from a given country, so the app feels familiar.
- Offering "ad free lifetime" is not a lifetime subscription. AppAdvice is starting to reject apps that pair a subscription with remove-ads.
- Placing your ad where readers look in a partner's email wins attention. 8:11
- Test plain text against banners near the shipping information, without sounding spammy.
- Hire a virtual assistant to find store emails, then send cold outreach with a Loom video.
- The Loom can be a general pitch or a walkthrough of that store with feedback.
- A $5 Fiverr job edits their email template. Each store gets its own Branch-tracked link, so you see which stores perform.
9:55 Ranking, retention and reviews
Store ranking rewards downloads that get used and reviewed, so catch users before they leave and ask for reviews early.
- A fake loading screen buys seconds to win back a leaving user. 10:18
- Ranking combines search, downloads, active users and reviews.
- Add the user's city to the push. It is IP based, so location permission isn't needed.
- The re-engagement push should fit your use case.
- The city name is easy to add and makes the message personal.
- Ask for reviews early, but skip the native prompt at launch. 10:46
- Add the native prompt later, when you're relaxed and money is coming in.
- A count near 1K makes you look established in search results.
- Early bad reviews are mostly about price. Nobody writes about functionality yet, so ignore the complaints about aggressive asking.
- A one-star review said the app "damaged my phone". Autocorrect had turned "photo" into "phone". Apple removed it after a report in App Store Connect.
12:04 Win-back automations
Ready-made Upad automations turn cancellations, failed payments and lapsed users into feedback and revenue.
- Cancellation and payment automations work out of the box. 12:09
- Tapping the cancellation push opens a form, and the answers show up on the right side.
- A failed payment triggers its automation automatically.
- The feedback is mainly about pricing, plus the odd "app doesn't work".
- The speaker finds it weird, but many people do fix their payment.
- The secret-offer screen is cloud-based, so it can start after publishing. 12:58
- Set it up online in Upad, activate it and send the push, with no app update.
- The default screen is out of the box, but the close button was changed to "I will watch ads".
- The speaker calls it a mind game that works for him.
In the growth library
Steve P. Young and a developer with a six figure app exit, Steve P. Young hosts App Masters; the guest is an indie developer who sold an app. Practical, low budget growth for indie apps: start paid acquisition with Google search ads one channel at a time, get free users through partnerships, and win back lapsed users with automated push, email and SMS. The guest says localization and Google ads with many creatives plus TikTok ads helped drive his last exit.
Lessons that draw on this:
- How to structure and scale Meta campaigns
- How to tell if paid acquisition is profitable
- How to win in the App Store
- How to add ads, affiliates and partners
- How to use notifications and lifecycle messages
- How to reduce churn and handle cancellations
More from
App Masters · The whole library, and ask it anything