Udemy

udemy.com

Compare

https://udemy.com

Scanned Apr 15, 2026 · 35.2s

Your website score is

0/100
Critical

Grade

F0

Banner

Yes

Regulatory Compliance

Multi-regulation overview — click any regulation for details

Technical scan only. A passing score does not equal legal compliance. Consult qualified legal counsel for your jurisdiction.

Tag Leak detected 74 user data leaks before consent on udemy.com, including Braze, Amplitude (Analytics Tracker), Meta Pixel and 13 more.

Security Headers

1/6 present

Strict-Transport-Security

Add HSTS header to enforce HTTPS connections and prevent downgrade attacks

Content-Security-Policy

Add a Content-Security-Policy header to prevent XSS and code injection attacks

X-Frame-Options

Add X-Frame-Options header to prevent clickjacking attacks

X-Content-Type-Options

nosniff

Referrer-Policy

Set a Referrer-Policy header to control how much referrer information is shared

Permissions-Policy

Add a Permissions-Policy header to restrict browser features like camera, microphone, and geolocation

Google Consent Mode

V2
50/100
GTM Containers:GTM-7BF3X

Consent Parameters

ParameterDefault
Ad Storagegranted
Ad User Datagranted
Ad Personalizationgranted
Analytics Storagegranted
Functionality Storagegranted
Personalization Storagegranted
Security Storagegranted

Issues (6)

ad_storage defaults to "granted" — should default to "denied" for GDPR compliance

ad_user_data defaults to "granted" — should default to "denied" for GDPR compliance

ad_personalization defaults to "granted" — should default to "denied" for GDPR compliance

analytics_storage defaults to "granted" — should default to "denied" for GDPR compliance

functionality_storage defaults to "granted" — consider defaulting to "denied"

personalization_storage defaults to "granted" — consider defaulting to "denied"

Post-Rejection Audit

Reject Button

Found

Post-Rejection Fires

1 vendor

Consent Mode

Not Detected

GTM Load

3566ms pre-consent

Google Tag Manager(GTM-7BF3X)

Loaded 3566ms after page load — before the consent banner was detected (banner appeared at 7654ms). Per a 2022 German court ruling, GTM itself transmits the user's IP to Google pre-consent.

Consent Mode V2: Not Detected

Google Consent Mode was not detected on this site.

✓ gtag('consent', 'update') call detected on rejection

Vendors firing after rejection (1)

VendorCategoryTimingURL
Braze — Brazemarketing21584mssdk.iad-03.braze.com

Consent Record Audit

Issues detected

Consent record stored after interaction

GDPR Art. 7(1)

Found: OptanonConsent (OneTrust)

Record contains timestamp

Art. 7(1)

Timestamp field detected

Record contains consent state

Art. 7(1)

Accept/reject state detected

Record contains consent categories

Art. 7(1)

Consent categories (analytics, marketing, etc.) not found in record

Consent withdrawal mechanism accessible

GDPR Art. 7(3)

No way for users to withdraw consent found on page

No cookie settings link, footer link, or floating consent button was detected. GDPR requires users to withdraw consent as easily as they gave it.

Why this matters

Under GDPR Article 7, controllers must be able to demonstrate that consent was given (Art. 7(1)) and ensure users can withdraw consent at any time, as easily as giving it (Art. 7(3)). Sites with no consent record or no withdrawal mechanism cannot legally rely on consent as a lawful basis.

Tracker categories detected

Advertising7 vendors
Analytics6 vendors
Marketing7 vendors
Security5
Functional1 vendor
Tag Management1 vendor
Critical40
Twitter/X Pixel
Twitter/X Pixel2 findingsID tracked

t.co, static.ads-twitter.com

Twitter/X Pixel
criticalNetworkAdvertisingTwitter/X Pixel

Twitter/X Pixel (X (Twitter)) loaded before consent: Twitter/X ad conversion tracking endpoint

