Skip to main content
The Tracking Pixel and Web SDK are currently in alpha. The data collected may change between releases.
A reference of all data collected by the Tracking Pixel and Web SDK, organized by category. Useful for privacy reviews, legal assessments, and technical audits.

Cookies

First-party cookies only. No third-party cookies are created.
Persistent anonymous device identifier (UUID v4). Shared between the Tracking Pixel and Web SDK.
PropertyValue
Lifetime2 years
ScopeFirst-party, current hostname
AttributesSameSite=Lax, Secure on HTTPS
Session continuity across page loads. Refreshed on each tracking call. Expires after 30 minutes of inactivity.
PropertyValue
Lifetime30 minutes (rolling)
ScopeFirst-party, current hostname
AttributesSameSite=Lax, Secure on HTTPS
Google Analytics client ID. Read-only — the Tracking Pixel reads this cookie for cross-platform identity stitching but does not write it.
PropertyValue
SourceGoogle Analytics
Facebook click ID. Read-only — the Tracking Pixel reads this cookie for cross-platform identity stitching but does not write it.
PropertyValue
SourceMeta (Facebook)
Facebook browser ID. Read-only — the Tracking Pixel reads this cookie for cross-platform identity stitching but does not write it.
PropertyValue
SourceMeta (Facebook)

Device Fingerprint Signals

These signals are collected automatically when consent is anonymous or full.
SignalSourceExample
User agentnavigator.userAgentMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...
Screen resolutionscreen.width × screen.height1920×1080
TimezoneIntl.DateTimeFormat().resolvedOptions().timeZoneAmerica/New_York
Browser languagenavigator.languageen-US
IP addressServer-side from request headersRaw IP stored for geo enrichment

Attribution Signals

Captured from the URL and browser. The Tracking Pixel collects these on every page load. The Web SDK captures them at initialization and attaches them once per session.
SignalSourceExample
UTM parametersURL query stringutm_source, utm_medium, utm_campaign, utm_term, utm_content
Google click IDURL query stringgclid
Meta click IDURL query stringfbclid
TikTok click IDURL query stringttclid
Microsoft click IDURL query stringmsclkid
Display & Video 360 click IDURL query stringdclid
LinkedIn click IDURL query stringli_fat_id
Referrerdocument.referrerThe referring page URL
Landing pagewindow.location.href (first page in session)Entry point URL
Referral codeURL query stringreferral_code parameter if present

Auto-Tracked Events

Events managed by the SDK or pixel. Session events fire automatically. The page event is automatic for the Tracking Pixel but requires manual page() calls in the Web SDK.
Fires when a new session begins (no active _imtbl_sid cookie), or in the Web SDK when consent upgrades from 'none'.
PropertyTypeDescription
sessionIdstringNew session identifier
The Web SDK also includes all attribution signals (utm_*, click IDs, referrer, landing_page, referral_code, touchpoint_type) on this event.
Fires on page unload (pixel) or when shutdown() is called (Web SDK). Only fires if consent is above 'none'.
PropertyTypeDescription
sessionIdstringCurrent session identifier
durationnumberSeconds since session start
Both surfaces use fetch with keepalive: true to ensure delivery on page unload.
The Tracking Pixel fires this automatically on every page load. In the Web SDK, call page() manually on each route change.
PropertyTypeTracking PixelWeb SDKDescription
sessionIdstringEvery pageCurrent session identifier
utm_sourcestringEvery pageOnce per sessionUTM source parameter from URL
utm_mediumstringEvery pageOnce per sessionUTM medium parameter from URL
utm_campaignstringEvery pageOnce per sessionUTM campaign parameter from URL
utm_termstringEvery pageOnce per sessionUTM term parameter from URL
utm_contentstringEvery pageOnce per sessionUTM content parameter from URL
gclidstringEvery pageOnce per sessionGoogle Ads click ID
fbclidstringEvery pageOnce per sessionMeta click ID
ttclidstringEvery pageOnce per sessionTikTok click ID
msclkidstringEvery pageOnce per sessionMicrosoft click ID
dclidstringEvery pageOnce per sessionDisplay & Video 360 click ID
li_fat_idstringEvery pageOnce per sessionLinkedIn click ID
referrerstringEvery pageOnce per sessionReferring page URL
landing_pagestringEvery pageOnce per sessionEntry point URL
referral_codestringEvery pageOnce per sessionCustom referral link parameter
touchpoint_typestringEvery pageOnce per session'click' when any click ID or UTM parameter is present
gaClientIdstringEvery pageGoogle Analytics client ID (from _ga cookie)
fbClickIdstringEvery pageFacebook click ID (from _fbc cookie)
fbBrowserIdstringEvery pageFacebook browser ID (from _fbp cookie)
Fires on HTML form submission. Can be disabled with autocapture.forms: false.
PropertyTypeDescription
formActionstringForm action URL
formIdstringForm element ID
formNamestringForm element name
fieldNamesstring[]Names of form fields
emailHashstringSHA-256 hashed email address (full consent only)
Fires on outbound link clicks (external domains only). Can be disabled with autocapture.clicks: false.
PropertyTypeDescription
linkUrlstringDestination URL
linkTextstringLink display text
elementIdstringLink element ID
outboundbooleanAlways true

Predefined Events

