Skip to main content
Consistent event and attribute names make your Klaritics analytics easier to query, chart, and share across your team. This page applies to everything you send, whether through a client SDK or the External API.

Name events for what happens in your product

Use clear, descriptive names that map directly to user actions or business events in your app. Pick a casing convention (for example snake_case like add_to_cart, or PascalCase like ProductClicked) and use it consistently everywhere you call the SDK.
Attach the properties that describe the event: identifiers, amounts, item names, screen names, and any other context you want to slice by later.
The External API requires lowercase snake_case event names matching ^[a-z][a-z0-9_]*$, and rejects anything else. If you send events from both SDKs and the API, use snake_case everywhere so the same action has the same name in both streams.

Do not use $ as a prefix

The Klaritics SDKs use $ as a reserved prefix for events and attributes that they add on your behalf, such as session events and standard device or user metadata.
Do not use $ as a prefix for events or attributes that you log. Names you send that start with $ may collide with the SDK’s own data, be filtered out, or behave unpredictably in Klaritics.
Examples:
  • Keep names short, lowercase or PascalCase, and consistent across platforms.
  • Use verbs for events (signed_up, ProductClicked) and nouns for attributes (userId, plan).
  • Reuse attribute names across events when they mean the same thing, so charts and funnels line up.
  • Document your event taxonomy in one place and share it with everyone integrating a Klaritics SDK. See Event Taxonomy.

Summary

  • Send events and attributes with plain, descriptive names that match your product.
  • Do not use $ as a prefix for your events or attributes; it is reserved for data added by the Klaritics SDK.
  • Keep naming and casing consistent across every platform you integrate.