Data and storage

Where your data appears and how itβs referenced in filters
Data model (md)
SDK internally exposes a structured model used by filters/macros:
data: user properties set viasetuserproperties/identityvar: values from init/autoconfvariables.varevent: last event namepartner: retargeting/link partner datasession: session data (e.g., visitor id)utm:utm_campaign,utm_source,utm_medium,utm_term,utm_content,utm_click,utm_ht,utm_aturl,referrer: parsed URL parts +querycookie: parsed cookies
Access via macros, e.g. {{data.user_id}}, {{url.host}}.
Browser info (BW_INFO)
Collected at runtime and enriched when available (navigator.userAgentData). Useful fields:
n(browser),v(version),t(device: mobile/desktop)https(1/0),z(timezone offset),ls(localStorage available)wv(webview),uab/uam/uap(UA brands/mobile/platform),uapv(platform version)ul(user language if set),pe(push enabled support flag)
setuserlanguage writes BW_INFO.ul, which is included on beacons. In filters, put language or device values on data.* or variables.var. Use {{window.*}} for real Window properties.
Storage keys
Storage is namespaced under a JSON blob in _opc (local/session).
Local (under
_opc[<tag>]):uid/ttlβ persistent visitor id when analytics consent is onuserConsentJSON- UTM keys
- Modal keys:
m_<modalId>.v(views),.t(total),.l(last shown),.x(don’t-show),.q(queue),.ab(A/B variant) - Push:
webpush_dismissals;pushonly whenpush_enable_subdomain_subscriptionis enabled (otherwise the_ocpshcookie)
Session (under
_opc[<tag>]):uidas<timestamp>.<rand>.<count>_letβ last event time for session timeout
Privacy gate
The analytics load / beforeunload beacons still fire when the analytics flag is off. The stored consent state is consulted only when that flag is truthy. Persistent uid (cid on the payload) is omitted without analytics consent.