www.duolingo.com
“Duolingo - The world’s most popular way to learn”
What it is
- The site describes itself as: “Free, fun, and effective courses in languages and more. Learn with quick, science-based lessons personalized to you.”E2
- It's built with React (common tools for building web apps).E49
- In your browser it can ask to use your camera or microphone, can ask to send you notifications, can copy text to your clipboard, installs a background script (offline use, push messages) and 2 more.E55E56E57E58E59E60
- It has sections such as /register, /course, /chess, /math, /efficacy and /en.E83
- While loading, it called 6 endpoints on its own servers, such as /0/web.json, /2023-05-23/config, /batch and 3 more.E63E64E65E66
Where your data goes
Analytics & trackingCount visits and record what you do on the page. 4
| www.googletagmanager.com | Google Analytics / Tag Manager: Google's visitor analytics and tag loader | 4×E10 |
| www.google-analytics.com | Google Analytics / Tag Manager: Google's visitor analytics and tag loader | 2×E15 |
| analytics.google.com | Google Analytics / Tag Manager: Google's visitor analytics and tag loader | 1×E22 |
| connect.facebook.net | Meta Pixel: Facebook/Meta tracking pixel (ad measurement) | 2×E16 |
AdvertisingShow ads and follow you across sites to target them. 6
| googleads.g.doubleclick.net | Google Ads / DoubleClick: Google's ad network (serving and measuring ads) | 2×E18 |
| ad.doubleclick.net | Google Ads / DoubleClick: Google's ad network (serving and measuring ads) | 1×E20 |
| stats.g.doubleclick.net | Google Ads / DoubleClick: Google's ad network (serving and measuring ads) | 1×E23 |
| www.googleadservices.com | Google Ads / DoubleClick: Google's ad network (serving and measuring ads) | 1×E26 |
| cs.media.net | Media.net: contextual ads | 1×E27 |
| www.facebook.com | Meta / Facebook: Facebook ad tracking | 1×E25 |
Sign-in & accountsLog you in or manage accounts. 1
| accounts.google.com | Google Sign-In: log in with Google | 2×E11 |
Consent & bot protectionCookie banners, CAPTCHAs and bot checks. 3
| www.recaptcha.net | Google reCAPTCHA: bot check | 3×E8 |
| cdn.cookielaw.org | OneTrust: cookie consent banner | 6×E6 |
| geolocation.onetrust.com | OneTrust: cookie consent banner | 1×E9 |
FontsDownload typefaces. 1
| fonts.gstatic.com | Google Fonts: fonts | 1×E21 |
How key features work
Payments
Payments are handled by Stripe.js, so card or payment details go to them, not only to this site.E53
Stripe.jsSign-in and accounts
Sign-in and account features show up in its code or traffic (/users/undefined/streak-goal-current, /users/undefined/streak-goal-next-options, /api/v1/sessions/math-tutor, /api/userReply and 1 more).E67E68E71E11
/users/undefined/streak-goal-current/users/undefined/streak-goal-next-options/api/v1/sessions/math-tutor/api/userReplyaccounts.google.comLoading its content
Its content loads from its own API while you browse (/0/web.json, /2023-05-23/config, /batch, /api/1/courses/list and 2 more).E63E64E65E66E67
/0/web.json/2023-05-23/config/batch/api/1/courses/list/users/undefined/streak-goal-current/users/undefined/streak-goal-next-optionsDrawing and editing in the browser
The page draws and edits graphics in your browser using the canvas.E62
canvasMeasuring what you do
Visits and clicks are measured with Google Analytics / Tag Manager, Meta Pixel and Google tag (gtag.js) (found in its traffic or its code).E10E15E22E16E50
Google Analytics / Tag ManagerMeta PixelGoogle tag (gtag.js)Cookies and storage
Names only. We never store the values.
| Cookie | Set for | Kept | Whose |
|---|---|---|---|
| logged_out_uuidE28 | duolingo.com | about 365 days | the site |
| langE29 | duolingo.com | about 365 days | the site |
| wuuidE30 | www.duolingo.com | until you close the browser | the site |
| tslE31 | duolingo.com | about 365 days | the site |
| luE32 | duolingo.com | about 365 days | the site |
| initial_referrerE33 | duolingo.com | about 365 days | the site |
| lrE34 | duolingo.com | about 365 days | the site |
| lpE35 | duolingo.com | about 365 days | the site |
| OptanonConsentE36 | duolingo.com | about 180 days | the site |
| _gidE37 | duolingo.com | about 1 days | the site |
| _gat_UA-21595814-1E38 | duolingo.com | about 0 days | the site |
| _gcl_auE39 | duolingo.com | about 90 days | the site |
| test_cookieE40 | doubleclick.net | about 0 days | other company |
| _ga_CSFDVCPQ4FE41 | duolingo.com | about 400 days | the site |
| _gaE42 | duolingo.com | about 400 days | the site |
| _fbpE43 | duolingo.com | about 90 days | the site |
| usp_statusE44 | media.net | about 185 days | other company |
| data-maxE45 | media.net | about 365 days | other company |
| g_stateE46 | www.duolingo.com | about 180 days | the site |
localStorageE47: lastExternalReferrer, lastExternalReferrerTime, _gcl_ls, duo.state
sessionStorageE48: _tup
Pages and API calls
Pages it links to
//register/course/chess/math/efficacy/en/courses/business/super/gift/duolingo-max/help/faq/guidelines/terms/privacyEndpoints
Called while loading (seen) or named in the code (code).
| zombie.duolingo.com/0/web.json | seenE63 |
| www.duolingo.com/2023-05-23/config | seenE64 |
| excess.duolingo.com/batch | seenE65 |
| www.duolingo.com/api/1/courses/list | seenE66 |
| www.duolingo.com/users/undefined/streak-goal-current | seenE67 |
| www.duolingo.com/users/undefined/streak-goal-next-options | seenE68 |
| /v1/next_n_challenges | codeE69 |
| /v1/history | codeE70 |
| /api/v1/sessions/math-tutor | codeE71 |
| /v2/mistakes | codeE72 |
| /api/1/detect_duplicates | codeE73 |
| /api/1/fully_connect_duplicates | codeE74 |
| /api/1/shakira/features | codeE75 |
| /api/2/shakira/slack_report_types | codeE76 |
| /api/2/shakira/suggested_features | codeE77 |
| /api/2/shakira/report_issue | codeE78 |
| /api/userReply | codeE79 |
| /api/1 | codeE80 |
| /v1/refreshCreds | codeE81 |
| /v1/chooseServer | codeE82 |
Evidence
Every sentence above points to one of these. Code references show the file, line:column and the short identifier that matched, never the site's code itself.
Limits
- We only see what your browser sees: code and requests on a first visit, without logging in or accepting cookie banners. What the servers do with data is invisible from outside.
- Site code is usually minified (compressed), so names are partly lost and some code may be only partly analysed.
- Some trackers only load after you accept cookies or log in, so the real list can be longer.
- This text was written from fixed templates because no AI writer was available. It uses exactly the same evidence.
- REA hit its size budget on parts of 29 large bundle file(s); those parts weren't fully analysed.
Facts, not judgements: this page describes what the code and traffic show, not anyone's intent. Not financial advice. Blueprint id oSjSZikE.