On-Domain and DSP Event Fields

Event Resolution Field Catalog

API: GET /api/v1/events and GET /api/v2/events on apiv3.delivr.ai Service: Event Store Lookup Service (Rust/DataFusion) Schema endpoint: GET /api/v1/events_schema Last verified: 2026-04-12 Sources: Pixel (on-domain) and DSP (ad impression) events share enrichment fields but differ in core event fields.


Quick Reference

  • Total schema fields: 132
  • Max time window: 25 hours (end_ms - start_ms)
  • Default limit: 300 rows
  • Resolved on-domain events include identity + enrichment fields (person, company, demographics)
  • Unresolved on-domain events include only core event fields (no person/company data)

Query Parameters

ParameterRequiredDescription
pixel_idYesPixel UUID to scope the query
start_msYesInclusive start timestamp (epoch ms)
end_msYesInclusive end timestamp (epoch ms). Max 25h from start_ms
limitNoMax rows to return (default: 300)
offsetNoRows to skip for pagination
selectNoComma-separated field list to project specific columns
filterNoFilter expression: <field>:<op>:<value>. AND with ,, OR with |
distinctNoComma-separated fields to deduplicate results

V2 Query Parameters

ParameterRequiredDescription
sourceNoEvent source: pixel (default) or dsp
pixel_idConditionalPixel UUID. Use with source=pixel
project_idConditionalProject UUID. Use with source=pixel, or alongside campaign_id for source=dsp
campaign_idConditionalCampaign ID. Use with source=dsp. Requires project_id for auth
start_msYesInclusive start timestamp (epoch ms)
end_msYesInclusive end timestamp (epoch ms). Max 25h from start_ms
limitNoMax rows (default: 300)
offsetNoRows to skip
selectNoComma-separated field list
filterNoFilter expression
distinctNoDeduplicate fields

Filter Operators

OperatorMeaningExample
eqEqualsresolved:eq:true
neNot equalsfirst_name:ne:null

Common Filters

resolved:eq:true                          # Only resolved events
resolved:eq:false                         # Only unresolved events
event_type:eq:page_view                   # Specific event type
event_type:eq:purchase|event_type:eq:refund  # Multiple event types (OR)
resolved:eq:true,first_name:ne:null       # Resolved with first name (AND)

Undocumented Query Parameters

ParameterDescription
has_valuable_dataBoolean. Filters to events with enriched person/company data populated

Response Metadata

Every response includes a meta object:

FieldTypeDescription
files_scannedintParquet files scanned during query
buckets_scannedintStorage buckets containing matching data
took_msintQuery execution time in milliseconds

Field Catalog

Fields are grouped by category. Population rates are based on a sample of 34 resolved events.

Legend:

  • Rate: Percentage of resolved events where field is non-null
  • Nullable: Whether the Arrow schema allows null values
  • Resolved-only: Field is only populated when resolved=true

Core Event Fields

Always present on every event (resolved or unresolved).

FieldData TypeNullableRateDescription
event_idUtf8No100%Unique event identifier (UUID)
organization_idUtf8No-Delivr organization ID (schema-only, see project_id in responses)
project_idUtf8-100%Project ID (appears in response data, not in schema)
event_typeUtf8No100%Event type: page_view, scroll_depth, form_submit, etc.
timestampUtf8No100%ISO 8601 timestamp with microseconds (UTC)
ts_millisInt64No100%Epoch milliseconds timestamp
resolvedBooleanYes100%Whether identity resolution succeeded

Source-Specific Event Fields

Fields that differ between pixel and DSP events.

Pixel-Only Fields

Present only on pixel (on-domain) events. Null or absent on DSP events.

FieldData TypeNullableDescription
pixel_idUtf8NoPixel that captured the event
cookie_idInt64YesBrowser cookie identifier
headersUtf8YesFull HTTP request headers (JSON string)

DSP Campaign Fields

Present only on DSP (ad impression) events. Null or absent on pixel events.

FieldData TypeNullableDescription
bid_advertiser_idUtf8YesAdKernel advertiser account ID
bid_campaign_idUtf8YesAdKernel campaign ID (matches campaign_id query param)
bid_creative_idUtf8YesCreative/ad unit ID
bid_network_idUtf8YesAd network ID
click_urlUtf8YesClick destination URL (null for impressions)

V2 Metadata Fields

Present on both pixel and DSP events when queried via v2 endpoints.

FieldData TypeNullableDescription
sourceUtf8YesEvent source: pixel or adkernel
event_modelUtf8YesStorage model: pixel or adkernel
event_source_idUtf8YesSource identifier (pixel_id for pixel, campaign_id for DSP)
dateUtf8YesEvent date: YYYY-MM-DD

Network and Client Fields

Raw request data from the pixel capture.

