Key takeaways

  • Keep lessons free and charge a subscription for convenience: no ads, unlimited hearts or energy, and extra practice features.
  • Hearts or energy create the moment free learners need help, and rewarded ads and a gem economy turn that moment into revenue without a paywall.
  • An offerwall can let learners aged 16 and over earn gems for streak freezes, but it never belongs in an app aimed at children.

How do you monetize a language learning app?

You monetize a language learning app with a freemium model: lessons stay free, a subscription removes ads and limits, rewarded ads refill hearts or energy, and a soft currency such as gems buys streak freezes and extra practice. An offerwall can add a way for free learners aged 16 and over to earn gems without paying. If your audience includes children, store rules and COPPA change the plan: no offerwall, and strict limits on ads and data.

This is the pattern Duolingo describes in its annual report. Below is how each layer works and which rules apply.

The Duolingo model, from its own filings

Duolingo’s Form 10-K for 2025, filed with the US Securities and Exchange Commission, describes a freemium business: it allows users to access its content for free and charges a subscription for additional features. The filing gives a clear picture of how that model makes money:

  • Subscriptions carry the business. Total revenue for 2025 was $1,037.6 million, of which $873.4 million was subscription revenue. By our math from that table, that is about 84%.
  • Ads monetize free learners. The filing says learners who use Duolingo for free see an ad at the end of each lesson, that subscribers get an ad-free experience, and that about 7.7% of 2025 revenue came from advertising. It also says ad revenue is primarily a function of the number and engagement hours of free users.
  • In-app purchases sell one-time help. The filing defines in-app purchases as one-time benefits such as “Streak Freezes” and “Timer Boosts”, counted in “Other” revenue together with advertising and the Duolingo English Test (about 4.0% of revenue).
  • Few people pay. About 9% of monthly active users were paid subscribers at the end of 2025, roughly 12.2 million people out of more than 130 million monthly active users.
  • Streaks drive the habit. The filing says gamification brings learners back each day, defines a streak as the number of days in a row a lesson is completed, and reports about 43 million daily active users with a streak of 7 days or longer.

The lesson for a smaller app is the shape, not the scale: roughly nine in ten users never pay, so ads and earned currency must work for them, and a daily habit makes both possible. Figures are for the year ended December 31, 2025, checked on October 29, 2026.

Duolingo has also changed its free-user limit. In a July 2025 blog post, it introduced Energy, a system that started with a small number of users and replaces Hearts for them. The post says losing a heart per mistake was not the most effective way to support learning, that each lesson now uses a little energy, that several correct answers in a row earn energy back, and that a rewarded ad or gems can refill it.

Language app business models compared

MethodWho paysWhere it fitsMain risk
SubscriptionA small share of committed learnersPaywall screen, out-of-energy screen, after a streak milestonePaywalling lessons hurts growth and reviews
Hearts or energyNobody directly; it creates demandDuring lessons, as a soft limit on mistakes or lessonsFeels like a punishment for learning
Rewarded adsAdvertisers, per viewRefill energy, double XP, recover a lost streakToo generous rewards make the subscription pointless
Interstitial adsAdvertisers, per impressionAfter the lesson complete screenShown mid-lesson, they break concentration
Gems and one-time purchasesLearners who buy gem packsShop: streak freezes, energy refills, extra challenge lessonsSelling shortcuts that skip actual learning
OfferwallAdvertisers, per completed offer“Earn gems” screen next to the gem shop, for users 16 and overAge rules; cheap gems that inflate the economy

This is hybrid monetization, as in games. Hybrid monetization: ads plus in-app purchases explains how to keep the two from cannibalizing each other.

Subscriptions: what to put behind the paywall

Sell convenience and depth, not the lessons themselves. A learner who hits a paywall on lesson three leaves. A learner who uses the free app daily for two months is your best subscription prospect.

Good subscription perks for a language app:

  • No ads, the perk Duolingo’s filing names.
  • Unlimited hearts or energy, plus review of past mistakes and extra listening and speaking drills.
  • AI features. Explanations of wrong answers or conversation practice. Duolingo’s filing describes its higher Max tier as adding AI-powered features on top of its Super tier. They cost you money per use, so keep them paid.
  • Offline lessons and a family plan for households with several learners.

Annual plans fit a goal that takes months. Offer a free trial and ask at moments of commitment: after a 7-day streak, after a unit, or on the out-of-energy screen. On iOS, Apple’s App Store Review Guidelines require in-app purchase for subscriptions and in-game currencies (3.1.1), and say an auto-renewable subscription must provide ongoing value and last at least seven days (3.1.2(a)), checked on October 29, 2026.

For everyone else, see How to monetize free users without a paywall covers the general strategy.

