Event Types Reference
Summary: The pixel captures 4 main event types: page views, clicks, scroll depth, and text copies. Each includes different details in the event_data field. Resolved events also include full contact and company enrichment.
Overview
Every time a visitor interacts with your website, the Delivr pixel captures an event. Each event has a event_type field that tells you what the visitor did, and an event_data field with the details.
This page explains each event type, what data it captures, and when you'd use it.
Event Types
page_view
Fires when a visitor loads a page.
This is the most common event type (typically 50-60% of all events). Every page load generates one.
event_data fields:
| Field | Type | Example |
|---|---|---|
url | string | https://yoursite.com/pricing |
title | string | Pricing - YourSite |
referrer | string or null | https://google.com/search?q=... |
screen | object | {"height": 600, "width": 800} |
viewport | object | {"height": 1080, "width": 1920} |
timestamp | string | 2026-01-28T00:37:48.322Z |
When to use it:
- Find out which pages a visitor looked at
- Filter by URL to find visitors on high-value pages (pricing, demo, contact)
- Track referral sources
Example: Find resolved visitors on your pricing page
curl "https://apiv3.delivr.ai/api/v1/events?pixel_id=YOUR_PIXEL_ID&start_ms=START_MS&end_ms=END_MS&filter=resolved:eq:true,event_type:eq:page_view&limit=50" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-organization-id: YOUR_ORGANIZATION_ID"click
Fires when a visitor clicks an element on the page (links, buttons, navigation items).
event_data fields:
| Field | Type | Example |
|---|---|---|
url | string | https://yoursite.com/ |
element | object | {"ariaLabel": null, "className": "btn-primary"} |
elementIdentifier | string | btn-primary cta-demo |
elementText | string | Request a Demo |
coordinates | object | {"x": 450, "y": 320} |
timestamp | string | 2026-01-28T01:16:37.151Z |
When to use it:
- See which CTAs visitors click on
- Track navigation patterns
- Identify visitors who clicked "Request Demo" or "Contact Sales"
scroll_depth
Fires when a visitor scrolls past a threshold on a page (25%, 50%, 75%, 100%).
event_data fields:
| Field | Type | Example |
|---|---|---|
url | string | https://yoursite.com/blog/post |
percentage | number | 51 |
threshold | number | 50 |
timestamp | string | 2026-01-28T01:53:42.355Z |
When to use it:
- Find visitors who read most of a page (not just bounced)
- Combine with
page_viewto identify engaged visitors on key content pages
Example: Find visitors who scrolled past 75% on any page
curl "https://apiv3.delivr.ai/api/v1/events?pixel_id=YOUR_PIXEL_ID&start_ms=START_MS&end_ms=END_MS&filter=event_type:eq:scroll_depth&select=event_data,first_name,last_name,company_name&limit=50" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-organization-id: YOUR_ORGANIZATION_ID"Then filter client-side for rows where event_data.percentage >= 75.
copy
Fires when a visitor copies text from your page.
event_data fields:
| Field | Type | Example |
|---|---|---|
url | string | https://yoursite.com/pricing |
text | string | Enterprise plan starts at $499/month |
textLength | number | 38 |
timestamp | string | 2026-01-28T16:43:33.323Z |
When to use it:
- Identify visitors copying pricing information (strong buying signal)
- See what content visitors are saving or sharing internally
Additional Event Types
The pixel can also capture these event types. They may not appear in every account depending on site configuration:
| Type | What It Captures |
|---|---|
form_submission | Visitor submitted a form (contact, signup, etc.) |
search | Visitor used an on-site search bar |
video | Visitor played a video |
download | Visitor downloaded a file (PDF, whitepaper, etc.) |
custom | Custom events sent via the pixel JavaScript API |
These fire when the corresponding visitor actions are detected. The event_data payload varies by type.
Filtering by Event Type
Use the filter query parameter with the event_type field:
filter=event_type:eq:page_view
You can combine filters. For example, resolved click events only:
filter=resolved:eq:true,event_type:eq:click
See the On-Domain Events API for the full list of filter operators.
Event Structure
flowchart TD
A[Pixel Event] --> B[Event Fields]
A --> C[event_data]
A --> D{Resolved?}
B --> B1[event_id, event_type, timestamp]
B --> B2[cookie_id, user_agent, referrer_url]
C --> C1[Varies by event type]
C1 --> C2["page_view: url, title, referrer, screen"]
C1 --> C3["click: element, coordinates, text"]
C1 --> C4["scroll_depth: percentage, threshold"]
C1 --> C5["copy: text, textLength"]
D -->|Yes| E["100+ enrichment fields"]
D -->|No| F[Event fields + event_data only]
E --> E1[name, email, company, job title...]
style E fill:#22c55e,color:#fff
style F fill:#6b7280,color:#fff
What's in event_data vs. the Row Itself
The event_data field is a JSON string containing details specific to that event type (URL visited, element clicked, scroll percentage, etc.).
The rest of the row contains the visitor's identity and company information -- but only if the event was resolved (meaning the visitor was identified). Unresolved events have the event fields but no contact/company data.
| Resolved? | What You Get |
|---|---|
| No | event_type, event_data, timestamp, cookie_id, user_agent, referrer_url, client_ip |
| Yes | Everything above, plus first_name, last_name, job_title, company_name, company_domain, personal_email, linkedin_url, and 100+ enrichment fields |
To get only resolved events, add filter=resolved:eq:true to your query.
Next Steps
- On-Domain Events API -- Full API reference for querying events
- High-Intent Visitors -- Build a daily lead list from pricing/demo page visitors
- Export Events to CSV -- Paginate and export visitor data
Updated 1 day ago