ID: twHost: t.coFired: 4333ms after load
Twitter/X Pixel
criticalNetworkAdvertisingTwitter/X Pixel

Twitter/X Pixel (X (Twitter)) loaded before consent: Loads Twitter/X conversion tracking script

Host: static.ads-twitter.comFired: 3895ms after load
Meta Pixel
Meta Pixel3 findingsID tracked

www.facebook.com, connect.facebook.net, _fbp

Meta Pixel
criticalNetworkAdvertisingMeta Pixel

Meta Pixel (Meta) loaded before consent: Meta Pixel tracking endpoint

ID: 1457291081167286Host: www.facebook.comFired: 4897ms after load
Meta Pixel
criticalNetworkAdvertisingMeta Pixel

Meta Pixel (Meta) loaded before consent: Sends user data to Meta for ad targeting and conversion tracking

Host: connect.facebook.netFired: 3894ms after load
Meta Pixel
criticalCookieAdvertisingMeta Pixel

Meta Pixel cookie "_fbp" set before consent

Cookie: _fbpDomain: .udemy.com
Braze
Braze3 findings

sdk.iad-03.braze.com, ab.storage.sessionId.5cefca91-d218-4b04-8bdd-c8876ec1908d, ab.storage.deviceId.5cefca91-d218-4b04-8bdd-c8876ec1908d

Braze
criticalNetworkMarketingBraze

Braze (Braze) loaded before consent: Braze customer engagement and marketing automation

Host: sdk.iad-03.braze.comFired: 2787ms after load
Braze
criticalCookieAnalyticsBraze

Braze cookie "ab.storage.sessionId.5cefca91-d218-4b04-8bdd-c8876ec1908d" set before consent — Randomly-generated string used to determine whether the user is starting a new or existing session to sync messages and calculate session analytics.

Cookie: ab.storage.sessionId.5cefca91-d218-4b04-8bdd-c8876ec1908dDomain: .udemy.comRetention: Session
Braze
criticalCookieAnalyticsBraze

Braze cookie "ab.storage.deviceId.5cefca91-d218-4b04-8bdd-c8876ec1908d" set before consent — Randomly-generated string used to identify anonymous users, and to differentiate users’ devices and enables device-based messaging.

Cookie: ab.storage.deviceId.5cefca91-d218-4b04-8bdd-c8876ec1908dDomain: .udemy.comRetention: Unknown
Amplitude (Analytics Tracker)
Amplitude (Analytics Tracker)3 findings

sr-client-cfg.amplitude.com, api2.amplitude.com, gs.amplitude.com

Amplitude (Analytics Tracker)
criticalNetworkAnalyticsAmplitude (Analytics Tracker)

Amplitude (analytics) loaded before consent

Host: sr-client-cfg.amplitude.comFired: 3494ms after load
Amplitude (Analytics Tracker)
criticalNetworkAnalyticsAmplitude (Analytics Tracker)

Amplitude (analytics) loaded before consent

Host: api2.amplitude.comFired: 5618ms after load
Amplitude (Analytics Tracker)
criticalNetworkAnalyticsAmplitude (Analytics Tracker)

Amplitude (analytics) loaded before consent

Host: gs.amplitude.comFired: 5869ms after load
Microsoft Ads
Microsoft Ads3 findings

bat.bing.com, _uetsid, _uetvid

Microsoft Ads
criticalNetworkAdvertisingMicrosoft Ads

Microsoft Ads (Microsoft) loaded before consent: Microsoft Ads (Bing) UET conversion tracking

Host: bat.bing.comFired: 3895ms after load
Microsoft Ads
criticalCookieAdvertisingMicrosoft Ads

Microsoft Ads cookie "_uetsid" set before consent

Cookie: _uetsidDomain: .udemy.com
Microsoft Ads
criticalCookieAdvertisingMicrosoft Ads

Microsoft Ads cookie "_uetvid" set before consent

