Event taxonomy
Reserved event names and the property names FounderHQ owns.
FounderHQ owns every name that starts with $. Your own event and
property names never start with $, so the two sets can never collide.
Every table below is generated from @founderhq/events-core. They match
the shipped SDKs exactly.
Reserved event names
These are the only $ event names FounderHQ accepts. Send any other $
name and the event comes back with a drop result.
| Name |
|---|
$identify |
$groupidentify |
$set |
$pageview |
$pageleave |
$session_start |
$screen |
$autocapture |
$rageclick |
$dead_click |
$outbound_click |
$web_vitals |
$application_installed |
$application_updated |
$application_opened |
$application_backgrounded |
$push_notification_opened |
Your own events use plain names: trial.started, invite_sent,
Report Exported. Pick one convention and keep it.
Event properties
The SDKs fill these in for you. Set them yourself only when you send events from your own client.
| Name |
|---|
$display_name |
$current_url |
$pathname |
$host |
$referrer |
$referring_domain |
$search_engine |
$browser |
$browser_version |
$browser_webdriver |
$os |
$os_version |
$device_type |
$device_id |
$device_manufacturer |
$device_name |
$device_model |
$platform |
$session_id |
$window_id |
$pageview_id |
$screen_id |
$viewport_width |
$viewport_height |
$screen_width |
$screen_height |
$screen_name |
$lib |
$lib_version |
$timezone |
$locale |
$browser_language |
$app_build |
$app_name |
$app_namespace |
$app_version |
$deep_link_url |
$max_scroll_percentage |
$last_scroll_percentage |
$page_duration_ms |
$active_duration_ms |
$leave_reason |
$outbound_url |
$outbound_domain |
$prev_pageview_id |
$prev_pageview_max_scroll_percentage |
$prev_pageview_duration_ms |
$prev_pageview_pathname |
$geoip_country_code |
$geoip_country_name |
$geoip_city_name |
$geoip_continent_code |
$geoip_continent_name |
$geoip_time_zone |
$geoip_subdivision_1_code |
$geoip_subdivision_1_name |
$ip_hash |
$ip_truncated |
$ip |
$attribution_channel |
$attribution_source |
$purchase_attribution_token |
$groups |
$group_set |
$account_context_token |
$account_span_id |
$bot |
$bot_category |
Campaign properties
Campaign keys stay unprefixed, because they arrive unprefixed in the URL. FounderHQ reads all 24 from the landing URL and uses them to answer "which channel introduced this contact".
| Name |
|---|
utm_source |
utm_medium |
utm_campaign |
utm_term |
utm_content |
gclid |
gad_source |
gclsrc |
dclid |
gbraid |
wbraid |
fbclid |
msclkid |
twclid |
li_fat_id |
mc_cid |
igshid |
ttclid |
rdt_cid |
epik |
qclid |
sccid |
irclid |
_kx |
Session properties
FounderHQ derives these and attaches them to the session, not to individual events. You do not send them.
| Name |
|---|
$entry_current_url |
$entry_pathname |
$entry_utm_source |
$entry_utm_medium |
$entry_utm_campaign |
$entry_utm_term |
$entry_utm_content |
$entry_referring_domain |
$channel_type |
$session_duration |
$is_bounce |
$pageview_count |
$end_pathname |
Cookieless measurement allowlist
When a visitor has not granted tracking, the SDK sends the small cookieless event described in Wire protocol. Only the names below are allowed. FounderHQ removes anything else on the client and rejects anything extra at ingest.
Cookieless event names
| Name |
|---|
$pageview |
$pageleave |
Cookieless base properties
| Name |
|---|
$pathname |
$referring_domain |
utm_source |
utm_medium |
utm_campaign |
utm_term |
utm_content |
$platform |
Cookieless page-leave properties
| Name |
|---|
$page_duration_ms |
$max_scroll_percentage |
$leave_reason |
The page-leave properties are valid on $pageleave only. Put any of them
on a $pageview and the event is refused.