FieldData TypeNullableRateDescription
client_ipUtf8Yes100%IP address after proxy (GCP load balancer IP)
ipUtf8Yes100%Original visitor IP from X-Forwarded-For
user_agentUtf8Yes100%Browser user agent string
referrer_urlUtf8Yes100%Page referrer URL
event_dataUtf8Yes100%Page-level event payload (JSON string with URL, title, viewport, etc.)
extra_jsonUtf8Yes0%Additional event metadata (JSON string)

DSP event_data: For DSP events, contains a JSON object with content (app_bundle, traffic_type), device (browser, os, carrier, connection_type, make, model), geo (city, country, lat, lon, postal_code, region), and pricing (advertiser_price, bid_price, win_price) sub-objects.

Identity Resolution Fields

Hashed email identifiers used for identity matching. Present on all resolved events.

FieldData TypeNullableRateDescription
hemUtf8Yes100%Primary HEM (SHA256 lowercase, matches sha256_lc_hem)
hemsList<Utf8>Yes100%All associated HEMs for this identity (array)
domain_lcUtf8Yes100%Email domain (lowercase)
is_email_businessUtf8Yes100%"true" / "false" - whether primary email is business
is_email_personalUtf8Yes100%"true" / "false" - whether primary email is personal
is_internationalUtf8Yes100%"true" / "false" - whether the visitor is non-US

Email Hashes (multiple algorithms and case variants)

FieldData TypeNullableRateDescription
md5_lc_hemUtf8Yes100%MD5 hash of lowercase email
md5_uc_hemUtf8Yes24%MD5 hash of original-case email
sha1_lc_hemUtf8Yes100%SHA1 hash of lowercase email
sha1_uc_hemUtf8Yes24%SHA1 hash of original-case email
sha256_lc_hemUtf8Yes100%SHA256 hash of lowercase email
sha256_uc_hemUtf8Yes24%SHA256 hash of original-case email

Elixir-sourced Email Hashes

Duplicated from the Elixir identity graph with emails_ prefix. Populated only when full enrichment data exists.

FieldData TypeNullableRateDescription
emails_md5_lc_hemUtf8Yes24%MD5 lowercase (Elixir source)
emails_md5_uc_hemUtf8Yes24%MD5 original-case (Elixir source)
emails_sha1_lc_hemUtf8Yes24%SHA1 lowercase (Elixir source)
emails_sha1_uc_hemUtf8Yes24%SHA1 original-case (Elixir source)
emails_sha256_lc_hemUtf8Yes24%SHA256 lowercase (Elixir source)
emails_sha256_uc_hemUtf8Yes24%SHA256 original-case (Elixir source)

Person Fields

Contact-level data from the Elixir identity graph. Resolved-only -- null on unresolved events.

Name and Identity

FieldData TypeNullableRateDescription
first_nameUtf8Yes24%First name (lowercase)
middle_nameUtf8Yes0%Middle name
last_nameUtf8Yes24%Last name (lowercase)
genderUtf8Yes24%Gender: "f", "m", "u"
inferred_genderUtf8Yes24%Algorithmically inferred gender
inferred_gender_unisexUtf8Yes24%"y" / "n" - whether name is unisex
age_rangeUtf8Yes24%Age bracket (e.g., "25-34")
photo_urlUtf8Yes24%Profile photo URL (typically LinkedIn default)

Email

FieldData TypeNullableRateDescription
emailUtf8Yes100%Primary resolved email address
emailsUtf8Yes24%All known email addresses (comma-separated)
personal_emailUtf8Yes24%Primary personal email
personal_emailsUtf8Yes24%All personal emails (comma-separated)
current_business_emailUtf8Yes0%Current business email
business_emailsUtf8Yes0%All business emails
primary_contact_emailsUtf8Yes24%Primary contact email addresses
valid_emailsUtf8Yes0%Validated email addresses
invalid_emailsUtf8Yes0%Known-invalid email addresses
email_validation_statusUtf8Yes100%Validation status: "catchall", "invalid", "unknown", "valid"
personal_email_validation_statusUtf8Yes24%Personal email validation status
current_business_email_validation_statusUtf8Yes0%Business email validation status
email_last_seenDate32Yes0%Last date email was verified active
current_business_email_validation_dateDate32Yes0%Business email validation date

Phone Numbers

FieldData TypeNullableRateDescription
phonesUtf8Yes24%All phone numbers (comma-separated)
phones_dncUtf8Yes24%DNC status per phone: "y", "n" (comma-separated)
direct_numbersUtf8Yes24%Direct/work phone numbers
direct_numbers_dncUtf8Yes24%DNC status for direct numbers
mobile_phonesUtf8Yes24%Mobile phone numbers
mobile_phones_dncUtf8Yes24%DNC status for mobile phones
mobile_phones_validation_statusUtf8Yes24%Comma-separated, positionally aligned with mobile_phones: "unknown", "valid"
mobile_phones_validation_dateUtf8Yes24%Mobile validation date
personal_phonesUtf8Yes24%Personal phone numbers
personal_phones_dncUtf8Yes24%DNC status for personal phones