Cookie: _uetvidDomain: .udemy.com
Google Ads
Google Ads5 findings

www.google.com, googleads.g.doubleclick.net, www.googleadservices.com, _gcl_au, _gcl_ls

Google Ads
criticalNetworkAdvertisingGoogle Ads

Google Ads (Google) loaded before consent: Google Consent Mode data collection for ad measurement

Host: www.google.comFired: 3895ms after load
Google Ads
criticalNetworkAdvertisingGoogle Ads

Google Ads (Google) loaded before consent: Sends conversion data to Google Ads

Host: googleads.g.doubleclick.netFired: 4149ms after load
Google Ads
criticalNetworkAdvertisingGoogle Ads

Google Ads (Google) loaded before consent: Google Ads conversion tracking

Host: www.googleadservices.comFired: 5304ms after load
Google Ads
criticalCookieAdvertisingGoogle Ads

Google Ads cookie "_gcl_au" set before consent

Cookie: _gcl_auDomain: .udemy.com
Google Ads
criticalStorageAdvertisingGoogle Ads

Google Ads (Google) wrote "_gcl_ls" to localStorage before consent

Key: _gcl_lsType: localStorageFired: 3657ms after load
Bliss Point (Advertising Tracker)
criticalNetworkAdvertisingBliss Point (Advertising Tracker)

Bliss Point (advertising) loaded before consent

Host: pixel.pointmediatracker.comFired: 3895ms after load
ProProfs (Analytics Tracker)
ProProfs (Analytics Tracker)2 findings

cl.qualaroo.com, dntcl.qualaroo.com

ProProfs (Analytics Tracker)
criticalNetworkAnalyticsProProfs (Analytics Tracker)

ProProfs (analytics) loaded before consent

Host: cl.qualaroo.comFired: 3966ms after load
ProProfs (Analytics Tracker)
criticalNetworkAnalyticsProProfs (Analytics Tracker)

ProProfs (analytics) loaded before consent

Host: dntcl.qualaroo.comFired: 4424ms after load
UpsellIt (Advertising Tracker)
criticalNetworkAdvertisingUpsellIt (Advertising Tracker)

UpsellIt (advertising) loaded before consent

Host: www.upsellit.comFired: 4263ms after load
Impact (Advertising Tracker)
criticalNetworkAdvertisingImpact (Advertising Tracker)

Impact (advertising) loaded before consent

Host: www.ojrq.netFired: 4510ms after load
Amplitude
Amplitude4 findings

cdn.amplitude.com, AMP_7269f546a4, AMP_MKTG_5a3d2e29ec, AMP_5a3d2e29ec

Amplitude
criticalNetworkAnalyticsAmplitude

Amplitude (Amplitude) loaded before consent: Amplitude product analytics

Host: cdn.amplitude.comFired: 4611ms after load
Amplitude
criticalCookieAnalyticsAmplitude

Amplitude cookie "AMP_7269f546a4" set before consent

Cookie: AMP_7269f546a4Domain: .udemy.com
Amplitude
criticalCookieAnalyticsAmplitude

Amplitude cookie "AMP_MKTG_5a3d2e29ec" set before consent

Cookie: AMP_MKTG_5a3d2e29ecDomain: .udemy.com
Amplitude
criticalCookieAnalyticsAmplitude

Amplitude cookie "AMP_5a3d2e29ec" set before consent

Cookie: AMP_5a3d2e29ecDomain: .udemy.com
Shopify2 findings

ki_t, ki_r

criticalCookieAnalyticsShopify

Shopify cookie "ki_t" set before consent — Shopify analytics.

Cookie: ki_tDomain: www.udemy.comRetention: 2 years
criticalCookieAnalyticsShopify

Shopify cookie "ki_r" set before consent — Shopify analytics.

Cookie: ki_rDomain: www.udemy.comRetention: 2 years
X2 findings

muc_ads, personalization_id

criticalCookieMarketingX

