Events

The foundation of customer intelligence in Klime.

An event is a record of something that happened in your product. Every time a user takes an action — clicking a button, generating a report, inviting a teammate — that's an event.

Event structure

Every event has a name, a user, and optional properties:

klime.track(
  "Report Generated",
  {
    reportType: "revenue",
    format: "csv",
  },
  { userId: "user_123" },
)

The userId is required — it's how Klime connects events to users and groups. See Users for more on identity.

In Group mode, you can optionally include a groupId if a user belongs to multiple companies and you need to specify which one this event occurred in.

Event types

Klime has three event types:

Track events record user actions. These are the events you define based on what matters in your product.

Identify events update user traits. When you call identify(), Klime creates an event that updates the user's profile.

Group events associate users with companies and update company traits. When you call group(), Klime creates an event that links the user to the group. (Group mode only)

Eventual consistency

Events can arrive in any order and Klime will piece together the relationships correctly. If you send track() events before calling identify() or group(), those events will still be attributed properly once the relationships are established.

This means you don't need to coordinate your backend services to ensure calls happen in a specific order. Historical events are retroactively attributed when relationships are created.

Event limits

LimitValue
Event size200 KB
Batch size10 MB
Events per batch100

Naming conventions

Use past tense with an Object + Action pattern: "Report Generated", "User Invited", "Export Completed". Be consistent — use the same event name for the same action everywhere in your codebase.

Include relevant properties like report type, format, or row count to help you understand how features are used.