Integrations
RudderStack
Forward RudderStack events to Accoil as a cloud mode destination.
Accoil supports RudderStack Cloud Mode as a destination. This integration forwards product usage data, user traits, and account-level attributes from your application to Accoil using Segment-compatible event formats.
Setup
1. Add Accoil as a Destination
In the RudderStack dashboard:
- Navigate to Destinations > Add Destination.
- Search for Accoil Analytics.
- Assign a name and enter your Accoil API key (found under Settings > Account Settings > General in Accoil).
- Save and enable the destination.
Supported Message Types
| Event Type | Supported | Notes |
|---|---|---|
identify | Yes | |
track | Yes | |
page | Yes | Sent to Accoil as a track event |
screen | Yes | Sent to Accoil as a track event |
group | Yes | |
alias | No | |
record | No |
Event Mapping Details
identify Events
Used to identify users and send associated traits.
rudderanalytics.identify("user_12345", {
email: "alex@example.com",
name: "Alex Keener",
createdAt: "2023-05-12T08:00:00Z",
role: "admin",
accountStatus: "trial"
});| Field | Required | Notes |
|---|---|---|
userId | Yes | Unique user identifier |
traits | No | Sent as-is to Accoil |
timestamp | Yes | Automatically handled by RudderStack (ISO 8601 or Unix format) |
Recommended Traits
| Trait | Purpose |
|---|---|
email | Primary user identity (used in the Accoil UI) |
name | Display name in Accoil |
createdAt | Enables tenure tracking |
role | Useful for filtering and segmentation |
accountStatus | Lifecycle segmentation (trial, paid, etc.) |
track Events
Captures product activity by event name. Event properties are not persisted -- only the event name and timestamp are used for engagement metrics.
rudderanalytics.track("Feature Used");| Field | Required | Notes |
|---|---|---|
event | Yes | Event name |
userId | Yes | Must match an identified user |
timestamp | Yes | Automatically handled by RudderStack |
group Events
Used to associate users with accounts and send account-level traits.
rudderanalytics.group("account_67890", {
name: "Acme Corp",
industry: "Fintech",
employees: 120,
plan: "enterprise",
status: "paid",
mrr: 100000,
createdAt: "2022-01-15T09:00:00Z"
});| Field | Required | Notes |
|---|---|---|
groupId | Yes | Unique account identifier |
userId | Yes | Links the user to the account |
traits | No | Sent as-is to Accoil |
timestamp | Yes | Automatically handled by RudderStack |
Recommended Group Traits
| Trait | Purpose |
|---|---|
name | Account name used in the Accoil UI |
status | Account state (free, trial, paid) |
plan | Subscription tier (starter, pro, enterprise) |
mrr | Monthly recurring revenue (pass in cents) |
createdAt | Enables account tenure tracking |
page Events
Sent as track events to Accoil. Useful for pageview analytics.
rudderanalytics.page("Cart", "Cart Viewed");| Field | Required | Notes |
|---|---|---|
name | Yes | Page name |
userId | Yes | From a previous identify call |
timestamp | Yes | Automatically added by RudderStack |
screen Events (Mobile)
Also sent as track events. Use to monitor screen views in mobile applications.
[[RSClient sharedInstance] screen:@"Main"
properties:@{@"category" : @"Home"}];| Field | Required | Notes |
|---|---|---|
name | Yes | Screen name |
userId | Yes | From a previous identify call |
timestamp | Yes | Automatically added by RudderStack |
Data Handling Notes
- Accoil does not persist custom properties from
trackevents. Only the event name and timestamp are used. - Traits from
identifyandgroupevents are stored and used for segmentation, dashboards, and engagement scoring. - Ensure consistent use of
userIdandgroupIdacross your events. - Timestamps are automatically included and required for all events.
Troubleshooting
| Issue | What to Check |
|---|---|
| Events not showing | Confirm the API key is correct |
| Missing accounts | Ensure group calls are being sent |
| No user traits | Verify identify events are structured correctly |
| Data looks incomplete | Validate timestamps and required fields |