Hearts, energy and rewarded ads

Hearts and energy slow down guessing and create a moment when a free learner wants more lessons now. That moment is where rewarded ads, gems and the subscription offer appear together.

Hearts or energy?

  • Hearts are lost on mistakes. They are easy to understand but punish beginners, who make the most mistakes.
  • Energy is spent per lesson or per exercise and can be earned back with correct answers. It rewards good learning and limits volume instead of errors, which is the reason Duolingo gave for testing it.

Either way, refill it over time so a free learner can always do a daily lesson. A streak that cannot survive without paying feels like a trap.

The out-of-energy screen

Show three choices, in this order: wait (with a timer), watch an ad for a partial refill, or use gems or start a trial for a full refill. Google’s AdMob rewarded ads policy says rewarded ads may only be served after the user affirmatively and unambiguously opts in, that you must clearly disclose the required action and the reward first, and that direct monetary items may not be offered as rewards under any circumstance (checked on October 29, 2026). Energy, hearts, XP and gems are fine. What are rewarded ads? covers the format.

Illustrative energy settings (sample numbers only)

A free learner holds 30 energy and a lesson costs about 10. Three correct answers in a row give 1 energy back. One rewarded ad restores 10 energy, up to three ads a day. Energy refills fully in about a day. Gems buy a full refill, and subscribers have unlimited energy. These are starting points to A/B test against day 7 retention and trial starts, not benchmarks.

Keep interstitials on the lesson complete screen, never between exercises. How to monetize a quiz app covers interstitial pacing and the Google Play ad rules in detail, and the same timing logic applies to lessons.

Gems, streak freezes and extra lessons

Learners earn gems by finishing lessons and challenges, and can buy more. What gems buy decides whether your economy helps learning or undermines it.

Good things to sell for gems

  • Streak freezes that protect a streak on a missed day. Cap how many a learner can hold, so the streak still means something.
  • Energy or heart refills, priced so a refill costs more than a rewarded ad but feels fair.
  • Extra challenge lessons: bonus stories, timed reviews, or practice sets beyond the daily path.
  • Timer boosts for timed challenges, and cosmetics such as avatar outfits or app themes.

Gem purchases that hurt a learning app

Skipping units without passing a test, buying answers, buying certificates or proof of level, paid random chests without disclosed odds (Apple guideline 3.1.1 requires odds for randomized items), and gem prices that make a free learner choose between their streak and their lesson.

Streaks are the strongest retention tool in this category and the easiest to overdo. Rewards app retention: bonuses, streaks and levels covers streaks that forgive a missed day, and virtual economy design explains sources, sinks and inflation, so gem prices hold their value as you add new ways to earn.

An offerwall that lets free learners earn gems

An offerwall is a screen where users earn your currency by completing offers from advertisers, such as trying an app to a set level or answering a survey, and you earn per completed offer. In a language app it becomes an “Earn gems” option next to the gem shop: a learner who wants a streak freeze or an extra lesson pack, and will not pay, can earn the gems instead. Duolingo’s filing does not list an offerwall among its revenue sources, so this is an addition to the model, not a copy of it.

It complements rewarded ads: one ad pays for a small refill, while one completed offer can pay for a streak freeze or more. Offerwall vs rewarded video compares the two.

How to set it up in a language app

  1. Age-gate it first. Ask for a date of birth at sign-up with empty fields, store it on your server, and show the earn option only to users who meet your provider’s minimum age (16 for Sharklio).
  2. Place it in the shop and on the out-of-gems screen, never inside a lesson. Where to place an offerwall covers entry points.
  3. Price gems against your store. How to set your virtual currency exchange rate walks through the math.
  4. Credit from the server. Add gems only when a signed postback reaches your server, and take them back when a result is reversed.
  5. Watch for farming. Stop multi-accounting and VPN abuse covers the checks.

Illustrative example: pricing a streak freeze in earned gems

Suppose a streak freeze costs 200 gems and your shop sells 1,200 gems for $9.99. If you set 100 gems per $1 you earn from the wall, an offer that pays you $2.00 shows 200 gems: one streak freeze. Sample figures only; real payouts vary by offer, country and device. Try your own numbers in the virtual currency calculator.

On iOS, read Can you put an offerwall in an iOS app? before you ship. Apple’s guideline 3.2.2 says apps must not force users to download other apps or take other store-related actions to access functionality, so the offerwall must stay an optional way to earn gems, never the only path to lessons.

Children, schools and education rules

