Tracker library

Zendesk: what it is, what it sets, and how to gate it.

Support widget and help-centre embed, classified as functional for the same reason as any chat tool, and with the same argument for loading it on demand.

Vendor
Zendesk
Scanner category
functional
Consent category
Functional
Control
Custom script or container tag

What it is

The Zendesk Web Widget embeds chat, help-centre search and ticket submission. Its identifiers exist to keep a conversation continuous across page loads, which is a functional purpose rather than a tracking one.

What a scan matches

A verification scan drives a real browser and records the outbound requests observed during its configured journeys, so Zendesk is identified by request hosts and paths rather than by source-code claims. Requests on unvisited paths, after unperformed interactions or solely on the server remain outside that observation.

  • zendesk.com
  • zdassets.com
  • zopim.com

Cookies are classified by name before domain because many analytics and advertising tags write first-party cookies through the page, which places a vendor-related identifier on your domain. Matching known names helps attribute those values without assuming that every first-party cookie came from your own application.

CookieWhat it is for
__zlcmidZopim live chat machine identifier
__zlcstoreLocal widget state

Controlling it with consent

No named adapter. Attach it to functional, or load it on demand from a lightweight launcher so a visitor who never asks for support never loads it.

No named adapter: choose the appropriate control

The product ships named adapters for Google Tag Manager, Google Analytics, the Meta and TikTok pixels, and Klaviyo. Choose the control route that fits this technology: a custom HTTPS script declaration for a browser loader, an individual consent condition inside a tag manager, a platform or app setting, or a click-to-load placeholder for a frame. Server-side integrations need their own enforcement because a browser runtime cannot stop them.

What breaks if it is refused: the support widget. Keep a non-JavaScript contact route available so refusing does not mean being unable to reach you.

Verifying it

Before consent there should be no __zlcmid. Confirm that a visitor who refuses functional can still find a way to contact you. An email address in the footer is usually enough.

  • Before a choice: optional tracking endpoints and optional identifiers are absent; any intentionally loaded necessary or functional surface matches the control model described above
  • After rejecting optional categories: optional activity remains absent and the refusal persists across a reload
  • After granting the relevant category: the expected loader or embed appears and the feature behaves normally
  • After withdrawing: new optional activity stops; where the vendor supports a consent signal, verify that the signal is sent as well as checking network behavior

Common questions

Do support widgets need consent?

They are not strictly necessary for delivering a page, so in prior-consent jurisdictions the safe reading is yes. Loading on click is the pattern that most cleanly avoids the question.

Sources and verification

Verified on . Product-behaviour statements were checked against the current implementation and tests. The links below are the verification basis recorded for this article. They support the stated facts, not a legal conclusion for every site or configuration; recheck changing vendor behaviour before relying on it in production.

See what your own site is loading

A browser scan reports the requests and storage it observed during the sampled journey. Use configured workspace scans to compare the states and pages that matter to your implementation.