Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.saytics.com/llms.txt

Use this file to discover all available pages before exploring further.

Properties are key-value pairs attached to events or user profiles that give your data meaning beyond a name and a timestamp. Without properties, you know that users completed orders; with properties, you know how much those orders were worth, what currency was used, and how many items were included. Properties are what make segmentation, filtering, and analysis possible.

Two types of properties

Event properties describe what happened during a specific event. They are passed as the second argument to Saytics.track() and only apply to that one event instance. User traits describe who the user is. They are set using Saytics.identify() and persist on the user’s profile. Traits are available for segmenting any event that user performs. See user profiles for details.

Property types

Saytics supports the following property value types:
TypeExample valueNotes
String"plan": "pro"Max 256 characters
Number"amount": 49.99Integer or float
Boolean"trial": truetrue or false only
Date"joined_at": "2024-01-15"ISO 8601 format
Array"tags": ["web", "api"]Max 25 elements

Code example

The following event uses several property types together:
Saytics.track('Subscription Started', {
  plan: 'pro',           // string
  amount: 79.00,         // number
  trial: false,          // boolean
  started_at: '2024-03-01', // date (ISO 8601)
  features: ['sso', 'api', 'exports'] // array
});

Best practices

Saytics recommends snake_case for property names (e.g., order_id, item_count). Mixing naming styles — camelCase in some events, snake_case in others — creates duplicate-looking properties in your dashboard and makes queries harder to build. Pick one convention and apply it everywhere.
Do not pass personally identifiable information such as email addresses, passwords, or full names as event properties. Event properties are broadly accessible across your workspace. If you need to associate a user’s email or name with analytics data, use Saytics.identify() to set those values on the user’s profile instead, where access is more controlled.
Each event can carry many properties, but we recommend a maximum of 20 properties per event. Exceeding this makes events harder to understand and slows down query performance. If you find yourself adding dozens of properties, consider whether some belong on the user profile instead.
Pre-plan your properties before you start tracking. Renaming or removing properties after data is collected is difficult — existing historical data will still use the old property names, which can create inconsistencies in your charts and segments.