Language apps attract children, students and families. Decide your target audience before you design monetization, because it changes what you may ship.

  • Google Play. The Google Play Families policies apply if one of the target audiences for your app is children. Among the formats not allowed when serving children, Google lists monetization that is not clearly distinguishable from app content, “such as offerwalls and other immersive ads experiences.” Apps that serve only children must use Families self-certified ads SDK versions, and mixed-audience apps need age screening, such as a neutral age screen, so children only see compliant ads.
  • COPPA. The FTC’s COPPA compliance FAQ says the Rule covers online services, including mobile apps, directed to children under 13, and general audience services with actual knowledge that they collect personal information from children under 13. Personal information includes persistent identifiers, and the FAQ says you are responsible for the collection of personal information from your users, no matter who is doing the collection. The FTC amended the Rule on April 22, 2025.
  • Apple. The App Store Review Guidelines say Kids Category apps should not include third-party advertising or analytics, apart from limited exceptions, and must keep links out and purchases behind a parental gate (1.3). Apps intended primarily for kids should not include third-party advertising or analytics either (5.1.4).

All three sources were checked on October 29, 2026. Rules change, and this is not legal advice.

No offerwall in an app aimed at children

If your language app is built for children, such as a phonics app, an early English course, or an app marketed to primary schools, keep offerwalls out completely. Google Play names them as not allowed for children, COPPA makes you answer for what partners collect, and Sharklio does not allow its wall to be shown to anyone under 16. A parental gate does not change that. For a kids app, use one-time purchases or a parent-managed subscription behind a parental gate instead. Offerwalls in kids apps and COPPA explains the rules in full.

A general-audience app for adults can still use an offerwall behind a neutral age screen. If teachers assign your app in class, turn off the earn option and third-party ads for school accounts. For EU and UK learners, Offerwalls and GDPR covers consent and the age of digital consent.

A monetization plan for a new language app

  1. Launch: free lessons, a streak, energy that refills over time, rewarded ads for refills, and a subscription with no ads and unlimited energy.
  2. First updates: add gems with a small shop and a capped interstitial on the lesson complete screen. Test both against day 7 and day 30 retention.
  3. Growth: add an annual plan, and an “Earn gems” option for learners 16 and over.
  4. Depth: add AI practice or tutoring as a higher tier once you know what subscribers use most.

Measure revenue per daily active user alongside retention, not ad revenue alone. What is ARPDAU? explains the metric, and the LTV calculator helps compare free and paying learners. For other app types, see How to monetize an app.

How to add Sharklio to your language learning app

This is how an “Earn gems” option with Sharklio comes together in a general-audience app. It is never for an app built for children.

  1. Apply as a publisher at sharklio.com. Every application is reviewed by hand, including who the audience is, and once you are approved, apps you add are live right away.
  2. Add your app in the dashboard. Name the currency “gems”, upload your gem icon, set a conversion rate that matches your gem shop, and match the wall design to your app.
  3. Install the SDK for your stack: Android, iOS, Flutter, React Native, or Unity. Your server creates a single-use session for each learner, so no API key ships in the app.
  4. Add gems only on your server from the signed postback, and remove them on a reversal. The Firebase postback guide and the Supabase postback guide show the handler.
  5. Show the earn button only behind your age gate, in the shop and on the out-of-gems screen, then test your app before launch with a test user and a test postback.

Adding an “Earn gems” option with Sharklio

Sharklio is a pay-per-result affiliate network: learners complete offers, earn your own gems, and you earn per completed offer. Offers depend on each learner’s country and device, VPN and proxy traffic is blocked, and end users must be 16 or older (parental permission under 18). See how the wall works, or get in touch with questions.

Frequently asked questions

How does Duolingo make money?

Duolingo’s 2025 Form 10-K shows most revenue comes from subscriptions, about $873 million of $1,038 million. The rest is mainly advertising shown to free learners, the Duolingo English Test, and in-app purchases such as streak freezes and timer boosts.

What is the best business model for a language learning app?

Freemium: free lessons, a subscription for no ads and unlimited practice, and rewarded ads plus a gem economy for free learners.

Should a language app use hearts or energy?

Hearts are simple but punish mistakes, which hits beginners hardest. Energy limits how much a learner does rather than how many errors they make, and can reward correct answers, which is why Duolingo began testing it in 2025.

Can I give gems for watching rewarded ads?

Yes. Google’s AdMob policy allows non-monetary, non-transferable rewards such as gems, energy or XP, as long as the user opts in and you disclose the reward first. Cash and gift cards are not allowed as rewarded ad rewards.

Can a language learning app for kids use an offerwall?

No. Google Play’s Families policy names offerwalls among formats not allowed for children, COPPA makes you responsible for what partners collect from children under 13, and Sharklio requires end users to be at least 16.

What percentage of language app users pay?

It varies by app, and there is no reliable industry benchmark. Duolingo reported that about 9% of its monthly active users were paid subscribers at the end of 2025, so plan for most of your users never paying.