The Swift Kit logoThe Swift Kit
Guide

How to Monetize Your iOS App — The Complete Indie Developer Revenue Guide

You built the app. Now comes the hard part: making money from it. This guide covers every monetization model, the psychology behind pricing, RevenueCat integration, and a concrete roadmap to get from zero to $1K/month in recurring revenue.

Ahmed GaganAhmed Gagan
16 min read

The Reality of iOS App Revenue in 2026

Let me be blunt: most indie iOS apps make very little money. According to a 2025 survey by RevenueCat, the median indie iOS app earns less than $500 per month. The top 5% of apps on their platform cross $10,000/month, and the top 1% hit $50,000+. App Store revenue overall grew to roughly $96 billion in 2025, but the vast majority of that flows to the top 200 publishers.

That sounds discouraging, but here is the thing — the indie developers who do earn a sustainable income are not doing anything magical. They are picking the right monetization model, pricing it correctly, and showing the paywall at the right moment. That is what this guide is about.

I have been building iOS apps for years. I have shipped paid apps that made almost nothing. I have shipped freemium apps that made decent recurring revenue. The difference was never about the quality of the code — it was about how I asked people to pay.

6 Monetization Models Compared

Before you write a single line of paywall code, you need to choose your model. Here is a detailed breakdown of every option available to iOS developers in 2026.

ModelAvg Revenue/UserProsConsBest For
Paid Upfront$2–$10 one-timeSimple, no ongoing pressureLow discoverability, no recurring revenue, hard to sustainNiche utilities with clear value
Freemium$0.50–$3 blended ARPUHigh download volume, upsell pathMost users never pay, support burdenApps with a strong free tier and clear premium features
Subscriptions$3–$15/mo (highest LTV)Predictable recurring revenue, compounding growthHigher churn, requires ongoing value deliveryContent apps, productivity tools, AI features
In-App Purchases$1–$5 per transactionImpulse-friendly, flexibleUnpredictable revenue, can feel exploitativeGames, consumable credits (AI tokens, filters)
Ads$0.01–$0.05/DAUMonetizes free users, no paywall neededLow revenue, degrades UX, privacy concernsHigh-volume casual apps with daily usage
HybridVaries widelyMultiple revenue streams, flexibleComplex to implement, can confuse usersMature apps with large user bases

If you are an indie developer reading this, I will save you some deliberation: subscriptions are almost certainly your best bet. The data backs this up. RevenueCat's 2025 State of Subscription Apps report found that subscription apps generate 4.5x more lifetime revenue per user than one-time purchase apps. The compounding effect of monthly recurring revenue is what separates hobby projects from sustainable businesses.

Deep Dive: Subscriptions — Why They Dominate

Apple actively incentivizes subscriptions. They reduced the commission from 30% to 15% after a subscriber's first year. They built StoreKit 2 with subscription management as a first-class feature. They promoted subscription apps more prominently in the App Store. The message is clear: Apple wants you to build subscription apps.

But the real reason subscriptions work for indie developers is math. If you have a paid app at $4.99, you need to sell 200 copies per month to hit $1,000 MRR. With a $4.99/month subscription, you only need 200 total active subscribers — and every new subscriber adds to your base permanently (minus churn). After 12 months, a subscription app with the same conversion rate will be earning 5x to 10x what the paid app earns.

Weekly vs Monthly vs Annual — What the Data Says

This is one of the most debated topics among indie developers, and the data has shifted over the past two years. Here is what I have seen and what the aggregate data shows:

  • Weekly subscriptions ($1.99–$4.99/week) — Highest gross revenue per subscriber, but also the highest churn (60–70% within the first month). Works well for fitness, dating, and habit apps where users have intense short-term motivation. Not recommended for most indie apps because the churn is brutal and Apple scrutinizes weekly subs more closely.
  • Monthly subscriptions ($3.99–$9.99/month) — The sweet spot for most indie apps. Conversion rates are typically 2–5% from free to paid. Churn rates average 10–15% per month for the first three months, then stabilize around 5–8%. This is what I recommend starting with.
  • Annual subscriptions ($29.99–$79.99/year) — Lower gross revenue per subscriber initially, but dramatically lower churn (annual subscribers renew at 70–80% vs 40–55% for monthly). Offering annual at a 40–50% discount vs monthly is standard. Annual subscribers are your most valuable users.

My recommendation: offer both monthly and annual. Set annual as the default selection in your paywall. Highlight the savings. Most successful indie apps I have analyzed get 40–60% of conversions on the annual plan when it is properly positioned.

Free Trial Strategies That Convert

