NEW! Case Study: 81% Conversion Boost for Wizz
ContextSDK logo in purple
Products
ContextDecisionContextPush
Solutions
Solutions
Teams
DevelopersHeads of ProductMarketers
Industries
GamingEntertainmentHealthSocial MediaDating
Use cases
Dynamic Product ExperiencePush Notification Open Rate
Teams
DevelopersHeads of ProductMarketers
Industries
GamingEntertainmentHealthSocial MediaDating
Use Cases
Dynamic Product ExperiencePush Notification Open Rate
Resources
Resources
Case StudyNewsletterBlogDemo AppDocs
Company
ContactCareersPressPrivacy & Security
LoginContact us
Blog
/
Market

Why Duolingo’s ML Ads Engine is brilliant and what on-device context could unlock next

Duolingo’s ML-powered ad engine is a masterclass in smart monetization infrastructure. But even the best model can underperform if ads hit at the wrong time. This blog explores how ContextSDK’s ContextDecision could add a timing layer to Duolingo’s existing pipeline, using 200+ real-world signals to ensure ads are shown when users are most ready to engage - boosting revenue without harming UX.
Dieter Rappold
April 23, 2025

Introduction

When Duolingo shared how machine learning supercharged their ad revenue, we were nodding along the whole time. The shift from spaghetti heuristics to a streamlined, ML-powered system is a brilliant move - and their use of BigQuery ML and dbt_ml shows how smart infrastructure choices can deliver real, fast results.

We love this strong incremental approach to ML-led monetization. It’s clean, impactful, and clearly built by people who deeply understand how product and revenue can coexist without compromising the user experience. So let’s be clear: we’re fans. Big ones.

But we also see one crucial opportunity Duolingo hasn’t yet unlocked - and it’s one that could turn their already high-performing ad engine into something even more powerful.

The Next Frontier: Not Just Who and What - But When

Duolingo’s model is built to choose the right type of ad (network vs. in-house), and soon, the right creative. That’s great. But even the perfect ad - for the perfect user - can fall flat if it’s shown at the wrong moment.

Here’s an unspoken truth: ML pipelines trained in the cloud are only half the battle. You can have the smartest model in the world, but if you catch the user at the wrong moment - distracted on the subway, low battery, just got a Slack ping - your perfectly picked in-house ad becomes white noise.

Timing: the silent killer of conversion. 

We’ve all ignored prompts not because they were irrelevant - but because they interrupted us when we weren’t ready.

ContextDecision: The Timing Layer Your ML Model Deserves

This is where ContextSDK - and specifically, our product ContextDecision - can take Duolingo’s ads infrastructure to the next level.

ContextDecision adds a device-side intelligence layer that evaluates over 200 signals to assess whether now is the right time to show an ad. These include:

  • Foreground vs. background state
  • Battery level and charging status
  • Device movement and orientation
  • Session depth and engagement momentum
  • Sensor activity (motion, light, screen taps)
  • Notification context and Do Not Disturb states

We’re standing on the shoulders of giants and that is why we always have a complementary approach - we wrap around it, making every model output more effective by ensuring it’s delivered when the user is most likely to engage.

From “Decision Models” to “Decision Moments”

Instead of:

"Show this ad after every lesson."

You get:

"Show this ad after the lesson if the timing is right."

Same model. Better results.

No Rocket Science. Designed by Developers for Developers

Integrating ContextDecision doesn’t require re-architecting your stack. It’s a lightweight SDK (adds <700kb, uses <0.2% CPU, and just 0.6MB memory) that runs entirely on-device, evaluating real-world context before your ML-driven ad decision is shown. Imagine wrapping that whole ML inference pipeline with edge-aware gating via ContextDecision. We’re talking edge-triggered execution.

Not to forget: No personal data is processed, no app permissions are required, and there’s zero reliance on ATT. Think of it as a real-world signal layer - one fast check before delivery - to make sure that perfectly picked in-house ad hits at just the right moment. Clean, modular, and built to plug into systems like Duolingo’s.

Let’s Talk ROI

Duolingo’s ML-driven uplift already added millions in revenue. But when it comes to ad effectiveness, timing can boost conversion rates by double digits - without changing your model, creative, or user base. That’s pure margin, unlocked just by delivering smarter.

The best part? No new model training, no major infra overhaul, and no latency added. ContextDecision runs on-device and plays nicely with existing ML stacks.

This Isn’t Just for Ads

Duolingo also teased upcoming work on nudging users back into the app. We’re excited for that - because timing is just as crucial when you’re prompting re-engagement. Push notifications sent in the car, when a user is half-focused, are far less effective than those triggered during idle evening scrolls.

With ContextPush, our product leveraging real-world context for push notifications, Duolingo could ensure nudges land not just on the home screen - but in moments that matter.

Final Thoughts: ML Is Powerful - But Context Makes It Human

Duolingo has already shown how a single model can simplify systems, reduce bugs, and increase revenue. We believe the next leap comes from making those decisions moment-aware - sensitive not just to user attributes, but to real-world context.

And we’re ready to explore it together.

Until then, keep crushing it. And maybe - just maybe - don’t show that subscription ad while someone’s dancing at the club 😉

‍

Market
The Post-App Store Era: Epic vs Apple Is Over. Stripe vs Apple Pay Is Just Beginning.
May 6, 2025
Market
Why Duolingo’s ML Ads Engine is brilliant and what on-device context could unlock next
April 23, 2025
Market
The Future of Entertainment Apps: Real-Time Personalization
April 25, 2025
Market
Understanding User Behavior Through Real-World Context
April 18, 2025
Market
Reducing Dropout Rates with Personalized Learning
April 7, 2025
Blog Home
AllProductGrowthMarketEngineering

Subscribe to our newsletter, Contextualize this!

Welcome aboard!

Get ready to explore how real-world context can transform apps. Stay tuned for our upcoming issues!
Oops! Something went wrong while submitting the form.
LoginContact us
Leveraging real‒world user context to supercharge engagement and revenue since 2023.
Founded by Felix Krause and Dieter Rappold.
ContextDecisionContextPushSolutionsProductsDemo App
CompanyContactCareers
Privacy & SecurityPrivacy PolicyImprint
SOC II Type 2GDPR Compliant
© ContextSDK Inc. 169 Madison Avenue, STE 2895 New York, NY 10016 United States
support@contextsdk.com