Professional Profile

FieldData TypeNullableRateDescription
job_titleUtf8Yes24%Current job title (lowercase)
job_title_normalizedUtf8Yes24%Standardized job title
job_title_historyUtf8Yes24%Previous job titles
headlineUtf8Yes24%LinkedIn headline
seniority_levelUtf8Yes24%Normalized seniority: "cxo", "director", "manager", "staff", "vp"
seniority_level_2Utf8Yes0%Secondary seniority classification
seniority_level_rawUtf8Yes24%Raw seniority from source: "entry", "senior", etc.
departmentUtf8Yes0%Primary department
department_2Utf8Yes0%Secondary department
department_rawUtf8Yes0%Raw department from source
subdepartmentsUtf8Yes0%Subdepartment classifications
job_functionsUtf8Yes0%Job function categories
inferred_years_experienceUtf8Yes0%Estimated years of experience
education_historyUtf8Yes24%Education records (JSON string with name, URL, dates)

Social Profiles

FieldData TypeNullableRateDescription
linkedin_urlUtf8Yes24%LinkedIn profile URL
twitter_urlUtf8Yes0%Twitter/X profile URL
github_urlUtf8Yes0%GitHub profile URL
facebook_urlUtf8Yes0%Facebook profile URL
social_connectionsUtf8Yes24%Connection count range (e.g., "1-9", "500+")

Personal Address

FieldData TypeNullableRateDescription
personal_addressUtf8Yes0%Street address
personal_address_2Utf8Yes0%Address line 2
personal_cityUtf8Yes24%City (stored lowercase, returned title-cased by API)
personal_stateUtf8Yes24%State name (stored lowercase, returned title-cased by API)
personal_state_codeUtf8Yes24%Two-letter state code (stored lowercase, returned uppercase by API)
personal_countryUtf8Yes24%Country name (stored lowercase, returned title-cased by API)
personal_country_alpha2Utf8Yes24%ISO 3166-1 alpha-2 country code
personal_country_alpha3Utf8Yes24%ISO 3166-1 alpha-3 country code
personal_country_numericFloat64Yes24%ISO 3166-1 numeric country code
personal_timezoneInt32Yes0%UTC offset
personal_zipUtf8Yes0%ZIP code
personal_zip4Utf8Yes0%ZIP+4 code
address_idUtf8Yes24%Encoded address identifier
dpv_codeUtf8Yes0%Delivery Point Validation code (USPS)

Demographics

FieldData TypeNullableRateDescription
has_childrenUtf8Yes24%"y" / "n"
income_range_lcUtf8Yes24%Household income range (e.g., "$150,000 to $199,999")
net_worthUtf8Yes24%Estimated net worth range
is_homeownerUtf8Yes24%"y" / "n"
is_marriedUtf8Yes24%"y" / "n"
is_profile_b2bUtf8Yes24%"y" / "n" - B2B profile flag
is_profile_b2cUtf8Yes24%"y" / "n" - B2C profile flag

Company Fields

Firmographic data from the Elixir identity graph. Resolved-only.

FieldData TypeNullableRateDescription
company_nameUtf8Yes24%Company name
company_name_historyUtf8Yes24%Previous company names
company_domainUtf8Yes24%Company website domain
company_related_domainsUtf8Yes24%Associated domains (comma-separated)
company_descriptionUtf8Yes24%Company description
company_industryUtf8Yes24%Primary industry
company_naicsUtf8Yes24%NAICS industry code
company_sicUtf8Yes0%SIC industry code
company_employee_countUtf8Yes24%Exact employee count (string)
company_employee_count_rangeUtf8Yes24%Employee range (e.g., "1 to 10", "51 to 100", "101 to 250")
company_total_revenueFloat64Yes24%Annual revenue (numeric)
company_revenue_rangeUtf8Yes24%Revenue bracket (e.g., "1 million to 5 million")
company_addressUtf8Yes24%Company street address
company_address2Utf8Yes0%Company address line 2
company_cityUtf8Yes24%Company city
company_stateUtf8Yes24%Company state
company_zip_codeUtf8Yes24%Company ZIP code
company_countryUtf8Yes24%Company country
company_phonesUtf8Yes24%Company phone numbers
company_phones_dncUtf8Yes24%Company phone DNC status
company_linkedin_urlUtf8Yes24%Company LinkedIn URL
company_idUtf8Yes24%Internal company identifier (MD5 hash)
company_id_rightUtf8Yes24%Matched company ID from enrichment join

Internal Identifier Fields

Used for identity graph linking and deduplication.