X cookie "muc_ads" set before consent — These cookies are placed when you come to our website via X. A cookie from X is also placed on our website, with which we can later show a relevant offer on X

Cookie: muc_adsDomain: .t.coRetention: 24 months
criticalCookieMarketingX

X cookie "personalization_id" set before consent — Unique value with which users can be identified by X. Collected information is used to be personalize X services, including X trends, stories, ads and suggestions.

Cookie: personalization_idDomain: .twitter.comRetention: 2 years
LinkedIn
LinkedIn2 findings

brwsr, irld

LinkedIn
criticalCookieMarketingLinkedIn

LinkedIn cookie "brwsr" set before consent — This cookie is used to Affiliate Marketing Cookie for LinkedIn

Cookie: brwsrDomain: .udemy.comRetention: 2 years
LinkedIn
criticalCookieMarketingLinkedIn

LinkedIn cookie "irld" set before consent — This cookie is used for Affiliate Marketing Cookie for LinkedIn

Cookie: irldDomain: trk.udemy.comRetention: 2 years
Bing / Microsoft
criticalCookieMarketingBing / Microsoft

Bing / Microsoft cookie "MUID" set before consent — Identifies unique web browsers visiting Microsoft sites. These cookies are used for advertising, site analytics, and other operational purposes.

Cookie: MUIDDomain: .bing.comRetention: 1 year
Google Analytics
Google Analytics3 findings

_ga_7YMFEFLR6Q, _ga, FPAU

Google Analytics
criticalCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga_7YMFEFLR6Q" set before consent

Cookie: _ga_7YMFEFLR6QDomain: .udemy.com
Google Analytics
criticalCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga" set before consent

Cookie: _gaDomain: .udemy.com
Google Analytics
criticalCookieMarketingGoogle Analytics

Google Analytics cookie "FPAU" set before consent — Assigns a specific ID to the visitor. This allows the website to determine the number of specific user-visits for analysis and statistics.

Cookie: FPAUDomain: .udemy.comRetention: session
Braze — Braze
criticalPost-RejectionMarketingBraze — Braze

Braze — Braze fires after user rejected consent

Fired: 21584ms after load
criticalConsent Record

No recognizable consent withdrawal mechanism detected — GDPR Article 7(3) requires users can withdraw consent as easily as giving it (cookie settings link or floating button expected)

Warnings36
Google Tag Manager
Google Tag Manager2 findingsID tracked

www.googletagmanager.com

Google Tag Manager
warningNetworkTag ManagementGoogle Tag Manager

Google Tag Manager (Google) loaded before consent: Loads the GTM container which may trigger other tags

ID: GTM-7BF3XHost: www.googletagmanager.comFired: 3391ms after load
Google Tag Manager
warningGTMTag ManagementGoogle Tag Manager

GTM loaded before consent banner — IP address transmitted to Google pre-consent (container: GTM-7BF3X)

Twitter (Social Tracker)
warningNetworkTwitter (Social Tracker)

Twitter (social) loaded before consent

ID: o0f51Host: analytics.twitter.comFired: 4338ms after load
Analytics proxy
warningNetworkAnalytics proxy

Possible server-side tag proxy at gtm.udemy.com — analytics data may be forwarded to third parties before consent. Browser scanning cannot verify downstream recipients; audit your GTM Server-side or CNAME configuration.

Host: gtm.udemy.comFired: 4783ms after load
vendor logo
warningNetwork

Unknown third-party request to frontends.udemycdn.com before consent

Host: frontends.udemycdn.comFired: 125ms after load
vendor logo
warningNetwork

Unknown third-party request to cms-images.udemycdn.com before consent

Host: cms-images.udemycdn.comFired: 138ms after load
vendor logo
warningNetwork

Unknown third-party request to s.udemycdn.com before consent

Host: s.udemycdn.comFired: 138ms after load
vendor logo
warningNetwork

