Skip to main content

Data model

Define Custom Attributes, Tags, and Custom Events to store extra data on the Profiles in a Section

Data model

Each Section has its own Data Model β€” the set of custom data fields and event types you can store on Profiles in that Section. The Data Model is what gives you the raw material for segmentation, personalisation, and triggering Marketing Automation flows. Without it, you can only act on the default attributes Apsis ships with.

πŸ’‘ Data Model is per Section

Each Section has its own independent Data Model. An Attribute called preferred_language in your Heartland Section doesn't exist in your Wonder Labs Section β€” you'd need to create it there too. This separation is intentional, but it does mean a multi-Section account requires careful coordination if you want consistency across brands.


In this article


What is the Data Model?

The Data Model is the structure that defines what you can store on a Profile beyond the standard fields like name and email. It's the foundation everything else builds on:

  • Segmentation uses Data Model fields as conditions ("Profiles where customer_tier = Premium").
    ​

  • Personalisation in emails and SMS pulls from Data Model attributes via Data Tags.
    ​

  • Marketing Automation branches and listens for Custom Events you define in the Data Model.
    ​

  • Imports and integrations map external data into your Data Model fields.

Get the Data Model right, and the rest of Apsis becomes powerful. Get it wrong β€” or skip the planning step β€” and you'll be patching it for years.


Three types of data

Type

What it stores

Updates over time?

Example

Default or System Attribute

A single value per Profile that can change.

Yes β€” overwriting is normal.

Email address, First name, Last name.

Custom Attribute

A single value per Profile that can change.

Yes β€” overwriting is normal.

Customer tier (Bronze / Silver / Gold), preferred language, last purchase value.

Tag

A binary marker β€” either present on the Profile or not.

Tags are added or removed; their value isn't updated.

Tags like VIP, Newsletter Beta, Imported 2026-Q1.

Custom Event

A timestamped record of something that happened, with optional event-data fields.

Each occurrence is a new record β€” events accumulate, they don't overwrite.

A Product viewed event with category, price, and product ID.

πŸ’‘ Pick the right type for your data

The most common mistake is using an Attribute when you should use an Event (or vice versa). Use an Attribute for the current state ("what tier are they?"), a Tag for a simple yes/no ("are they a VIP?"), and a Custom Event for things that happen over time ("they viewed this product on this date"). Mixing them up means you can't ask the questions you actually want to ask.


How to access the Data Model

  1. Click your Profile Icon in the top right and go to Settings.

  2. Open the Section whose Data Model you want to manage.

  3. In the inner left menu, click Data Model.

The Data Model page has three top tabs β€” Attributes, Tags, and Custom Events β€” corresponding to the three types of custom data.


Planning your Data Model

Before you create anything, take a moment to plan. The Data Model is one of the few things in Apsis One where mistakes are genuinely hard to undo β€” see the irreversibility section below.

⚠️ Plan before you create

Sketch your Data Model before clicking Create. Ask:

  • What questions do I want to be able to answer about my Profiles?

  • Which of those need current state (Attributes), yes/no markers (Tags), or history of actions (Events)?

  • What naming convention will I use? (Consistency matters across multiple Sections.)

  • Where does each value come from β€” manual entry, integration, form submission, API?

A 30-minute planning session saves months of cleanup later.

βœ… Naming convention tip

Use lowercase, snake_case, and a clear prefix where helpful β€” for example pref_language, cust_tier, last_purchase_value, event_product_viewed. Avoid spaces, accents, and capitalisation inconsistencies. Future you will thank present you when you're segmenting six months from now.


Custom Attributes

Attributes are data fields that store a single value per Profile, like a column in a spreadsheet. Apsis ships with default Attributes for common data (name, email, mobile, etc.), and you create Custom Attributes for everything else.

Common examples:

  • Demographic: preferred_language, country, city, age_band

  • Customer status: customer_tier, lifetime_value, last_purchase_date, account_status

  • Preferences: communication_frequency, product_interest, t_shirt_size

For the full mechanics of creating Attributes, including data types and personalisation, see About Attributes.


Tags

