Channel & craft
Custom attribute
Also known as: custom field · user property
A user-level data field — beyond the built-in properties like email and first_name — that stores brand-specific information (subscription tier, last-purchase date, NPS score) for use in segmentation and personalisation.
A custom attribute in Braze (or equivalent field in other platforms) is a user-level data slot beyond the built-in properties. Every platform ships with defaults — email, phone, first_name, last_name, created_at — and operators add custom attributes to capture brand-specific state: subscription_tier, last_purchase_date, nps_score, product_interests, churn_risk_band. Custom attributes are the backbone of segmentation and personalisation: segments filter on them, Liquid renders them, triggers fire when they change. Design principles: name them consistently (snake_case, typed prefixes — dt_ for dates, is_ for booleans, n_ for counts), avoid redundant attributes (if derived from events, keep the event and compute when needed), and audit for unused attributes quarterly — every platform has instances with 200+ attributes where 150 haven't been read in years.
Try the tool
Read next
Custom attributes: the data design that decides what your program can do
Custom attributes are infrastructure. Designed well, they enable every future campaign. Designed badly, they become the reason 'can we segment on X?' is a multi-week engineering project instead of a 15-minute one. Here's the design discipline that prevents the mess.
Personalisation that doesn't feel creepy
There's a line between personalisation that earns trust and personalisation that breaks it. It's not where most people think it is — it's about how you signal what you know, not what you know. Here's the line, how programs cross it without noticing, and the patterns that keep you on the right side.