Unknown third-party request to accounts.google.com before consent

Host: accounts.google.comFired: 1134ms after load
vendor logo
warningNetwork

Unknown third-party request to img-c.udemycdn.com before consent

Host: img-c.udemycdn.comFired: 1875ms after load
vendor logo
warningNetwork

Unknown third-party request to use.fontawesome.com before consent

Host: use.fontawesome.comFired: 2693ms after load
vendor logo
warningNetwork

Unknown third-party request to google.com before consent

Host: google.comFired: 3177ms after load
vendor logo
warningNetwork

Unknown third-party request to www.google.com before consent

Host: www.google.comFired: 4455ms after load
warningStorage

localStorage key "__storejs__test__" written before consent

Key: __storejs__test__Type: localStorageFired: 722ms after load
warningStorage

localStorage key "header-browse-nav:items" written before consent

Key: header-browse-nav:itemsType: localStorageFired: 1635ms after load
warningStorage

localStorage key "expiringLocalStorageFactory.expirations" written before consent

Key: expiringLocalStorageFactory.expirationsType: localStorageFired: 1635ms after load
warningStorage

localStorage key "test1776282264856" written before consent

Key: test1776282264856Type: localStorageFired: 1795ms after load
warningStorage

sessionStorage key "__sak" written before consent

Key: __sakType: sessionStorageFired: 2607ms after load
warningStorage

localStorage key "notices:api" written before consent

Key: notices:apiType: localStorageFired: 2706ms after load
warningStorage

localStorage key "AMP_remote_config_7269f546a4" written before consent

Key: AMP_remote_config_7269f546a4Type: localStorageFired: 4384ms after load
warningStorage

localStorage key "AMP_remote_config_5a3d2e29ec" written before consent

Key: AMP_remote_config_5a3d2e29ecType: localStorageFired: 4387ms after load
warningStorage

localStorage key "usi_entry_url_1" written before consent

Key: usi_entry_url_1Type: localStorageFired: 4458ms after load
warningStorage

localStorage key "usi_referrer_url" written before consent

Key: usi_referrer_urlType: localStorageFired: 4458ms after load
warningStorage

localStorage key "usi_pv_count" written before consent

Key: usi_pv_countType: localStorageFired: 4458ms after load
warningStorage

localStorage key "AMP_TEST" written before consent

Key: AMP_TESTType: localStorageFired: 4569ms after load
warningStorage

localStorage key "AMP_unsent_7269f546a4" written before consent

Key: AMP_unsent_7269f546a4Type: localStorageFired: 4614ms after load
warningStorage

localStorage key "_uetsid" written before consent

Key: _uetsidType: localStorageFired: 4815ms after load
warningStorage

localStorage key "_uetsid_exp" written before consent

Key: _uetsid_expType: localStorageFired: 4815ms after load
warningStorage

localStorage key "lastExternalReferrer" written before consent

Key: lastExternalReferrerType: localStorageFired: 4841ms after load
warningStorage

localStorage key "_uetvid" written before consent

Key: _uetvidType: localStorageFired: 5100ms after load
warningStorage

localStorage key "_uetvid_exp" written before consent

Key: _uetvid_expType: localStorageFired: 5100ms after load
warningStorage

sessionStorage key "amplitude.engagement.5a3d2e.sessionStart" written before consent

Key: amplitude.engagement.5a3d2e.sessionStartType: sessionStorageFired: 5852ms after load
warningStorage

sessionStorage key "amplitude.engagement.ENGAGEMENT_5a3d2e29ec_DEFAULT_USER_PROVIDER" written before consent

Key: amplitude.engagement.ENGAGEMENT_5a3d2e29ec_DEFAULT_USER_PROVIDERType: sessionStorageFired: 5905ms after load
warningStorage

sessionStorage key "usi_app.company_id" written before consent

Key: usi_app.company_idType: sessionStorageFired: 6459ms after load
warningStorage

