Properties
The $-prefixed keys Saasco fills in on contacts and events, and the reserved names you set yourself.
Keys that begin with $ are system-managed. Saasco writes them; don't set them in identify() or pass them as event properties, and avoid a leading $ in your own names so nothing collides.
The reserved names you set (email, name, revenue and friends) are documented with the calls that use them: contact properties under Identify, revenue properties under Tracking.
Default event properties
The SDK attaches browser context to every client-side event. Geo, device, OS, browser and bot fields are added by the ingest pipeline from the IP and user agent rather than the browser.
UTM and ad-id fields are session-sticky: the first non-empty value of the session is kept and later navigations don't overwrite it. Referrer is the last cross-domain referrer of the session.
| Property | Display name | Description |
|---|---|---|
$href | Current URL | URL of the page the event was tracked on. |
$pathname | Pathname | Path of that page. |
$title | Page Title | Title of that page. |
$location | Location | Timezone-derived location hint. |
$locale | Locale | Preferred language of the user. |
$userAgent | User Agent | Browser user agent string. |
$screenWidth | Screen Width | Device screen width in pixels. |
$screenHeight | Screen Height | Device screen height in pixels. |
$screenDPI | Screen DPI | Pixel density of the screen. |
$referrer | Last Touch Referrer | Last cross-domain document.referrer this session. Shown as "direct" if empty. |
$referringDomain | Last Touch Referring Domain | Hostname of that referrer. |
$utmSource | UTM Source | First utm_source of the session. |
$utmMedium | UTM Medium | First utm_medium of the session. |
$utmCampaign | UTM Campaign | First utm_campaign of the session. |
$utmTerm | UTM Term | First utm_term of the session. |
$utmContent | UTM Content | First utm_content of the session. |
$utmId | UTM ID | First utm_id of the session. |
$utmCampaignId | UTM Campaign ID | First utm_campaign_id of the session. |
$utmSourcePlatform | UTM Source Platform | First utm_source_platform of the session. |
$utmCreativeFormat | UTM Creative Format | First utm_creative_format of the session. |
$utmMarketingTactic | UTM Marketing Tactic | First utm_marketing_tactic of the session. |
$utmAdId | Ad ID | First utm_ad_id or network-specific ad id (fbadid, gadid, ttadid, …). |
$utmAdSource | Ad Source | First utm_ad_source, or the network inferred from the ad-id parameter. |
$os | Operating System | Parsed from the user agent at ingest. |
$browser | Browser | Parsed from the user agent at ingest. |
$browserVersion | Browser Version | Parsed from the user agent at ingest. |
$device | Device Type | Mobile, Tablet or Desktop. |
$ip | IP Address | Client IP from the ingest request. |
$city | City | City resolved from the IP. |
$country | Country | ISO country code from the IP. |
$continent | Continent | Continent from the IP. |
$region | Region | State or province from the IP. |
$latitude | Latitude | Latitude of the IP location. |
$longitude | Longitude | Longitude of the IP location. |
$timezone | Timezone | Timezone resolved from the IP. |
$isBot | Bot | true when ingest classifies the user agent as a crawler. |
Default contact properties
Collected automatically on every contact. Most are read-only; some geo fields can be edited in the CRM.
Identity and lifecycle
| Property | Display name | Description |
|---|---|---|
$id | Distinct ID | Your application's identifier, coerced to a string. |
$lastSeen | Last Seen | Last activity timestamp. |
$lastIdentifiedAt | Last Identified | Timestamp of the most recent identify() call. |
$processedAt | Processed At | When the most recent event was processed. |
Email health
| Property | Display name | Description |
|---|---|---|
$subscribed | Subscribed | Email subscription status. |
$unsubscribed | Unsubscribed | Email unsubscription status. |
$unsubscribeReason | Unsubscribe Reason | Why they were unsubscribed (complained, bounced, …). |
$unsubscribeSource | Unsubscribe Source | Where the unsubscribe came from. |
$emailValidated | Email Validated | Whether the address has been validated. |
$lastEmailValidatedAt | Last Email Validated At | Timestamp of the last validation. |
$emailValidationResult | Email Validation Result | Invalid, Risky, Safe to Send or Unknown. |
$emailScore | Email Score | Engagement score from open/click history, with time decay. |
Session context
Taken from the contact's most recent session: $os, $browser, $browserVersion, $device, $screenWidth, $screenHeight, $screenDpi, $userAgent, $ip, $timezone, $city, $country, $countryCode, $continent, $region, $locale, $latitude, $longitude.
Attribution
Last-touch and first-touch are both kept, so you can attribute a signup to the campaign that closed it and the one that found them.
| Last touch | First touch |
|---|---|
$referrer | $initialReferrer |
$referringDomain | $initialReferringDomain |
$utmSource | $initialUtmSource |
$utmMedium | $initialUtmMedium |
$utmCampaign | $initialUtmCampaign |
$utmTerm | $initialUtmTerm |
$utmContent | $initialUtmContent |
An empty referrer means there wasn't one; the CRM may display that as "direct".
Integrations
| Property | Display name | Description |
|---|---|---|
$stripeCustomerId | Stripe Customer ID | Stripe customer id associated with this contact. |