rectangle-history-circle-userProfile 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:

  1. Custom Traits — pulled directly from event payloads

  2. 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_number

  • email

  • region

  • user_type

  • is_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 $. syntax

  • Allows 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:

profile_id
trait_name
trait_value
type
kind

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