Free trials are the single most important lever for subscription conversion. Apple supports both introductory offers (free trial, pay-up-front, pay-as-you-go) and promotional offers. Here is what works:

  • 3-day trials — Short enough to create urgency, long enough to show value. Best for apps where value is immediately obvious (photo editors, AI tools). Typical trial-to-paid conversion: 40–55%.
  • 7-day trials — The most popular option. Gives users enough time to develop a habit. Works well for productivity apps, fitness trackers, and learning apps. Typical trial-to-paid conversion: 30–45%.
  • 14-day or 30-day trials — Only use these if your app requires a longer onboarding period or the value compounds over time (like a finance tracker). Conversion rates drop to 20–30% because many users forget about the app.

One important tip: trigger the trial offer at the right moment. Do not shove a paywall in users' faces on first launch. Let them experience the app, hit a natural limit (like running out of free AI generations or trying to access a premium feature), and then present the trial. Apps that show the paywall after the user has experienced value convert 2–3x better than those that gate everything behind a paywall on launch.

Paywall Placement: When and Where to Show It

Paywall placement is more important than paywall design. I have seen well-designed paywalls with terrible placement convert at 1%, and basic paywalls with great placement convert at 8%. Here are the strategies that work:

  1. After onboarding (soft gate) — Show the paywall after your 3–4 screen onboarding flow. The user has already invested time and is primed. This works best when combined with a free trial. Conversion: 3–6%.
  2. Feature gate — Let users use the free tier, then present the paywall when they try to access a premium feature. This is the highest-converting placement because intent is clear. Conversion: 5–10%.
  3. Usage limit gate — Allow N free uses per day/week, then show the paywall. Common for AI apps (5 free generations, then subscribe). Conversion: 4–8%.
  4. Settings/profile tab — A passive "Upgrade to Pro" button. Low conversion (0.5–2%) but captures users who independently decide to pay.

The best strategy is to combine multiple placements. Show a soft gate after onboarding, use feature gates throughout the app, and always have a passive upgrade option in settings. Check out our SwiftUI paywall design guide for implementation details on each pattern.

Deep Dive: In-App Purchases

Subscriptions are not always the answer. Some apps are better suited to in-app purchases (IAPs). There are two types:

  • Consumables — Purchased, used, and gone. Think AI credits, virtual currency, extra lives in games. Users can buy them repeatedly. These work well when your app has a natural "unit of value" — like generating one AI image or unlocking one premium filter.
  • Non-consumables — Purchased once, owned forever. Think "unlock all filters" or "remove watermark." These behave like a one-time unlock and must be restorable. Good for simple apps where ongoing features do not make sense.

A growing trend in 2026 is the hybrid model: offer a subscription for power users and sell consumable credit packs for casual users. This works well for AI-powered apps. For example, offer a $9.99/month subscription with unlimited generations, or sell packs of 50 credits for $4.99. You capture both segments.

The Psychology of Pricing

Pricing is not math. It is psychology. The difference between a 2% and a 6% conversion rate often comes down to how you present the price, not what the price actually is.

Anchoring

Always show the most expensive option first. If users see "$59.99/year" before they see "$6.99/month," the monthly price feels cheap by comparison. If you show the monthly price alone, $6.99 feels like a lot for an app. Context is everything.

Decoy Pricing

The three-tier pricing strategy works because of the decoy effect. Offer three plans:

  • Monthly: $6.99/month ($83.88/year equivalent)
  • 6-Month: $29.99 ($59.98/year equivalent) — this is the decoy
  • Annual: $39.99/year (highlighted, "Best Value")

The 6-month plan exists purely to make the annual plan look like a better deal. Very few users will pick the 6-month option, and that is the point. The annual plan should always be highlighted as the recommended choice.

Urgency and Scarcity

Limited-time introductory pricing genuinely works. "50% off your first year" with a countdown timer increases conversion by 15–25% in most tests. Apple supports promotional offers natively, so you can implement this without violating any guidelines. Just be honest — do not fake urgency.

Actual Paywall Pricing Analysis

Here are real pricing examples from successful indie apps and why they work:

  • Structured (daily planner): $2.49/month or $19.99/year. The annual plan is positioned as "Less than $1.70/month." Breaking annual pricing down to a daily or monthly equivalent is a proven tactic.
  • Craft (docs app): Free tier is generous. Pro is $4.99/month or $44.99/year. They focus heavily on the annual plan and offer a 7-day trial. Their paywall emphasizes what Pro unlocks vs what Free does — a comparison table approach.
  • Flighty (flight tracker): $49.99/year with no monthly option. Bold move that works because the app's value is crystal clear and the audience (frequent travelers) has high willingness to pay.

