Overview
Events are the foundation of audience creation in Permutive. An event captures a user action or behavior on your website or app—such as viewing content, engaging with media, watching a video, or completing an action. Events are enriched with properties that provide contextual information about the action, enabling you to build precise, behavior-based cohorts for targeting and activation. Permutive automatically collects standard events appropriate to each platform (such as content view and engagement events), and you can extend this with custom events specific to your business needs. All events are tracked in real-time and stored for historical analysis and cohort building.Why Use Events?
Build cohorts based on real user behavior — Events enable you to create audience segments based on what users actually do on your properties, not just demographic assumptions. By tracking content views, engagement, video plays, and custom interactions, you gain a complete picture of user behavior that powers precise targeting for advertisers. Enrich events with custom properties for granular targeting — Beyond standard event data, you can include custom properties that capture business-specific context—like article categories, product brands, video titles, or content authors. These properties allow you to build highly specific cohorts that meet advertiser briefs and campaign requirements. Real-time data collection for immediate activation — Events are collected and processed in real-time by the Permutive SDK, enabling immediate cohort evaluation and activation. Users are added to cohorts as soon as they meet the criteria, ensuring your targeting is always current and responsive to user behavior.Concepts
Definitions
- Event: A captured action or behavior that a user takes on your site or app. Events have a name (e.g., “Pageview”, “VideoPlay”, “ContentView”) and are associated with a specific user, session, and timestamp.
-
Event Properties: Additional information associated with an event that provides context about the action. Properties can be standard (collected automatically by Permutive) or custom (defined by you). Examples include
client.url,article.title,product.brand, orvideo.duration. - Event Schema: The defined structure for an event, specifying which properties are allowed and their data types (e.g., String, Integer, List). The schema ensures data consistency and enables validation.
- Standard Events: Events automatically collected by the Permutive SDK. Standard events vary by platform—for example, web includes page views and engagement, CTV/audio includes video views or audio play events. All platforms collect cohort entry and exit events.
- Custom Events: Events you define to track specific behaviors unique to your business, such as video plays, social shares, article comments, or e-commerce transactions. Custom events are tracked using platform-specific SDK methods or direct API calls.
- Automatic Collection: The Permutive SDK automatically collects standard content view events and their associated properties appropriate to each platform (e.g., Pageview on web, Video View on CTV).
Workflows
Collecting Standard Events
The Permutive SDK automatically collects standard events as users interact with your properties. No additional configuration is required beyond deploying the SDK. Standard events vary by platform and include content views, engagement metrics, and ad events from your configured ad server.Defining Custom Events
To track behaviors beyond standard events, you can define custom events with their own schemas. Custom events and schemas are configured by your Permutive team based on your specific business requirements. Work with your Customer Success Manager to identify the events you need to track, and once agreed, Permutive will configure the event schemas in your workspace. You then implement tracking using the appropriate SDK method or API for your platform.Viewing Event Data
The Events page in the Permutive Dashboard displays all events being collected for your workspace, including standard and custom events. You can inspect event schemas, view property definitions, and see sample data to verify tracking is working correctly.Troubleshooting
Common issues when working with Events:Events are not appearing in the dashboard
Events are not appearing in the dashboard
If events are not appearing in the Permutive Dashboard, this may be due to:
- The Permutive SDK is not properly deployed or initialized
- The SDK is blocked by ad blockers or privacy tools (primarily on web)
- Events are being rejected due to schema validation errors
- There is a delay in data processing (typically events appear within a few minutes)
Schema validation errors are rejecting events
Schema validation errors are rejecting events
Events can be rejected if the data sent does not match the event schema. Common causes include:
- Sending a property that is not defined in the schema
- Sending a property with the wrong data type (e.g., String instead of Integer)
- Sending a required property with a null or undefined value
- Property name typos or case sensitivity issues
Custom event properties are showing null values
Custom event properties are showing null values
If custom event properties are showing null or undefined values, check:
- The data layer or variables are populated before the event fires
- The property names in your tracking code match the schema exactly
- There are no errors preventing the property values from being set
- The timing of the event firing—data may not be available yet
Content view events are firing multiple times
Content view events are firing multiple times
Multiple content view events can occur when:
- The SDK is initialized multiple times
- Single-page applications are firing view events on client-side route changes (web)
- The platform is using a tag manager that fires the SDK more than once (web)
Event data is missing specific properties
Event data is missing specific properties
If expected properties are not appearing in your event data:
- The properties may not be defined in the event schema
- The properties may be optional and not being sent in some cases
- Data layer values may not be available when the event fires
- Property names may have been misspelled in the tracking code
Environment Compatibility
Core Product
Events are collected across all Permutive SDK platforms:| Functionality | Web | iOS | Android | CTV | API Direct |
|---|---|---|---|---|---|
| Standard event collection | Yes | Yes | Yes | Yes | Yes |
| Custom event collection | Yes | Yes | Yes | Yes | Yes |
| Real-time event processing | Yes | Yes | Yes | Yes | Yes |
Typical Data by Platform
Events will be defined with your team during onboarding, based on your environments and ad-tech stack. Typical data points collected in each environment include: Web:- Page View, Engagement (engaged time, scroll depth), Link Click, Ad Impression, Ad Click, Cohort Entry, Cohort Exit
- Content View, Engagement (engaged time, scroll depth), Ad Impression, Ad Click, Cohort Entry, Cohort Exit
- Video View, Engagement (engaged time), Video Completion, Ad Play, Ad Completion, Cohort Entry, Cohort Exit
- Audio Play, Engagement (engaged time), Audio Completion, Ad Play, Ad Completion, Cohort Entry, Cohort Exit
Dependencies
Events rely on the following products and configurations:| Dependency | Required | Description |
|---|---|---|
| Permutive SDK | Recommended | The Permutive SDK is typically used and makes it easy to automate collection of standard events. Events can also be tracked by calling our API directly. |
| Event Schemas | Yes | Event schemas must be defined in the Permutive Dashboard before events can be collected and validated. |
Limits
Events adhere to the following specifications and limits.Feature Limits
| Feature | Description | Limit |
|---|---|---|
| Custom events per workspace | Maximum number of custom event types that can be defined. | Based on contract |
| Properties per event | Maximum number of properties that can be defined on a single event schema. | No hard limit |
Usage Limits
| SKU | Description | Limit |
|---|---|---|
| Event volume | Maximum number of events that can be collected per month. | Based on contract |
FAQ
What events does Permutive collect automatically?
What events does Permutive collect automatically?
The Permutive SDK automatically collects several standard events without any additional configuration. Standard events vary by platform:Web:
- Pageview: Fired on every page load
- Pageview Engagement: Tracks time on page, scroll depth, and completion
- Cohort Entry/Exit: Tracks when users join or leave cohorts
- Content View: Fired on content navigation
- Engagement: Tracks time on screen and scroll depth
- Cohort Entry/Exit: Tracks when users join or leave cohorts
- Video View / Audio Play: Fired on content playback
- Engagement: Tracks playback duration
- Cohort Entry/Exit: Tracks when users join or leave cohorts
How do I track a custom event?
How do I track a custom event?
To track a custom event:
- Define the event schema in the Permutive Dashboard under Events > Create Event
- Specify the event name and properties with their data types
- Implement tracking using the appropriate method for your platform (e.g.,
permutive.track('EventName', { property: 'value' })on web, or platform-specific SDK methods for mobile/CTV)
Can I modify an event schema after it's been created?
Can I modify an event schema after it's been created?
Yes, you can add new optional properties to an event schema at any time. However, changing property data types or removing properties can cause validation errors for events that are already being tracked. It’s recommended to add new properties rather than modifying existing ones. Contact Support for assistance with schema migrations.
What is the difference between required and optional properties?
What is the difference between required and optional properties?
- Required properties must be included every time the event is tracked. If a required property is missing, the entire event will be rejected.
- Optional properties can be omitted. Events will still be accepted even if optional properties are not provided.
How long is event data stored?
How long is event data stored?
Event data retention policies vary by customer agreement. Typically:
- Recent event data (last 30-90 days) is stored in hot storage for fast querying
- Historical event data is retained for longer periods based on your data retention policy
Can I send events from server-side instead of client-side?
Can I send events from server-side instead of client-side?
Yes, you can send events to Permutive via server-side integration using:
- Pixel API: For simple server-side event tracking
- API Direct: For batch event ingestion without SDK deployment
- Connectivity Imports: For importing historical event data
How do I see which events are being collected?
How do I see which events are being collected?
To inspect events being collected, use platform-specific debugging tools:Web:
- Open your browser’s Developer Tools (F12)
- Go to the Network tab
- Filter for requests to Permutive’s API (look for
permutive.com) - Reload the page and inspect the API calls to see event payloads
- Use platform logs and network debugging tools to inspect API calls to Permutive
- Check the Permutive Dashboard’s Event Inspector for all platforms
Why are my events being rejected?
Why are my events being rejected?
Events are rejected when they fail schema validation. Common reasons:
- Property name does not exist in the schema
- Property value does not match the expected data type
- Required property is missing
- Property value exceeds maximum length
Can I use events to build cohorts?
Can I use events to build cohorts?
Yes, events are the primary data source for building Custom Cohorts in Permutive. You can create cohorts based on:
- Which events users have triggered (e.g., “Viewed at least 3 articles”)
- Event property values (e.g., “Viewed articles in the Sports category”)
- Recency (e.g., “In the past 7 days”)
- Frequency (e.g., “At least 5 times”)
What event properties are collected on every event?
What event properties are collected on every event?
Standard properties collected on all events include:
client.domain: The domain where the event occurred (web)client.url: The URL where the event occurred (web)client.title: The page or screen titleclient.referrer: The referring URL (web)client.type: The platform type (web, iOS, Android, CTV)client.user_agent: The browser or app user agent
client.domain, client.url, client.referrer) are web-specific. Mobile and CTV platforms collect equivalent properties appropriate to their environment.Plus internal properties like event_id, user_id, session_id, view_id, and time.Changelog
For detailed changelog information, visit our
Changelog.