Optimove provides multiple ways to update customer attributes outside the standard daily batch process. Choosing the right method depends on how frequently you need to update the data, whether the update is manual or automated, and whether the data should be instantly available for segmentation and campaigns.
Below is a breakdown of the three main methods available for real-time and near-real-time attribute creation and updates:
Data Ingestion
Best for: Clients needing to update attributes in bulk multiple times daily.
Supports: CSV file uploads, SFTP, Amazon S3, and Google Cloud.
Frequency: Manually (one-time via CSV) or scheduled (every 6, 12, or 24 hours)
Key Considerations:
- Updates attributes for existing customers only (does not support new customer creation).
- Not immediate—processed in batches throughout the day.
- Must ensure proper formatting to avoid ingestion errors.
- Campaigns using updated attributes require re-evaluating target groups to reflect changes
Example of Data Ingestion: A client wants to update customer email consent several times a day but doesn't need instant processing. Instead of waiting for the daily batch, they can schedule Data Ingestion every 6 hours.
Learn More about Data Ingestion here.
API Updates
Best for: Clients needing to update individual attributes in real-time.
Supports: API calls to modify customer attributes instantly.
Frequency: As often as required, based on system triggers.
Key Considerations:
- Updates can be made to specific customer attributes instantly.
- Requires API integration with Optimove.
- Best suited for attributes that change frequently (e.g., user preferences, last login date).
Example of API Updates: A customer changes their marketing preferences on a website, and the business wants the update to be reflected immediately. An API call updates the customer's attribute in real time, allowing immediate segmentation for marketing campaigns.
Learn More about Creating and Updating attributes via API here.
Real-Time Attributes
Best for: Continuous updates for time-sensitive attributes.
Supports: Event-driven updates using real-time data streams.
Frequency: Immediate, processed as data arrives.
Key Considerations:
- Ideal for trigger-based marketing campaigns.
- Ensures live data flow, but requires careful integration.
Example of Real-Time Attribute updates: A sports betting company wants to trigger a campaign when a customer places a bet. Using Real-Time Attributes, the customer's activity is instantly recorded, allowing an immediate response (e.g., sending a promotion for their next bet).
Learn More about Real-Time Attributes here.
Event-based Customer Attributes
Best for: Clients who want customer registration and profile updates to update attributes automatically from events, without separate attribute update API calls.
Supports: Updating customer attribute values directly from incoming events that include the latest value in the payload.
Frequency: Immediate, processed as the event arrives.
Key Considerations:
- Supports customer registration and detail updates via these three events: ootb_registration, ootb_user_details_update, ootb_customer_details_update.
- These events are programmed to contain out of the box attributes, which customers can identify by the ootb_ parameter prefix.
- Keeps campaigns and segmentation aligned with the latest known value from the event.
- Requires consistent event payload structure and governance to avoid overwriting with stale values.
- To update additional attributes beyond the OOTB set, you can add them to the event parameters. Just make sure you're using the correct attribute name. We recommend using an API call l to retrieve the attribute field name, ensuring that both the event and the attribute name match.
Example of Event-based Attribute Update: When a customer updates their profile, your app sends an event (e.g., ootb_customer_details_update) with ootb_email in the payload. Optimove updates the email right away to keep campaigns up to date.
If there are other customer attributes to update, add them as a parameter to the event with attribute_name as the key and the new value. This will ensure Optimove updates those attributes too.