Duolingo · B2C · language learning app
Use each user's signals to pick between your own upgrade ads and paid ads
Good wins, per guest; no numbers
Workedupsell-expansionanalytics-attribution
What they did
Free tier shows ads: a mix of house ads promoting subscriptions and third-party ads. First ML use: optimize the mix of own-product promos vs external ads. Then predict which plan (Super vs Max) a likely subscriber will pick, replacing fixed per-tier ad ratios, using signals like past taps on a plan or engaging with a video-call lesson.
What happened
Guest reports 'good wins' and 'a lot of great wins'; no figures.
In their words
Sub Club by RevenueCat · How Clarity and Personalization Help Drive Duolingo’s Growth – Anmol Tiwari, Duolingo“And one of the first few things that we tried starting to optimize was, "Well, what is the right mix of promoting our own product versus serving other external ads?" And we saw good wins on it.”
“We used to have fixed ratios on how many ads we show that are for each tier, but that's quite an inefficient way to operate because we probably have a lot of signals that we can leverage.”
Related topics
Get tactics like this every Monday
New tactics from the week's founder interviews, each linked to where it was said.
More from Duolingo
All 32 Duolingo tactics- Sell a one-time ad-free month at $3, $5 or $10 to test demandUptake far above expectations; led to the subscription
- Tell users on the paywall you'll remind them on day 5 of a 7-day trialWon A/B tests by easing fear of subscription traps
- Change the buy button to say 'Try for $0.00'Beat 'Try for free' on both trial starts and trial-to-paid
- Show one ad only after a lesson ends, and test it against retentionRetention mostly neutral, at most a slight hit, across ad tests
- Count ad complaints per million users and compare them to other complaintsMissing-course complaints were 3x ad complaints; ads launched
- Make paid features free when a test shows they earn littleTook a small revenue hit on purpose to grow free users
More from this episode
- Duolingo: Let trial users pick which day they get the reminder before being chargedTested; added friction but built trust and delayed cancel decisions. No numbers given
- Duolingo: Show what happens on each trial day and exactly how refunds workGuest says clarity beats persuasion for trial starts; no numbers
- Duolingo: When users run out of hearts, offer a free trial so they keep their lesson progressUsers much more likely to start a trial; no numbers
- Duolingo: Ask new users in onboarding if they want to learn with or without adsSignificantly higher uptake; one of the biggest wins of the year
- Duolingo: Cut the free trial from 14 days to 7More conversions overall and experiment results twice as fast
- Duolingo: Offer the same user a free trial three or four times over timeEffective in aggregate across attempts, per guest; no numbers
- Duolingo: Give 3 free days of the paid tier, no card needed, even to current subscribersEffective for free-to-paid and for upgrading subscribers to the top tier, per guest
- Duolingo: Give users one free AI video call from the top tierEffective lever for getting people to try the feature, per guest
- Duolingo: Give the free 3 days as a reward right after a finished lessonFelt more rewarding than on the learning path; no numbers
- Duolingo: When free days end, say 'Your benefits have ended' and show how to rejoin
- Duolingo: Let a bandit algorithm pick which upgrade ad each user sees after a lessonSome wins so far, still improving; no numbers