Apple's Commission Structure

Understanding Apple's cut is critical for pricing. Here is the complete breakdown:

ScenarioCommissionYour Take on $9.99Notes
Standard (revenue over $1M/year)30%$6.99Default rate for large publishers
Small Business Program (under $1M/year)15%$8.49Most indie developers qualify — you must enroll
Subscription Year 130% (or 15% SBP)$6.99 / $8.49Standard rates apply in first year
Subscription Year 2+ (standard)15%$8.49After subscriber retains for 1 year
Subscription Year 2+ (SBP)15%$8.49Same rate — SBP and Year 2+ both 15%
In-app purchases (SBP)15%$8.49Same SBP rate applies to IAPs

Key takeaway: if you earn less than $1 million per year (which is almost every indie developer), enroll in the Apple Small Business Program immediately. It cuts your commission in half, from 30% to 15%. This is free money you are leaving on the table if you have not enrolled. Go to App Store Connect and apply — it takes five minutes.

RevenueCat Setup: Why Use It Over Raw StoreKit

You could build everything with StoreKit 2 natively. I have done it. It works. But after the third app, I switched to RevenueCat permanently, and here is why:

  • Server-side receipt validation — StoreKit 2 requires you to build and maintain your own server-side validation. RevenueCat handles this for you, including edge cases like grace periods, billing retries, and family sharing.
  • Cross-platform support — If you ever add an Android version or a web app, RevenueCat unifies your subscription data across all platforms.
  • Analytics dashboard — MRR, churn, trial conversions, LTV — all visualized without building a single dashboard yourself.
  • Remote paywall configuration — Change your pricing, offerings, and trial durations from the RevenueCat dashboard without shipping an app update.
  • Free tier is generous — RevenueCat is free up to $2,500/month in tracked revenue. Most indie developers never need to pay.

The setup is straightforward. For a complete walkthrough, read our RevenueCat SwiftUI integration guide. Here is the condensed version:

// 1. Configure on app launch
import RevenueCat

@main
struct MyApp: App {
    init() {
        Purchases.logLevel = .debug
        Purchases.configure(withAPIKey: "appl_YOUR_KEY")
    }
}

// 2. Fetch offerings in your paywall
@MainActor
class PaywallViewModel: ObservableObject {
    @Published var offerings: Offerings?
    @Published var isPro = false

    func loadOfferings() async {
        do {
            self.offerings = try await Purchases.shared.offerings()
        } catch {
            print("Failed to load offerings: \(error)")
        }
    }

    func purchase(_ package: Package) async {
        do {
            let result = try await Purchases.shared.purchase(package: package)
            self.isPro = result.customerInfo
                .entitlements["pro"]?.isActive == true
        } catch {
            print("Purchase failed: \(error)")
        }
    }

    func restorePurchases() async {
        do {
            let info = try await Purchases.shared.restorePurchases()
            self.isPro = info.entitlements["pro"]?.isActive == true
        } catch {
            print("Restore failed: \(error)")
        }
    }
}

That is the core of it. RevenueCat handles receipt validation, renewal tracking, grace periods, and subscriber status. You just check the entitlement.

Analytics You Must Track

You cannot improve what you do not measure. Here are the metrics that matter for subscription apps, in order of importance:

  • MRR (Monthly Recurring Revenue) — Your north star metric. This is what you earn per month from active subscriptions, net of Apple's commission. Track this weekly.
  • Trial-to-Paid Conversion Rate — What percentage of users who start a free trial convert to a paying subscriber? Healthy range: 30–50%. Below 25%, your onboarding or trial experience needs work.
  • Monthly Churn Rate — What percentage of subscribers cancel each month? Healthy range: 5–10% for monthly subscribers. Above 15%, you have a retention problem.
  • LTV (Lifetime Value) — How much total revenue does an average subscriber generate? LTV = ARPU / Monthly Churn Rate. If your ARPU is $5 and churn is 8%, your LTV is $62.50.
  • Paywall Impression-to-Purchase Rate — Of users who see your paywall, how many buy? Healthy range: 3–8%. Below 2%, redesign your paywall — see our paywall design guide.
  • Realization Rate — Percentage of expected revenue you actually collect. Billing issues, failed renewals, and refunds reduce this. Healthy: 85–95%.

RevenueCat gives you all of these out of the box. If you want more granular event tracking (like which screen a user was on when they converted), integrate TelemetryDeck or PostHog alongside RevenueCat.

Common Monetization Mistakes

