GTM Sauce

Sub Club by RevenueCat · 2026-01-21

Why Your Free Users Are Your Real Growth Engine – Cem Kansu, Duolingo CPO

Cem Kansu, Duolingo CPO (joined 2016 to figure out monetization), walks through Duolingo's monetization history: failed crowdsourced translation model, streak repair IAP, end-of-lesson ads with strict category blocking and complaint-volume analysis, an ad-free month IAP test that led to Duolingo Plus (no ads, offline, support the mission), free trials, unlimited Hearts in the subscription, CTA copy tests ('Try for $0.00'), ML-chosen internal subscription ads, and moving paid features back to free to protect word of mouth. Also: separate subject apps were 'hard mode'; human tutors flopped.

Play the episode

17 tactics

Duolingo · B2C · language learning app

Small revenue; dropped by 2016 (price race and low translation quality)

Duolingo's original model (~2013): the website was free; learners' translation exercises were crowdsourced into full article translations sold to outlets like CNN and BuzzFeed. Quality work pulled resources from teaching toward running a translation business.

Failedmarket-selectionpartnerships
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

A good share of users paid; showed how much users value their streak

Duolingo's first monetization experiment (2016): users could buy a repair of a broken streak for about $1-3.

Workedpricingretention
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Retention mostly neutral, at most a slight hit, across ad tests

Introduced ads in 2016 with a single placement: after a lesson is completed (not app open, not mid-lesson), still the only placement today. Team dogfooded the app daily to judge the feel, and A/B tested each ad change against retention, app closes and reviews.

Workedexperimentationretention
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Missing-course complaints were 3x ad complaints; ads launched

Before deciding to launch ads in 2016, quantified complaints and negative reviews about ads per million DAU and compared them to complaints about other topics (e.g. a missing language course), alongside neutral retention in A/B tests.

Workedanalytics-attributioncustomer-support
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Accepted lost ad revenue for better experience; no numbers

Started with AdMob, then added Facebook, Flurry and later Unity to broaden demand. Blocked every category not brand- or young-audience-safe (gambling, sketchy games) and worked with networks on custom blocks (e.g. ads with three X buttons).

Unknownretention
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Users like the format; slow to sell because it's custom

US-only direct ad deals: one of Duolingo's eight characters (e.g. Lily) introduces the brand's ad with a short custom-written joke script, then the ad plays. Formats are Duolingo-built. Goal: cut programmatic volume substantially in 2026.

Mixedpartnershipsretention
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Guest says house ads beat programmatic ads; no numbers

At each lesson end an ML model picks between a programmatic ad and an internal ad (Super, Max, Duolingo English Test), maximizing LTV with purchase likelihood as the objective. If a user ignores the Super ad about three times it backs off. Internal ads are character-driven videos that explain the subscription features.

Unknownupsell-expansionpaywall
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

New push lifts can turn negative after about 6 weeks

Ran a 1-2 year ads holdout, but no longer recommends year-long holdouts (they get forgotten and polluted by bugs). Now runs 3-6 month holdouts or long experiments on things like leaderboards (10 weeks to climb from lowest to top league) and push notifications, where novelty lifts fade.

Workedexperimentationnotifications
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Uptake far above expectations; led to the subscription

After reading reviews where users asked to pay to remove ads, tested a one-time purchase of 30 ad-free days at $3, $5 and $10 instead of a subscription.

Workedvalidationpricing
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

About half of early buyers paid to support the app; started a run rate

Duolingo Plus (2017): no ads plus fully offline use; because the purchase page looked thin with two features, added a third line 'Support Duolingo's mission', echoing what users said in reviews.

Workedpricingpaywall
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

One of the biggest unlocks; guest had expected it to flop

Added free trials to the subscription even though the core product was free and paid features (no ads, offline) did not need to be experienced. The trial removes payment hesitation.

Workedpaywall
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Won A/B tests by easing fear of subscription traps

Purchase pages explain the mechanics: 'this is a seven day free trial; on day five we'll send you a notification to see if you still want your subscription.'

Workedpaywall
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Beat 'Try for free' on both trial starts and trial-to-paid

Iterated purchase button copy in A/B tests: 'Subscribe' (baseline) -> 'Start my free trial' (big uplift) -> 'Try for free' (better) -> 'Try for $0.00' (best; believed live). Part of ~400 concurrent A/B tests, many on the purchase flow.

Workedpaywallexperimentation
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Big turning point: raised subscription conversion and retention

Hearts (now Energy) limit new lessons after a number of mistakes; free users regenerate by practicing old content, watching ads, or (then) an IAP. Made unlimited Hearts a subscription feature. Also added a Practice Hub tab to the subscription (later made free).

Workedpricingpaywall
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Took a small revenue hit on purpose to grow free users

A/B tested giving Explain My Answer (an LLM-based Max feature explaining your specific mistake) free vs keeping it in Max. Revenue impact was small, and LLM costs had fallen with better caching, so it moved to free. Practice Hub was also moved from Super to free. Rationale: free users are the word-of-mouth engine; big trade-offs are signed off by senior leaders including the CEO.

Mixedword-of-mouthpricing
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Separate apps were 'hard mode'; in-app works better, but many users still don't know

Launched math as a separate app, planning one app per subject, then moved math, music and chess into the main app's course switcher with light promos. Picked subjects that are fun to teach on mobile, have existing demand, fit bite-sized skills and have a senior internal champion (skipped coding and running). Each took 6-12 months of prototyping and dogfooding.

Mixedportfoliofeature-development
Sub Club by RevenueCat · 2026-01-21

Duolingo · B2C · language learning app

Failed: users joined, panicked and left; later replaced by AI video call

Built a higher-tier subscription where users pressed a button to connect instantly with a human Spanish tutor, no booking. Users had requested it for years. Iterated to ease users in, then shut it down. Replaced by an AI video call with the character Lily.

Failedfeature-developmentupsell-expansion
Sub Club by RevenueCat · 2026-01-21

Numbers mentioned

WhoMetricValueContextWhen
Duolingoshare80%
approximate
Subscription share of total revenue; ads are a much smaller share
Duolingoconversion rate10%
approximate
Share of MAU who pay (subscribe)
DuolingopriceUSD 1–3/one-time
approximate
Streak repair in-app purchase, Duolingo's first monetization experiment
DuolingopriceUSD 3–10/one-timeOne-time 30-day ad-free purchase tested at $3, $5 and $10
Duolingoteam size60 employees
approximate
Headcount when Cem joined, before monetization
Duolingocount400 A/B tests
approximate
Concurrent A/B tests; a good chunk on the purchase flow
Duolingocount3 x
approximate
Complaints about a missing language course vs complaints about ads (normalized per DAU), in the pre-ads-launch analysis
Duolingotime to milestone6–12 months
approximate
First idea to full launch for each new subject (math, music, chess)
aggregateProduct pipeline speed-up from AI in prototyping and coding, at Duolingo and other companies the guest seesgrowth rate+10–20%
estimate
Productivity improvement from AI
FacebookarpuUSD 250per user /year
approximate
US ad revenue per user, host recollection