RudderStack event stream

Accoil supports RudderStack Cloud Mode as a destination. This integration enables you to forward product usage data, user traits, and account-level attributes from your app to Accoil using Segment-compatible event formats.


Setup Steps

1. Add Accoil as a Destination

In the RudderStack dashboard:

  1. Navigate to Destinations > Add Destination
  2. Search for Accoil Analytics
  3. Assign a name and enter your Accoil API Key (found under Workspace > Settings > Account Settings > General in Accoil)
  4. Save and enable the destination

Supported Message Types

Event TypeSupported
identify
track
page✅ (as track)
screen✅ (as track)
group
alias
record


Event Mapping Details

identify Events

Used to identify users and send associated traits.

rudderanalytics.identify("user-123", {
  email: "[email protected]",
  name: "Alex Keener",
  createdAt: "2023-05-12T08:00:00Z",
  role: "admin",
  accountStatus: "trial"
});
FieldRequiredNotes
userIdUnique user identifier
traitsOptionalSent as-is to Accoil
timestampAutomatically handled by RudderStack (ISO 8601 or UNIX format)

Supported Traits (Recommended)

TraitPurpose
emailPrimary user identity (used in UI)
nameDisplay name in Accoil
createdAtEnables tenure tracking
roleUseful for filtering and segmentation
accountStatusUseful for 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", {
  feature: "Reports Dashboard"
});
FieldRequiredNotes
eventEvent name
userIdMust match an identified user
timestampAutomatically handled by RudderStack

group Events

Used to associate users with accounts and send account-level traits.

rudderanalytics.group("account-456", {
  name: "Acme Inc.",
  industry: "Fintech",
  employees: 120,
  plan: "Enterprise",
  status: "paid",
  mrr: 100000, // in cents
  createdAt: "2022-01-15T09:00:00Z"
});
FieldRequiredNotes
groupIdUnique account identifier
userIdLinks the user to the account
traitsOptionalSent as-is to Accoil
timestampAutomatically handled by RudderStack

Supported Group Traits (Recommended)

TraitPurpose
nameAccount name used in UI
statusAccount state (e.g., free, trial, paid)
planSubscription tier (starter, pro, enterprise)
mrrMonthly recurring revenue (pass in cents)
createdAtEnables account tenure tracking

page Events

Sent as track events to Accoil. Useful for pageview analytics.

rudderanalytics.page("Cart", "Cart Viewed");
FieldRequiredNotes
namePage name
userIdFrom previous identify call
timestampAuto-added

screen Events (Mobile)

Also sent as track events. Use to monitor screen views in mobile apps.

[[RSClient sharedInstance] screen:@"Main"
                properties:@{@"category" : @"Home"}];
FieldRequiredNotes
nameScreen name
userIdFrom previous identify call
timestampAuto-added

Data Handling Notes

  • Accoil does not persist custom properties from track events.
  • Traits from identify and group events are stored and used for segmentation, dashboards, and recipes.
  • Ensure consistent use of userId and groupId across your events.
  • Timestamps are automatically included and required for all events.

Troubleshooting

IssueCheck
Events not showingConfirm API Key is correct
Missing accountsEnsure group calls are sent properly
No user traitsVerify identify events are structured
Data looks incompleteValidate timestamps and required fields