Tags are simple labels you stick on (or remove from) a Profile. They're either present or not β€” there's no value to update. Use them for fast, lightweight markers that don't need a full Attribute.

Common examples:

  • Status markers: VIP, Inactive, Win-back candidate, Test profile

  • Source markers: Imported 2026-Q1, From trade show, From referral programme

  • Behavioural flags: Engaged last 30d, Newsletter beta, Survey respondent

For the full mechanics, see About Profile Tags.

βœ… When to use a Tag vs. an Attribute

If the answer is binary ("yes, they have it" or "no, they don't"), consider using a Tag. If the answer has multiple possible values that change over time ("Bronze / Silver / Gold"), use an Attribute. Tags are simpler and faster; Attributes are richer but heavier.


Custom Events

Custom Events are timestamped records of things that happen β€” purchases, page views, registrations, status changes. Each event accumulates on the Profile, building up a behavioural history you can segment, branch on, and trigger automation flows from.

Custom Events have two parts:

  • The event itself (a name and a timestamp) β€” e.g. Order placed, Webinar attended.
    ​

  • Event data β€” additional fields that describe the specific occurrence (e.g. order_total, product_id, webinar_topic).

Common examples:

  • Commerce: Order placed, Order returned, Cart abandoned, Product viewed
    ​

  • Engagement: Webinar attended, Loyalty milestone reached, Profile interest declared
    ​

  • Lifecycle: Account upgraded, Trial expired, Renewal due

For the full mechanics β€” including how to send events from your website, app, or integration β€” see About Custom Events.


The irreversibility of hiding

This is the part of the Data Model that catches people out, so it's worth its own section.
​

🚨 Hidden Attributes, Tags, and Custom Events cannot be unhidden
​

You can hide Attributes, Tags, and Custom Events from the Data Model β€” but unlike Sections, you cannot bring them back. Once hidden, they're gone from the Data Model interface for good. You'll need to create new ones if you change your mind.

Sections work differently β€” Sections can be hidden and unhidden freely. But within the Data Model, hiding is one-way.

⚠️ What this means in practice

  • Don't hide an Attribute, Tag, or Custom Event "just to clean up" β€” only hide things you're certain you'll never need again.

  • Migrate any data you'll need elsewhere before hiding.

  • If you're not sure, leave it visible. The Data Model can hold a lot of unused fields without performance impact.


Troubleshooting

Issue

Likely cause

Fix

Data Model tab is missing or read-only

You don't have Account Owner or Admin User rights.

Ask an Admin to make changes for you, or to grant you Admin rights.

Created an Attribute in one Section but it's missing in another

Data Models are per Section β€” they don't sync.

Create the Attribute in each Section that needs it. If you do this often, agree on a naming convention to keep things consistent.

I want to rename an Attribute / Tag / Event

Names are configured at creation time and renaming may not be available for all types.

Check whether the type supports renaming in its dedicated article. If not, the workaround is to create a new one and migrate data β€” though this only makes sense if the cost is worth it.

I hid an Attribute and now want it back

Hidden Attributes, Tags, and Custom Events can't be unhidden.

Create a new one. Note that historical data tied to the hidden Attribute may not be retrievable to the new one without manual remediation.

Segments stopped working after hiding an Attribute

Segments containing hidden data keep functioning, but you can't add the hidden data into new conditions.

If a condition gets removed from a Segment, it can't be added back while the Attribute is hidden. Plan around this before hiding anything used in active Segments.

Email Data Tags break after hiding an Attribute

Emails using a hidden Attribute show the Attribute ID instead of its name.

The Data Tag still functions in sends β€” recipients see the actual value. The display change is internal only. Update the Template to remove the hidden tag if it's no longer needed.


What's next?

  1. About Attributes β€” Full guidance on creating and using Custom Attributes.

  2. About Profile Tags β€” Full guidance on creating and using Tags.

  3. About Custom Events β€” Full guidance on Custom Events including event data fields.

  4. Hide Profile data and Sections β€” The full mechanics and consequences of hiding.

  5. About Profiles β€” How Data Model fields appear on individual Profiles.

Did this answer your question?