FieldData TypeNullableRateDescription
first_uuid_normUtf8Yes24%Primary normalized UUID from identity graph
flattened_uuidsUtf8Yes24%All UUIDs linked to this identity
profile_pid_allUtf8Yes24%Profile person ID (MD5 hash)
last_updatedDate32Yes0%Last enrichment update date

Selectable Fields

All 132 fields can be used with the select parameter. Full list for copy-paste:

event_id,pixel_id,organization_id,event_type,timestamp,ts_millis,cookie_id,hem,hems,
user_agent,client_ip,ip,event_data,headers,referrer_url,extra_json,resolved,
address_id,age_range,business_emails,company_address,company_address2,company_city,
company_country,company_description,company_domain,company_employee_count,
company_employee_count_range,company_id,company_id_right,company_industry,
company_linkedin_url,company_naics,company_name,company_name_history,company_phones,
company_phones_dnc,company_related_domains,company_revenue_range,company_sic,
company_state,company_total_revenue,company_zip_code,current_business_email,
current_business_email_validation_date,current_business_email_validation_status,
department,department_2,department_raw,direct_numbers,direct_numbers_dnc,domain_lc,
dpv_code,education_history,email,email_last_seen,email_validation_status,emails,
emails_md5_lc_hem,emails_md5_uc_hem,emails_sha1_lc_hem,emails_sha1_uc_hem,
emails_sha256_lc_hem,emails_sha256_uc_hem,first_name,first_uuid_norm,flattened_uuids,
gender,has_children,headline,income_range_lc,inferred_gender,inferred_gender_unisex,
inferred_years_experience,invalid_emails,is_email_business,is_email_personal,
is_homeowner,is_international,is_married,is_profile_b2b,is_profile_b2c,job_functions,
job_title,job_title_history,job_title_normalized,last_name,last_updated,linkedin_url,
md5_lc_hem,md5_uc_hem,middle_name,mobile_phones,mobile_phones_dnc,
mobile_phones_validation_date,mobile_phones_validation_status,net_worth,
personal_address,personal_address_2,personal_city,personal_country,
personal_country_alpha2,personal_country_alpha3,personal_country_numeric,
personal_email,personal_email_validation_status,personal_emails,personal_phones,
personal_phones_dnc,personal_state,personal_state_code,personal_timezone,personal_zip,
personal_zip4,phones,phones_dnc,photo_url,primary_contact_emails,profile_pid_all,
seniority_level,seniority_level_2,seniority_level_raw,sha1_lc_hem,sha1_uc_hem,
sha256_lc_hem,sha256_uc_hem,social_connections,subdepartments,valid_emails,twitter_url,
github_url,facebook_url,job_title_normalized

Notes

Population Rate Patterns

Fields fall into two tiers based on enrichment availability:

  • 100% on resolved on-domain events: Core event fields (event_id, timestamp, cookie_id, ip, hem, email, user_agent, etc.) -- these exist for every resolved on-domain event
  • ~24% on resolved on-domain events: Full enrichment fields (person demographics, company firmographics, phone numbers, etc.) -- only populated when the identity graph has a rich profile match via Elixir/HER

The 24% rate reflects on-domain events where only a HEM-to-email resolution occurred without full Elixir profile enrichment. The has_valuable_data=true query parameter can filter to only on-domain events with enrichment data populated.

Field Value Formatting

  • Names: Stored and returned in lowercase
  • Addresses, industries: Stored in lowercase, returned title-cased by the Events API (e.g., "florida" stored, "Florida" returned)
  • Boolean-like strings: "y" / "n" or "true" / "false" (not actual booleans)
  • Phone numbers: E.164 format with + prefix, comma-separated when multiple
  • DNC fields: Positionally aligned with their phone counterpart (e.g., phones: "+1234, +5678" and phones_dnc: "n, y")
  • JSON fields: event_data, headers, education_history are stringified JSON
  • Hashes: Lowercase hex strings (MD5: 32 chars, SHA1: 40 chars, SHA256: 64 chars)
  • Dates: Date32 fields use YYYY-MM-DD format; timestamps use ISO 8601 with microseconds

Endpoints Summary

EndpointVersionScopeDescription
GET /api/v1/eventsv1pixel_id or project_idQuery pixel events
GET /api/v1/event_countsv1pixel_id or project_idCount pixel events
GET /api/v1/events_schemav1NoneGet field schema
GET /api/v2/eventsv2pixel_id, project_id, or campaign_idQuery pixel or DSP events
GET /api/v2/event_countsv2pixel_id, project_id, or campaign_idCount pixel or DSP events
GET /api/v2/events_schemav2NoneGet field schema by source

DSP Event Types

DSP events have different event types than pixel events:

SourceEvent Types
Pixelpage_view, scroll_depth, form_submit, click, file_download, copy, exit_intent, user_idle, video_engagement
DSPimpression, click, conversion