Cookies
First-party cookies only. No third-party cookies are created.imtbl_anon_id Tracking Pixel Web SDK
imtbl_anon_id Tracking Pixel Web SDK
Persistent anonymous device identifier (UUID v4). Shared between the Tracking Pixel and Web SDK.
| Property | Value |
|---|---|
| Lifetime | 2 years |
| Scope | First-party, current hostname |
| Attributes | SameSite=Lax, Secure on HTTPS |
_imtbl_sid Tracking Pixel Web SDK
_imtbl_sid Tracking Pixel Web SDK
Session continuity across page loads. Refreshed on each tracking call. Expires after 30 minutes of inactivity.
| Property | Value |
|---|---|
| Lifetime | 30 minutes (rolling) |
| Scope | First-party, current hostname |
| Attributes | SameSite=Lax, Secure on HTTPS |
_ga Tracking Pixel
_ga Tracking Pixel
Google Analytics client ID. Read-only — the Tracking Pixel reads this cookie for cross-platform identity stitching but does not write it.
| Property | Value |
|---|---|
| Source | Google Analytics |
_fbc Tracking Pixel
_fbc Tracking Pixel
Facebook click ID. Read-only — the Tracking Pixel reads this cookie for cross-platform identity stitching but does not write it.
| Property | Value |
|---|---|
| Source | Meta (Facebook) |
_fbp Tracking Pixel
_fbp Tracking Pixel
Facebook browser ID. Read-only — the Tracking Pixel reads this cookie for cross-platform identity stitching but does not write it.
| Property | Value |
|---|---|
| Source | Meta (Facebook) |
Device Fingerprint Signals
These signals are collected automatically when consent isanonymous or full.
| Signal | Source | Example |
|---|---|---|
| User agent | navigator.userAgent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)... |
| Screen resolution | screen.width × screen.height | 1920×1080 |
| Timezone | Intl.DateTimeFormat().resolvedOptions().timeZone | America/New_York |
| Browser language | navigator.language | en-US |
| IP address | Server-side from request headers | Raw 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.| Signal | Source | Example |
|---|---|---|
| UTM parameters | URL query string | utm_source, utm_medium, utm_campaign, utm_term, utm_content |
| Google click ID | URL query string | gclid |
| Meta click ID | URL query string | fbclid |
| TikTok click ID | URL query string | ttclid |
| Microsoft click ID | URL query string | msclkid |
| Display & Video 360 click ID | URL query string | dclid |
| LinkedIn click ID | URL query string | li_fat_id |
| Referrer | document.referrer | The referring page URL |
| Landing page | window.location.href (first page in session) | Entry point URL |
| Referral code | URL query string | referral_code parameter if present |
Auto-Tracked Events
Events managed by the SDK or pixel. Session events fire automatically. Thepage event is automatic for the Tracking Pixel but requires manual page() calls in the Web SDK.
session_start Tracking Pixel Web SDK
session_start Tracking Pixel Web SDK
Fires when a new session begins (no active
The Web SDK also includes all attribution signals (
_imtbl_sid cookie), or in the Web SDK when consent upgrades from 'none'.| Property | Type | Description |
|---|---|---|
sessionId | string | New session identifier |
utm_*, click IDs, referrer, landing_page, referral_code, touchpoint_type) on this event.session_end Tracking Pixel Web SDK
session_end Tracking Pixel Web SDK
Fires on page unload (pixel) or when
Both surfaces use
shutdown() is called (Web SDK). Only fires if consent is above 'none'.| Property | Type | Description |
|---|---|---|
sessionId | string | Current session identifier |
duration | number | Seconds since session start |
fetch with keepalive: true to ensure delivery on page unload.page Tracking Pixel Web SDK
page Tracking Pixel Web SDK
The Tracking Pixel fires this automatically on every page load. In the Web SDK, call
page() manually on each route change.| Property | Type | Tracking Pixel | Web SDK | Description |
|---|---|---|---|---|
sessionId | string | Every page | — | Current session identifier |
utm_source | string | Every page | Once per session | UTM source parameter from URL |
utm_medium | string | Every page | Once per session | UTM medium parameter from URL |
utm_campaign | string | Every page | Once per session | UTM campaign parameter from URL |
utm_term | string | Every page | Once per session | UTM term parameter from URL |
utm_content | string | Every page | Once per session | UTM content parameter from URL |
gclid | string | Every page | Once per session | Google Ads click ID |
fbclid | string | Every page | Once per session | Meta click ID |
ttclid | string | Every page | Once per session | TikTok click ID |
msclkid | string | Every page | Once per session | Microsoft click ID |
dclid | string | Every page | Once per session | Display & Video 360 click ID |
li_fat_id | string | Every page | Once per session | LinkedIn click ID |
referrer | string | Every page | Once per session | Referring page URL |
landing_page | string | Every page | Once per session | Entry point URL |
referral_code | string | Every page | Once per session | Custom referral link parameter |
touchpoint_type | string | Every page | Once per session | 'click' when any click ID or UTM parameter is present |
gaClientId | string | Every page | — | Google Analytics client ID (from _ga cookie) |
fbClickId | string | Every page | — | Facebook click ID (from _fbc cookie) |
fbBrowserId | string | Every page | — | Facebook browser ID (from _fbp cookie) |
form_submitted Tracking Pixel
form_submitted Tracking Pixel
Fires on HTML form submission. Can be disabled with
autocapture.forms: false.| Property | Type | Description |
|---|---|---|
formAction | string | Form action URL |
formId | string | Form element ID |
formName | string | Form element name |
fieldNames | string[] | Names of form fields |
emailHash | string | SHA-256 hashed email address (full consent only) |
link_clicked (auto) Tracking Pixel
link_clicked (auto) Tracking Pixel
Fires on outbound link clicks (external domains only). Can be disabled with
autocapture.clicks: false.| Property | Type | Description |
|---|---|---|
linkUrl | string | Destination URL |
linkText | string | Link display text |
elementId | string | Link element ID |
outbound | boolean | Always true |
Predefined Events
Typed events for common player actions.sign_up Web SDK
sign_up Web SDK
Player created a new account.
| Property | Type | Required | Description |
|---|---|---|---|
method | string | No | How the player signed up (e.g. 'email', 'google', 'passport') |
sign_in Web SDK
sign_in Web SDK
Player signed in to an existing account.
| Property | Type | Required | Description |
|---|---|---|---|
method | string | No | Authentication method used (e.g. 'email', 'google', 'passport') |
purchase Web SDK
purchase Web SDK
Player completed a purchase.
Player buys a sword for $9.99:
| Property | Type | Required | Description |
|---|---|---|---|
currency | string | Yes | Currency code (e.g. 'USD', 'ETH') |
value | number | Yes | Total purchase value |
itemId | string | No | Unique identifier for the item |
itemName | string | No | Display name of the item |
quantity | number | No | Number of items purchased |
transactionId | string | No | Your internal transaction reference |
game_launch Web SDK
game_launch Web SDK
Player launched the game.
Player launches the game on Steam:
| Property | Type | Required | Description |
|---|---|---|---|
platform | string | No | Platform the game launched on (e.g. 'steam', 'web', 'epic') |
version | string | No | Game version string |
buildId | string | No | Build identifier from your CI/CD pipeline |
progression Web SDK
progression Web SDK
Player started, completed, or failed a level or stage.
Player completed level 3 of the forest world with a score of 4500 in 2 minutes:
| Property | Type | Required | Description |
|---|---|---|---|
status | 'start' | 'complete' | 'fail' | Yes | Whether the player started, completed, or failed this segment |
world | string | No | Top-level grouping (e.g. 'forest', 'dungeon', 'chapter-1') |
level | string | No | Level within the world (e.g. '3', 'boss') |
stage | string | No | Sub-level or checkpoint within the level |
score | number | No | Score achieved |
durationSec | number | No | Time spent in seconds |
resource Web SDK
resource Web SDK
Player gained or spent an in-game resource.
Player spends 500 gold on a weapon:
| Property | Type | Required | Description |
|---|---|---|---|
flow | 'sink' | 'source' | Yes | 'sink' when the player spends a resource, 'source' when they gain one |
currency | string | Yes | The resource type (e.g. 'gold', 'gems', 'energy') |
amount | number | Yes | Quantity gained or spent |
itemType | string | No | Category of the item involved (e.g. 'weapon', 'consumable') |
itemId | string | No | Unique identifier for the item |
wishlist_add / wishlist_remove Web SDK
wishlist_add / wishlist_remove Web SDK
Player added or removed a game from their wishlist.wishlist_add:
wishlist_remove:
| Property | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | Unique identifier for the game |
source | string | No | Where the action happened (e.g. 'store', 'search', 'recommendation') |
platform | string | No | Platform (e.g. 'steam', 'epic') |
| Property | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | Unique identifier for the game |
email_acquired Web SDK
email_acquired Web SDK
Captured a player’s email address (e.g. from a newsletter signup or waitlist form).
| Property | Type | Required | Description |
|---|---|---|---|
source | string | No | Where the email was collected (e.g. 'waitlist', 'newsletter', 'checkout') |
game_page_viewed Web SDK
game_page_viewed Web SDK
Player viewed a game page.
| Property | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | Unique identifier for the game |
gameName | string | No | Display name of the game |
slug | string | No | URL-friendly identifier (e.g. 'my-game') |
link_clicked Web SDK
link_clicked Web SDK
Player clicked a tracked link.
| Property | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Destination URL |
label | string | No | Display text or label for the link |
source | string | No | Where the link appeared (e.g. 'navbar', 'footer', 'cta-banner') |
gameId | string | No | Associated game identifier, if applicable |
Consent Model
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.
| Level | What it does | When to set |
|---|---|---|
'none' | Loads but collects nothing | Before cookie banner interaction or when consent is denied |
'anonymous' | Tracks activity without user identity | After the user accepts analytics cookies |
'full' | Tracks everything including user identity | After full tracking consent |
| Data | 'none' | 'anonymous' | 'full' |
|---|---|---|---|
| Cookies | imtbl_anon_id | imtbl_anon_id, _imtbl_sid | imtbl_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 | — | ✓ | ✓ |
| Data | 'none' | 'anonymous' | 'full' |
|---|---|---|---|
| Cookies | None | imtbl_anon_id, _imtbl_sid | imtbl_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
fullconsent)
Next Steps
Tracking Pixel
Install the pixel on your site
Web SDK
Full SDK for SPAs, custom events, and user identity