Attribute Creation and Updates Governance

Optimove gives you several ways to create and update customer attributes, and the method you use to create an attribute determines how you can update it later. Choosing the right approach up front saves you from reconfiguring an attribute — or backfilling historical values the hard way — after it is live.

This page gives your technical team a high-level view of attribute governance in Optimove: the methods available to create attributes, how each creation method constrains your update options, and the recommended approach for common scenarios.

⚠️

The way an attribute is created determines how it can be updated

Most importantly, an attribute created via API can only be updated via API. Decide how you will need to update an attribute — and whether you need to backfill existing customers — before you create it.

Creating Attributes: Choosing the Right Method

There are three ways to create a new customer attribute. Each supports a different set of update methods and a different level of support for backfilling values for your existing customers.

Batch data / ETL (via Change Request)

The attribute is created through your standard batch process or ETL (Extract, Transform, Load) pipeline, coordinated with your Customer Success Manager (CSM) through the Change Request process.

  • How you can update it — batch data, or API
  • Backfilling existing customers — supported; full historical values can be loaded
  • Best for — core attributes sourced from your data warehouse that must stay in sync with your source of truth

For the end-to-end request process, see Adding Attributes: Data Exists in the Data Schema and Adding Attributes: Data Does Not Exist in the Data Schema in the Optimove Academy.

Data Ingestion

The attribute is created through Data Ingestion, which supports CSV upload, SFTP, Amazon S3, and Google Cloud, on demand or on a schedule.

  • How you can update it — Data Ingestion, or API
  • Backfilling existing customers — supported
  • Best for — attributes you want to create and refresh yourself, including cases where you later want to switch to real-time API updates

For the configuration steps, see the Data Ingestion guide in the Optimove Academy.

API

The attribute is created directly with an API call.

  • How you can update it — API only
  • Backfilling existing customers — not supported in the same way; an API-created attribute holds values only from the point of creation forward, so populating historical values for your existing customer base is significantly more complex
  • Best for — attributes that only need data from the moment of creation onward, with no requirement to backfill existing customers

For the endpoint reference, see Add Customer Attribute, Update Customer Attributes, and Customer Attributes in the API Reference.

💡

Backfill first, then switch to API

If you know you will need to backfill existing customers and update the attribute via API going forward, create the attribute via Data Ingestion (or batch) first, then switch to API updates. Creating it via API from the start locks you into API-only updates and makes backfilling far harder.

Comparison at a Glance

Creation MethodHow You Can Update ItBackfills Existing Customers?Best For
Batch data / ETL (Change Request)Batch or APIYesCore, warehouse-sourced attributes
Data IngestionData Ingestion or APIYesSelf-managed attributes, including later API updates
APIAPI onlyNo — values from creation forwardForward-only attributes, no historical backfill

Updating Attributes

Beyond the standard daily batch, Optimove provides several ways to update attribute values. Which options are available to you depends on how the attribute was created.

Data Ingestion

Best for updating attributes in bulk several times a day.

  • Updates attributes for existing customers only — it does not create new customers
  • Not immediate — processed in batches through the day, on a schedule of every 6, 12, or 24 hours, or run manually via CSV
  • Requires correct file formatting to avoid ingestion errors
  • Campaigns that use an updated attribute require the relevant Target Groups to be re-evaluated before the change is reflected

Example: you refresh email consent several times a day but do not need instant processing. Instead of waiting for the daily batch, schedule Data Ingestion every 6 hours.

API updates

Best for updating individual attributes in real time.

  • Specific customer attributes are updated instantly
  • Requires an API integration with Optimove
  • Best suited to attributes that change frequently, such as user preferences or last login date

Example: a customer changes their marketing preferences on your website and the change must be available for segmentation immediately. An API call updates the attribute in real time.

Real-time attributes

Best for continuous updates to time-sensitive attributes.

  • Event-driven updates using real-time data streams, processed as the data arrives
  • Suited to trigger-based campaigns
  • Guarantees a live data flow, but requires careful integration

Example: a sports betting operator triggers a campaign when a customer places a bet. Real-time attributes record the activity instantly, enabling an immediate response.

For the setup steps, see Setting Up Real-Time Customer Attributes in the Optimove Academy.

Event-based customer attributes

Best for letting customer registration and profile updates set attribute values automatically from incoming events, without separate attribute-update API calls.

  • Updates customer attribute values directly from events that carry the latest value in the payload
  • Supports customer registration and detail updates through three out-of-the-box (OOTB) events: ootb_registration, ootb_user_details_update, and ootb_customer_details_update
  • To update attributes beyond the OOTB set, add them to the event parameters using the correct attribute field name
  • Requires a consistent event payload structure, and governance to avoid overwriting good data with stale values

Example: when a customer updates their profile, your app sends an ootb_customer_details_update event with ootb_email in the payload, and Optimove updates the email immediately so campaigns stay current.

For the event schemas, see the Registration Completed and User Details Update references.

How Many Attributes Can You Create?

Each creation method has its own limit on how many customer attributes you can hold per tenant. Some methods have a cap of their own; some share a common pool.

MethodLimit per TenantDetails
API attributesUp to 40Attributes you send to Optimove through the API. A fixed limit of 40 per tenant
Real-time attributesUnlimited
Calculated — customer attributesNo dedicated limitAll calculated attributes together share one pool of 100 per tenant
Calculated — purchase / game historyUp to 15This type has its own cap of 15; those 15 also count inside the shared pool of 100
Calculated — activity historyNo dedicated limitDrawn from the same shared pool of 100 calculated attributes
Data IngestionUp to 36 mapped attributesThe limit of 36 applies to each ingestion process separately. There is no overall limit on how many attributes you create through Data Ingestion — add more processes as needed

Recommended Approach by Scenario

  • New attribute that must include existing customers, then update in real time — create the attribute via Data Ingestion (or batch) so you can backfill all existing customers, then update it via API going forward. Do not create it via API first; that makes backfilling every existing customer far more complex.
  • Attribute sourced from your data warehouse — create and maintain it via batch/ETL through a Change Request, and optionally layer API updates on top.
  • Attribute that only matters from now on, such as a new preference captured at signup — create it via API; no historical backfill is needed.

Technical Notes

  • Batch/ETL attributes refresh on the standard daily batch cycle unless a Data Ingestion or API update path is layered on top.
  • Data Ingestion runs on a schedule of every 6, 12, or 24 hours, or on demand.
  • API and real-time updates apply immediately; Target Groups that depend on the updated attribute still need re-evaluation before campaign selection reflects the change.

For the end-user configuration steps and the marketer's view of these options, see Attribute Creation and Updates: Understanding Your Options in the Optimove Academy.


Did this page help you?