Attributes & events
Attributes are the fields that describe a contact; events are the timestamped actions that build their activity. This page covers attribute types and data types, system vs custom attributes, unique attributes and automatic merging, attribute limits and actions, and the full event catalog with where events come from.
Everything you know about a contact is stored in two ways. Attributes are what a contact is: their fixed fields — name, phone, country, total spent — overwritten whenever a newer value arrives. Events are what a contact did: timestamped actions — an order, a click, an abandoned cart — that pile up over time and form their history. Together, attributes and events are the raw material you segment your audience and personalize messages on.
Attributes are managed on the Attributes screen, which you reach from Settings › Project ›
Attributes, from a contact's profile, or via the URL /customer-data/attributes.
Attributes
An attribute is a field on every contact — a name, a phone number, a country, a total spent. The attributes manager lists each one with its description, its Format (data type) and its Type (Custom or Primary), and a count of how many you have (for example, You have 81 attributes). Rows can be reordered by dragging, except the pinned Full name.
Type: custom, system and read-only
The Type column carries one of two badges, Custom or Primary, but there are really four kinds of attribute, and what you can do with each differs:
- Custom — the ones you add for your own data. They're fully editable (name, description, type) and can be deleted.
- Primary / system — the built-in fields Instasent maintains (full name, mobile phone,
email, country, the e-commerce totals, and so on). Their names start with an underscore
(
_full_name,_phone_mobile,_email). You can View details but not rename, retype or delete them. - Ad-hoc — fields brought in by an integration (for example, the Klaviyo client ID). They're read-only and can't be deleted, and they don't count toward your custom-attribute limit.
- Event-based / e-commerce — read-only fields created in bulk the first time e-commerce order events arrive (totals, averages, last-order date, predictions). They can't be edited or deleted.
The Type column only ever shows two badges: ad-hoc and event-based / e-commerce fields also carry Custom (what sets them apart from an editable custom attribute is their read-only constraints, not the badge). A constraints column flags attributes that are Unique or Read only, and a line under each shows which data sources set it up.
Data types
Each attribute has a data type — its Format — that decides how it behaves in filters and personalization:
| Format | Examples |
|---|---|
| Text | Plain text, with length variants (keyword up to 40, string up to 128, long text up to 512 characters). |
| Number | Integer, decimal (1–3 places), and units like days or hours. |
| Date | Date, datetime, time and timezone. |
| Yes/No | A boolean field. |
| Currency | A monetary amount (EUR), used by the e-commerce totals. |
The data type is what determines which operators you get when you filter on the attribute.
Creating and editing attributes
You can create a custom attribute with Create attribute on the Attributes screen, or on the fly while mapping the columns of an import (see Data sources). When creating or editing:
- The display label is required, 2 to 50 characters, and the description is up to 128 characters.
- A data type is required. When editing, only custom attributes can change, and the type can only be changed to a compatible one.
- The identifier (uid) is read-only; you can copy it.
Each attribute's actions menu offers Edit / View details, Duplicate, Copy ID,
Set as unique (when eligible) and Delete (only for custom attributes whose id doesn't
start with _).
Unique attributes and automatic merging
An attribute can be marked unique (the Set as unique action). When it is, Instasent uses it as an identity key: if data arrives with the same value in a unique attribute, all contacts with that value are merged automatically into a single profile instead of creating duplicates.
Marking an attribute unique is a one-time, irreversible action — the dashboard confirms it: All contacts with the same value in will be merged automatically. This action cannot be undone. Empty values are never merged. By default the mobile phone and the email act as unique keys, which is how a person who reaches you through several sources stays one contact.
Limits
The number of custom attributes you can create depends on your plan; ad-hoc and event-based attributes don't count toward it. Some attributes are multi-valued, with their own caps (for example, subscriptions up to 50, and deals or automations up to 100). Length limits depend on the text type: keyword 40, string 128, long text 512 characters.
Events
An event is a timestamped action a contact took — a placed order, a campaign click, an abandoned checkout, a meeting joined. Events are what fill the contact's activity timeline and let you segment on behaviour.
- Schema — each event has a name and a set of typed parameters (an order event carries its order id, amount, currency, product name and discount code; a coupon event its code, value and percentage; a checkout event its amount and product count; and so on). These parameters are what you filter on in an Filter by activity segment condition, and what you can use as variables in a message.
- Where they come from — events are fed by your data sources: a connector like Shopify or Klaviyo, or the API and webhooks. Each event carries the data source it came from. They aren't typed in by hand, which is why they're read-only on the profile.
Event categories
Events group into families. The catalog is broad — roughly seventy types — and includes:
- Lifecycle — created, merged, deleted, updated, subscribed, unsubscribed.
- General / web — generic, custom, action, view, active, click, metric.
- Forms — form viewed, form submitted.
- Billing — payment, refund, chargeback, invoice.
- Marketing / inbound — lead, inbound.
- Campaign — campaign sent, campaign CTA (click), campaign opened.
- Automation — triggered, sent, dispatched, CTA, opened, flow.
- Transactional — sent, CTA, opened.
- E-commerce — products — product viewed, added, purchased.
- E-commerce — checkout — checkout initiated, abandoned, cancelled, updated.
- E-commerce — orders — order created, updated, paid, shipped, delivered, cancelled, refunded, charged back.
- E-commerce — coupons — coupon created, used, removed.
- Subscriptions — plan changed, cancelled, renewed.
- Meetings — registered, cancelled, joined, left.
- Deals / CRM — deal added, updated, won, lost.
E-commerce events only appear for e-commerce projects.
Exploring activity
You explore events two ways: per contact, in the Activity card on the profile, and project-wide, under Audience › Activity. Both show a timeline you can filter by event type, period (last 30 / 90 days, last 12 months) and date basis (event date vs reception date), with Recommended events as the default selection. Each event opens a drawer with its parameters, attribution (UTM) and general info, and order/checkout events expand inline for more detail. When nothing matches, the feed offers to reset the filters.
Subscription attributes
Among the system attributes is a set that tracks consent per channel — whether a contact accepts marketing and whether they're subscribed on SMS, WhatsApp and so on. These show on the profile under Channel preferences, but the model behind them — what each value means and how it's enforced — is owned by Consent. See that section for the full picture.
Once your schema is in place, put it to work in Segments.