Profile Traits: From Raw Events to Smart Data
Growcado extracts and computes traits from your events — turning chaos into clarity, at the profile level.
🧩 What are Traits?
Traits provide essential information about a customer, including demographic details and business-specific characteristics such as name, region, total orders and favorite product Growcado supports two types of traits:
Custom Traits — pulled directly from event payloads
Computed Traits — calculated using aggregations, logic, or formulas
Once computed, traits are attached to each unified profile and stored in your warehouse for querying, joining, and powering segments.
🔍 Custom Traits
You can extract fields from incoming events and assign them to profiles automatically. These are typically high-signal identifiers or attributes, like:
mobile_numberemailregionuser_typeis_first_time_buyer
Example
Let’s say a user logs in with this event:
{
"user_id": "user_123",
"context_traits": {
"email": "jamie@example.com",
"region": "north-west"
}
}Growcado extracts email and region and attaches them to the profile for user_123.
These values are always the latest observed values (or follow a configured merge rule).
🧠 Computed Traits
These go further — you define logic in your YAML config to calculate advanced traits, using your event data and warehouse power.
Supported computation types:
aggregation — sum, count, min, max, avg
most_frequent
derived — custom formulas
⏳ More types soon
🧪 Example YAML Config
💡 Key Features
Supports aggregation, frequency, and derived logic
Can extract from nested fields using
$.syntaxAllows filters on the data (
price > 30)
📦 Where Traits Live
Growcado writes all traits into a normalized traits table, not flattened JSON or blob fields.
computed_traits table structure:
computed_traits table structure:profile_123
region
north-west
string
custom
profile_123
lifetime_value
234.50
float
computed
profile_123
total_discount_used
42.90
float
computed
profile_123
customer_loyalty_badge
gold
string
computed
Last updated