Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.omneo.io/llms.txt

Use this file to discover all available pages before exploring further.

Custom attributes are brand-defined fields that store additional data against a profile that the default schema does not cover. They provide a flexible, extensible layer shaped to meet brand-specific data requirements.
Other objects in Omneo (such as Transactions and Locations) support custom fields, which behave similarly. The term “attribute” is specific to profiles. See Custom fields for the distinction.

What custom attributes are for

Every brand has unique data points they want to capture about customers. Common examples include:
  • Pet name and breed (for pet supply retailers)
  • Vehicle make, model, and year (for automotive brands)
  • Referral source or acquisition campaign
  • Dietary preferences (for food and beverage brands)
  • Skin concerns or product sensitivities (for beauty brands)
  • Custom profiling questions, such as a customer’s favourite gemstone

How they work

Custom attributes are set directly on individual profiles, either through CX Manager or via the API. There is no master set of custom attribute definitions managed centrally in CX Manager. Each attribute is created at the point of use on a profile. Each entry on a profile specifies:
  • Namespace: a grouping prefix that classifies the attribute (e.g., pet, preferences, beauty)
  • Handle: the machine-readable identifier within that namespace (e.g., breed, dietary_preference)
  • Value: the actual data captured for that customer
Because there is no central registry of definitions, consistency in namespace and handle naming is critical. Agree on these conventions during solution design and apply them uniformly wherever attributes are written. Mismatched namespaces or handles will fragment data across profiles.

Namespace design

Namespaces group related attributes and serve as the top-level identifier for a set of custom data. As with identity handles, namespace names should be agreed during solution design and treated as part of the data model: they are not easy to change after data has been written. Omneo Extensions may reserve specific namespace names to store their own data. For example, an integration Extension might write attributes under a namespace matching the integration name. Using a conflicting namespace name will cause that Extension to behave incorrectly.

Accessing custom attributes

Custom attributes are returned on profile responses in the custom_attributes array. Each entry contains the namespace, handle, and stored value. They are also available in reaction conditions and event context templates, allowing brands to build automation logic based on custom attribute values.