Event Types Reference
Complete list of all event types tracked by Pipetrace.
Pipetrace automatically tracks many event types without any configuration. You can also fire custom events using the JavaScript API.
All Event Types
| Event Type | Description | Auto |
|---|---|---|
pageview | Fired when a user visits a page | Auto |
page_exit | Fired when user leaves a page (includes engagement data) | Auto |
scroll | Fired at 25%, 50%, 75%, and 100% scroll milestones | Auto |
outbound_click | Fired when user clicks a link to another domain | Auto |
file_download | Fired when user clicks a download link (pdf, zip, etc.) | Auto |
form_start | Fired when user focuses on a form field | Auto |
form_submit | Fired when user submits a form | Auto |
rage_click | Fired when user clicks rapidly in the same area (frustration signal) | Auto |
dead_click | Fired when user clicks on non-interactive element (UX issue) | Auto |
js_error | Fired when a JavaScript error occurs | Auto |
custom | Fired via pipetrace.track() | Manual |
goal | Fired via pipetrace.goal() | Manual |
revenue | Fired via pipetrace.revenue() | Manual |
identify | Fired via pipetrace.identify() | Manual |
Automatic Event Details
pageview
Fired when a user visits a page
page_exit
Fired when user leaves a page (includes engagement data)
scroll
Fired at 25%, 50%, 75%, and 100% scroll milestones
outbound_click
Fired when user clicks a link to another domain
file_download
Fired when user clicks a download link (pdf, zip, etc.)
form_start
Fired when user focuses on a form field
form_submit
Fired when user submits a form
rage_click
Fired when user clicks rapidly in the same area (frustration signal)
dead_click
Fired when user clicks on non-interactive element (UX issue)
js_error
Fired when a JavaScript error occurs
JavaScript API
Use the global pipetrace object to fire custom events:
pipetrace.track(name, properties)
Track a custom event with optional properties.
// Track a button click
pipetrace.track('button_click', {
button_id: 'cta-signup',
button_text: 'Start Free Trial'
});
// Track a video play
pipetrace.track('video_play', {
video_id: 'intro-video',
duration: 120
});pipetrace.goal(name, value)
Track a goal or conversion with optional numeric value.
// Track a signup
pipetrace.goal('signup');
// Track a subscription with value
pipetrace.goal('subscription', 29.99);pipetrace.revenue(amount, currency, orderId)
Track revenue from a purchase.
// Track a purchase
pipetrace.revenue(99.99, 'USD', 'order-12345');
// Track with default currency (USD)
pipetrace.revenue(49.99);pipetrace.identify(userId, traits)
Associate the current visitor with a user ID (optional, for logged-in users).
// Identify a logged-in user
pipetrace.identify('user-123', {
plan: 'pro',
company: 'Acme Inc'
});Privacy Note: User identification is optional and opt-in. Only use this if you need to tie analytics to user accounts.
Debug Methods
These methods are useful for debugging in development:
// Get current Web Vitals values
pipetrace.getWebVitals();
// Returns: { lcp: 1234, fid: 12, inp: 89, cls: 0.05, fcp: 890, ttfb: 150 }
// Check event queue status
pipetrace.getQueueStatus();
// Returns: { pending: 0, processing: false }