Microsoft Clarity needs cookie consent in the EU, the UK and Switzerland, and since 31 October 2025 Microsoft enforces it: without a valid signal, Clarity sets no cookies for those visitors and runs in a no-consent mode that gives each page view its own ID. You pass the choice with the Clarity consent API, window.clarity('consentv2', {...}), with ad_Storage and analytics_Storage set to granted or denied, and erase existing cookies with window.clarity('consent', false) when the visitor refuses.
What Microsoft Clarity does and why consent matters
Microsoft Clarity is a free behavioural analytics tool that records how visitors interact with your website. It generates heatmaps, session recordings, and engagement metrics, all useful data for improving user experience.
Clarity sets several cookies on your visitors' browsers to make this tracking work. Under Article 5(3) of the ePrivacy Directive and the GDPR, storing non-essential cookies without prior consent is unlawful for visitors in the EU, EEA, UK, and Switzerland. Since 31 October 2025, Microsoft's Clarity consent requirements apply to page visits from the EEA, UK and Switzerland: Clarity sets no cookies for those visitors unless it receives a valid consent signal, deletes its first-party cookies when consent is denied, and treats consent as valid for up to 9 months.
The short version
Clarity's
consentv2API replaces the olderconsentAPI, which Microsoft plans to deprecate, and requires two parameters:ad_Storageandanalytics_Storage.Without a valid consent signal, Clarity runs in a limited no-consent mode for visitors from the EEA, UK and Switzerland: no cookies, a new ID for every page view, and features that depend on cookies, such as recordings across pages and funnels, may be limited.
Clarity sets first-party cookies (
_clck,_clsk) and third-party cookies (CLID,MUID,ANONCHK,SM,MR). The first-party ones are analytics cookies, whileMUIDalso serves Microsoft advertising.Calling
window.clarity('consent', false)erases all Clarity cookies and restarts tracking in no-consent mode.A CMP like Kukie.io can send the correct consent signal automatically, so you do not need to write or maintain custom JavaScript.
Cookies set by Microsoft Clarity
Clarity places both first-party and third-party cookies, and Microsoft's list of Clarity cookies treats all of them as non-essential. Each one requires consent under the GDPR and ePrivacy Directive before being stored on a visitor's device. Microsoft's page lists names and purposes, not lifetimes, so the table does too.
| Cookie | Type | Purpose |
|---|---|---|
_clck | First-party | Persists the Clarity user ID and preferences for that site |
_clsk | First-party | Connects multiple page views into a single session recording |
CLID | Third-party | Identifies the first time Clarity saw this user on any site using Clarity |
MUID | Third-party | Identifies browsers visiting Microsoft sites, used for advertising, site analytics and operations |
ANONCHK | Third-party | Indicates whether MUID is transferred to the advertising cookie ANID (always 0 for Clarity) |
SM | Third-party | Synchronises MUID across Microsoft domains |
MR | Third-party | Indicates whether to refresh MUID |
The third-party cookies (CLID, MUID, ANONCHK, SM, MR) are set on Microsoft's domain. If your visitors block third-party cookies at the browser level, only the first-party cookies will be affected by Clarity's consent logic.
How the Clarity consent API (consentv2) works
The Clarity consent API v2 is Clarity's current method for receiving consent signals. It replaces the older V1 API (window.clarity('consent', true)), which Microsoft plans to deprecate.
The call takes two parameters, both required:
window.clarity('consentv2', {
ad_Storage: "granted",
analytics_Storage: "granted"
});
Both ad_Storage and analytics_Storage accept either "granted" or "denied" as values. The property names are case-sensitive: note the underscore and capital S.
When both values are set to "granted", Clarity enables full tracking: session recordings, heatmaps, funnels, and cross-page user identification via cookies. When analytics_Storage is "denied", Clarity collects only cookieless data, and when ad_Storage is "denied", it shares no data with Microsoft Ads. It assigns a unique ID per page view and does not persist session data with cookies.
Erasing cookies on consent withdrawal
If a visitor withdraws consent, your site must tell Clarity to clean up. The legacy erase call still works for this purpose:
window.clarity('consent', false);
This deletes all Clarity cookies from the visitor's browser, ends the current session, and restarts tracking in no-consent mode. No-consent mode stays active on future visits until the visitor grants consent again.
What happens without a consent signal
If your site does not send any consentv2 call for visitors from the EEA, UK, or Switzerland, Clarity defaults to no-consent mode. The practical impact is significant.
Clarity still loads and collects cookieless data, but each page view gets its own ID. Microsoft says features that depend on cookies, such as session recordings across pages and funnels, may be limited. You keep page-level insight but lose the link between pages that makes much of Clarity's behavioural data useful.
For visitors outside these regions, Clarity currently operates without requiring a consent signal. Other privacy laws, such as Brazil's LGPD and the CCPA as amended by the CPRA, may still require you to disclose Clarity's cookies and provide opt-out mechanisms.
How Kukie.io handles Clarity consent
Configuring Clarity consent manually means writing event listeners, mapping your cookie banner's accept and reject actions to the correct API calls, and testing the integration across different consent states. Kukie.io removes that work.
When you enable the Microsoft Clarity integration in the Kukie.io dashboard, Kukie.io sends consentv2 on every page load with both values denied in regions where you ask for opt-in consent, then an update when the visitor chooses: analytics_Storage follows the Analytics category and ad_Storage the Marketing category. When a visitor rejects both, or later withdraws consent through the revisit consent button, Kukie.io also calls window.clarity('consent', false) to erase Clarity's cookies.
No custom JavaScript is required. The Microsoft Clarity Consent Mode page describes the integration in more detail.
Setup steps
Add your site to Kukie.io and install the cookie banner.
Run a cookie scan to detect Clarity's
_clckand_clskcookies.Verify the cookies are categorised under Analytics in your cookie categories.
Enable the Microsoft Clarity integration under Integrations in your dashboard.
Test with the browser console snippet below.
If you also run Microsoft Advertising with UET tags, the UET consent mode integration works alongside Clarity. Both receive their consent signals from the same visitor choice, with no extra configuration. See the dedicated Microsoft UET consent mode guide for details on that setup.
Testing and verification
After enabling the integration, open your site in an incognito window and check that Clarity behaves correctly in both consent states.
Console snippet for monitoring Clarity calls
Paste this into your browser's developer console before interacting with the cookie banner:
const originalClarity = window.clarity;
window.clarity = function() {
console.log('[Clarity]', ...arguments);
return originalClarity.apply(this, arguments);
};
Accept cookies through the banner and look for a [Clarity] consentv2 log entry with analytics_Storage: "granted". Reject cookies and confirm a consentv2 call with "denied" values, followed by [Clarity] consent false.
Check the Application tab in DevTools. After accepting, you should see _clck and _clsk cookies. After rejecting or withdrawing consent, those cookies should be absent.
Region rules: opt-in and opt-out
Privacy regulations differ by jurisdiction, and your consent model should reflect that. With Kukie.io's region rules, you can apply different default behaviours based on where your visitor is located.
For visitors in the EU, EEA, UK, and Switzerland, the GDPR requires opt-in consent: Clarity cookies must not be set until the visitor actively agrees. For visitors in the United States, many state laws follow an opt-out model, where tracking may begin by default but the visitor can choose to refuse.
Kukie.io's geo-detection applies your region rules to the same Clarity integration: opt-in regions start with both values denied, while opt-out and notice-only regions start granted. The consentv2 signal reflects the visitor's actual preference in both cases.
Clarity consent: short answers
Does Microsoft Clarity need cookie consent?
Yes. Clarity sets non-essential cookies like _clck and _clsk that require consent under the GDPR and ePrivacy Directive. Since 31 October 2025, Microsoft enforces consent requirements for visitors from the EEA, UK, and Switzerland.
What is the difference between Clarity ConsentV1 and ConsentV2?
ConsentV1 used a simple boolean call (window.clarity('consent', true)). ConsentV2 provides granular control with separate ad_Storage and analytics_Storage parameters. Microsoft recommends ConsentV2 and plans to deprecate V1, which it still documents for erasing cookies.
What happens to Clarity data if a visitor declines cookies?
Clarity operates in no-consent mode with limited tracking. It assigns a unique ID per page view and does not persist session data with cookies, so features that depend on cookies, such as recordings across pages and funnels, may be limited for that visitor.
Are _clck and _clsk cookies first-party or third-party?
Both _clck and _clsk are first-party cookies set on your domain. Clarity also uses third-party cookies (CLID, MUID, ANONCHK, SM, MR) set on Microsoft's domain.
Can I use Microsoft Clarity without a cookie banner?
If your site receives any traffic from the EU, EEA, UK, or Switzerland, you need a cookie banner and a consent mechanism. Without one, Clarity runs in no-consent mode for those visitors, and setting its cookies without consent would breach Article 5(3) of the ePrivacy Directive.
How do I erase Clarity cookies when a visitor withdraws consent?
Call window.clarity('consent', false) in your JavaScript. This deletes all Clarity cookies and restarts tracking in no-consent mode. A CMP like Kukie.io handles this automatically.
Send Clarity the choice your visitors make
If you are not sure which Clarity cookies your site sets before a choice, start with a scan, then turn on the Microsoft Clarity integration so the banner sends consentv2 and the erase call for you.