Typed events for common player actions.
Player created a new account.
PropertyTypeRequiredDescription
methodstringNoHow the player signed up (e.g. 'email', 'google', 'passport')
audience.track(AudienceEvents.SIGN_UP, { method: 'email' });
Player signed in to an existing account.
PropertyTypeRequiredDescription
methodstringNoAuthentication method used (e.g. 'email', 'google', 'passport')
audience.track(AudienceEvents.SIGN_IN, { method: 'google' });
Player completed a purchase.
PropertyTypeRequiredDescription
currencystringYesCurrency code (e.g. 'USD', 'ETH')
valuenumberYesTotal purchase value
itemIdstringNoUnique identifier for the item
itemNamestringNoDisplay name of the item
quantitynumberNoNumber of items purchased
transactionIdstringNoYour internal transaction reference
Player buys a sword for $9.99:
audience.track(AudienceEvents.PURCHASE, {
  currency: 'USD',
  value: 9.99,
  itemName: 'Legendary Sword',
  quantity: 1,
});
Player launched the game.
PropertyTypeRequiredDescription
platformstringNoPlatform the game launched on (e.g. 'steam', 'web', 'epic')
versionstringNoGame version string
buildIdstringNoBuild identifier from your CI/CD pipeline
Player launches the game on Steam:
audience.track(AudienceEvents.GAME_LAUNCH, {
  platform: 'steam',
  version: '1.2.0',
});
Player started, completed, or failed a level or stage.
PropertyTypeRequiredDescription
status'start' | 'complete' | 'fail'YesWhether the player started, completed, or failed this segment
worldstringNoTop-level grouping (e.g. 'forest', 'dungeon', 'chapter-1')
levelstringNoLevel within the world (e.g. '3', 'boss')
stagestringNoSub-level or checkpoint within the level
scorenumberNoScore achieved
durationSecnumberNoTime spent in seconds
Player completed level 3 of the forest world with a score of 4500 in 2 minutes:
audience.track(AudienceEvents.PROGRESSION, {
  status: 'complete',
  world: 'forest',
  level: '3',
  score: 4500,
  durationSec: 120,
});
Player gained or spent an in-game resource.
PropertyTypeRequiredDescription
flow'sink' | 'source'Yes'sink' when the player spends a resource, 'source' when they gain one
currencystringYesThe resource type (e.g. 'gold', 'gems', 'energy')
amountnumberYesQuantity gained or spent
itemTypestringNoCategory of the item involved (e.g. 'weapon', 'consumable')
itemIdstringNoUnique identifier for the item
Player spends 500 gold on a weapon:
audience.track(AudienceEvents.RESOURCE, {
  flow: 'sink',
  currency: 'gold',
  amount: 500,
  itemType: 'weapon',
  itemId: 'legendary-sword',
});
Player added or removed a game from their wishlist.wishlist_add:
PropertyTypeRequiredDescription
gameIdstringYesUnique identifier for the game
sourcestringNoWhere the action happened (e.g. 'store', 'search', 'recommendation')
platformstringNoPlatform (e.g. 'steam', 'epic')
wishlist_remove:
PropertyTypeRequiredDescription
gameIdstringYesUnique identifier for the game
audience.track(AudienceEvents.WISHLIST_ADD, {
  gameId: 'game-123',
  source: 'store',
  platform: 'steam',
});

audience.track(AudienceEvents.WISHLIST_REMOVE, {
  gameId: 'game-123',
});
Captured a player’s email address (e.g. from a newsletter signup or waitlist form).
PropertyTypeRequiredDescription
sourcestringNoWhere the email was collected (e.g. 'waitlist', 'newsletter', 'checkout')
audience.track(AudienceEvents.EMAIL_ACQUIRED, { source: 'waitlist' });
Player viewed a game page.
PropertyTypeRequiredDescription
gameIdstringYesUnique identifier for the game
gameNamestringNoDisplay name of the game
slugstringNoURL-friendly identifier (e.g. 'my-game')
audience.track(AudienceEvents.GAME_PAGE_VIEWED, {
  gameId: 'game-123',
  gameName: 'My Game',
  slug: 'my-game',
});
Player clicked a tracked link.
PropertyTypeRequiredDescription
urlstringYesDestination URL
labelstringNoDisplay text or label for the link
sourcestringNoWhere the link appeared (e.g. 'navbar', 'footer', 'cta-banner')
gameIdstringNoAssociated game identifier, if applicable
audience.track(AudienceEvents.LINK_CLICKED, {
  url: 'https://store.steampowered.com/app/123',
  label: 'Wishlist on Steam',
  source: 'cta-banner',
});
Both the Tracking Pixel and Web SDK use a three-tier consent model. Consent defaults to 'none' and can be changed at any time — changes take effect immediately.
LevelWhat it doesWhen to set
'none'Loads but collects nothingBefore cookie banner interaction or when consent is denied
'anonymous'Tracks activity without user identityAfter the user accepts analytics cookies
'full'Tracks everything including user identityAfter full tracking consent
The tables below show whether each data category is collected at each consent level. Tracking Pixel
Data'none''anonymous''full'
Cookiesimtbl_anon_idimtbl_anon_id, _imtbl_sidimtbl_anon_id, _imtbl_sid
Page views
Session events
Device fingerprint
Attribution signals
Outbound link clicks
Form submissions✓ (no email)✓ (hashed email)
Third-party ID stitching
Web SDK
Data'none''anonymous''full'
CookiesNoneimtbl_anon_id, _imtbl_sidimtbl_anon_id, _imtbl_sid
Session events
Device fingerprint
Attribution signals
page()
track()
identify()
alias()

What Is Not Collected

Neither the Tracking Pixel nor the Web SDK collect the following:
  • No cross-domain tracking (first-party cookies only)
  • No session replay or screen recording
  • No heatmaps or mouse movement tracking
  • No scroll depth tracking
  • No A/B testing or feature flags
  • No impression or view-through tracking (click-through only)
  • No raw email addresses (only SHA-256 hashed, only at full consent)
Additionally, the Tracking Pixel does not support custom event tracking — use the Web SDK for that.

Next Steps

Tracking Pixel

Install the pixel on your site

Web SDK

Full SDK for SPAs, custom events, and user identity