I have made most of these mistakes myself. Learn from my expensive lessons:

  1. Showing the paywall too early. If users see a paywall before they understand what your app does, they will not convert — they will leave. Let users experience value first. The "aha moment" must happen before the "please pay" moment.
  2. Offering too many price options. Three plans maximum. More options create decision paralysis. Two plans (monthly + annual) is often ideal.
  3. Not A/B testing your paywall. Your first paywall design will not be optimal. RevenueCat supports remote paywall experiments. Test different pricing, trial lengths, copy, and layouts. Even small improvements compound: going from 3% to 4.5% conversion is a 50% revenue increase.
  4. Pricing too low. Indie developers chronically underprice. If your app provides real value (saves time, entertains, solves a problem), $4.99–$9.99/month is completely reasonable. Users who find $4.99/month expensive were never going to pay anyway.
  5. No restore purchases button. This is an App Store Review requirement. Every paywall must include a "Restore Purchases" option. Missing it is an instant rejection.
  6. Ignoring churn. Acquisition gets all the attention, but reducing churn from 12% to 8% has the same effect on revenue as increasing new subscribers by 50%. Send push notifications with new features. Remind users of the value they are getting.
  7. Not enrolling in the Small Business Program. I mentioned this above, but it bears repeating. If you earn under $1 million/year, you are paying Apple 30% instead of 15%. That is a massive difference.

How to Grow from $0 to $1K/Month MRR

Here is a concrete, step-by-step roadmap. No fluff, just what works.

Phase 1: Foundation (Week 1–2)

  1. Choose your monetization model. For most apps, go with subscriptions (monthly + annual) with a 7-day free trial.
  2. Set up RevenueCat. Create your products in App Store Connect, configure offerings in RevenueCat, and integrate the SDK. Use our RevenueCat integration guide or start with The Swift Kit's pre-built integration.
  3. Build your paywall. Start with a single clean design — a "Classic Stack" paywall with two pricing options (monthly and annual, annual pre-selected).
  4. Enroll in Apple's Small Business Program to get the 15% commission rate.

Phase 2: Launch and Initial Users (Week 3–6)

  1. Ship your app with the paywall. Place it after onboarding and behind your most valuable premium feature.
  2. Track everything from day one. Set up RevenueCat dashboard alerts for new trials, conversions, and cancellations.
  3. Target 100 free trials in the first month. If your app is good and marketed correctly, this is achievable through ASO (App Store Optimization) alone. Use keyword-optimized screenshots, a compelling subtitle, and a clear first-paragraph description.
  4. At a 35% trial-to-paid conversion, 100 trials gives you 35 subscribers. At $4.99/month, that is $174 MRR. Not much, but it is the beginning.

Phase 3: Optimize and Scale (Month 2–6)

  1. A/B test your paywall. Try different pricing ($3.99 vs $5.99 vs $7.99). Test different trial lengths (3-day vs 7-day). Test different copy on your paywall headline.
  2. Add a second paywall trigger. If you only show the paywall after onboarding, add a feature gate for your most popular premium feature.
  3. Reduce churn. Send push notifications highlighting new features. Add "streaks" or other retention mechanics if applicable. Email users who cancel and ask why.
  4. Grow downloads through content marketing, social media presence in the iOS dev community, and ASO improvements. Every 1% improvement in conversion rate or reduction in churn rate compounds over time.
  5. At 200 paying subscribers and $4.99/month, you hit ~$1,000 MRR. With consistent effort, most viable apps can reach this within 4–6 months.

Phase 4: Compounding Growth (Month 6+)

Once you have product-market fit (evidenced by healthy trial-to-paid rates and reasonable churn), your MRR compounds naturally. New subscribers add to your base, and the subscribers who stick around keep paying. This is the beauty of subscriptions — the math works in your favor over time.

At this point, consider adding annual plan promotions, referral incentives, and expanding to new markets (localize your app and paywall for top-grossing countries like Japan, Germany, and the UK).

Skip the Boilerplate — Ship Faster

Building paywalls, integrating RevenueCat, wiring up analytics, and designing subscription flows takes weeks of development time. The Swift Kit includes pre-built paywall templates, full RevenueCat integration, subscription management, restore purchases, and entitlement handling — all ready to go. Just plug in your API keys and start monetizing on day one.

Check out our pricing or browse the documentation to see everything included.

Share this article

Ready to ship your iOS app faster?

The Swift Kit gives you a production-ready SwiftUI codebase with onboarding, paywalls, auth, AI integrations, and more. Stop building boilerplate. Start building your product.

Get The Swift Kit