localStorage key "amplitude.engagement.eus.5a3d2e.user_id:9a6eeda038fc4cafbe683e100c680ea4" written before consent

Key: amplitude.engagement.eus.5a3d2e.user_id:9a6eeda038fc4cafbe683e100c680ea4Type: localStorageFired: 6505ms after load
warningStorage

sessionStorage key "AMP_URL_INFO" written before consent

Key: AMP_URL_INFOType: sessionStorageFired: 6531ms after load
warningStorage

localStorage key "AMP_unsent_5a3d2e29ec" written before consent

Key: AMP_unsent_5a3d2e29ecType: localStorageFired: 6531ms after load
Info8
OneTrust
OneTrust2 findings

cdn.cookielaw.org, OptanonConsent

OneTrust
infoNetworkConsent MgmtOneTrust

OneTrust (OneTrust) loaded before consent: OneTrust cookie consent management

Host: cdn.cookielaw.orgFired: 158ms after load
OneTrust
infoCookieConsent MgmtOneTrust

OneTrust cookie "OptanonConsent" set before consent

Cookie: OptanonConsentDomain: .www.udemy.com
OneTrust CMP
infoNetworkConsent MgmtOneTrust CMP

OneTrust CMP (OneTrust) loaded before consent: OneTrust geo-lookup — determines which consent banner to show based on user location

Host: geolocation.onetrust.comFired: 1490ms after load
Naver (Cdn)
infoNetworkNaver (Cdn)

Naver (cdn) loaded before consent

Host: s.yimg.jpFired: 3895ms after load
Google (Cdn)
infoNetworkGoogle (Cdn)

Google (cdn) loaded before consent

Host: www.google.nlFired: 4455ms after load
DoubleClick/Google Marketing
infoCookieFunctionalDoubleClick/Google Marketing

DoubleClick/Google Marketing cookie "test_cookie" set before consent — This cookie is set by DoubleClick (which is owned by Google) to determine if the website visitor's browser supports cookies.

Cookie: test_cookieDomain: .doubleclick.netRetention: 1 year
infoCookieFunctional

Cloudflare challenge clearance — necessary for site access

Cookie: cf_clearanceDomain: .udemy.com
infoCookieFunctional

Cloudflare bot management — necessary for site operation

Cookie: __cf_bmDomain: .udemy.com
Compliant5
Google Analytics
Google Analytics2 findings

_gid, _dc_gtm_UA-12366301-1

Google Analytics
CompliantCookieAnalyticsGoogle Analytics

Google Analytics cookie "_gid" set correctly after consent

Cookie: _gidDomain: .udemy.com
Google Analytics
CompliantCookieAnalyticsGoogle Analytics

Google Analytics cookie "_dc_gtm_UA-12366301-1" set correctly after consent

Cookie: _dc_gtm_UA-12366301-1Domain: .udemy.comRetention: 1 minute
DoubleClick/Google Marketing
CompliantCookieMarketingDoubleClick/Google Marketing

DoubleClick/Google Marketing cookie "IDE" set correctly after consent

Cookie: IDEDomain: .doubleclick.netRetention: 2 years
Amplitude
Amplitude2 findings

AMP_TLDTEST_5d2713c7, AMP_TLDTEST_ba42347f

Amplitude
CompliantCookieAnalyticsAmplitude

Amplitude cookie "AMP_TLDTEST_5d2713c7" set correctly after consent

Cookie: AMP_TLDTEST_5d2713c7Domain: .udemy.com
Amplitude
CompliantCookieAnalyticsAmplitude

Amplitude cookie "AMP_TLDTEST_ba42347f" set correctly after consent

Cookie: AMP_TLDTEST_ba42347fDomain: .udemy.com

Is this your site?

Run a full multi-page scan with monitoring and get detailed remediation steps

Scan udemy.com

This audit is based on publicly observable website behavior. To request removal from the index, email support@tagleak.com