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 updatedMost 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 APIIf 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 Method | How You Can Update It | Backfills Existing Customers? | Best For |
|---|---|---|---|
| Batch data / ETL (Change Request) | Batch or API | Yes | Core, warehouse-sourced attributes |
| Data Ingestion | Data Ingestion or API | Yes | Self-managed attributes, including later API updates |
| API | API only | No — values from creation forward | Forward-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, andootb_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.
| Method | Limit per Tenant | Details |
|---|---|---|
| API attributes | Up to 40 | Attributes you send to Optimove through the API. A fixed limit of 40 per tenant |
| Real-time attributes | Unlimited | |
| Calculated — customer attributes | No dedicated limit | All calculated attributes together share one pool of 100 per tenant |
| Calculated — purchase / game history | Up to 15 | This type has its own cap of 15; those 15 also count inside the shared pool of 100 |
| Calculated — activity history | No dedicated limit | Drawn from the same shared pool of 100 calculated attributes |
| Data Ingestion | Up to 36 mapped attributes | The 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.
Updated 2 minutes ago
