Optimove has completely rebuilt its Campaign Execution engine on a cloud-based, modular infrastructure — making it faster, more scalable, and more flexible. With improved support for large datasets and complex target groups, Campaign Execution 2.0 ensures every campaign is orchestrated with precision.
What’s New
- Always-fresh audiences: Each campaign’s target group is recalculated just before sending (there is no need to “Re-evaluate” or “Run anyway”), reflecting all same-day data updates.
- UTC is no longer an issue: Campaigns execute on time, regardless of time zones — no more tenant-clock limitations or workarounds (there is no need to set a 1 day “lead time”).
- Continuous Decisioning: Campaign priorities, exclusions, and eligibility are evaluated throughout the day, adapting to ad-hoc campaigns and customer data changes.
-
Usability enhancements:
- Conditional execution no longer requires a scheduler on the client side because notifications arrive closer to the campaign send time, allowing immediate approval or denial.
- Campaign modifications are taken into account close to execution time.
Campaign Execution 2.0 gives marketers the flexibility, responsiveness, and confidence to deliver the right message, to the right customer, at the right moment — every time.
Note: Relevant only for scheduled campaigns. Clients are migrating to this new infrastructure, unlocking advanced features such as Send-Time Optimization and Channel Eligibility.
Execution process in Campaign Execution 2.0
Optimove’s AI orchestration engine updates throughout the day to deliver the most relevant campaign to each customer, using the latest data, and campaign changes.
The Campaign Execution
1. Target Group Eligibility
Target Groups are updated once a day with data from the batch data process. In addition, each campaign triggers its own individual Target Group recalculation shortly before its scheduled send time, which takes into consideration additional data sources that can be updated during the day:
- Real-Time Attributes
- API Updated Attributes
- Web & App Activity
- Campaign History
- Engagement Activity
- Self-Serve Data Ingestion Attributes
The recalculation timing is optimized based on data volume, with the goal of making it as close to send time as possible (typically 10–60 minutes before execution). This ensures every campaign sends to the most updated audience, without any manual step.
Notes:
- If you're using conditional execution, the Target Group will be updated before the “Event type 5” notification is sent.
- Always Exclude Target Group is still being updated only once a day, after batch data update is complete.
2. Campaign Prioritization & Exclusion
Customer campaign eligibility and selection may change during the day due to:
- Updates to Target Group eligibility
- Priority changes between Target Groups
- Addition or removal of campaigns
- Edits to campaign inclusion/exclusion rules
Optimove continuously evaluates these changes to ensure customers are assigned to the most relevant campaigns. Optimove prioritizes all campaigns scheduled for the same date to ensure the best one is sent to each customer. This includes regular campaigns and now campaigns set as Run Anyway.
3. Campaign Execution
Campaigns are processed for execution shortly before their scheduled send time, allowing full flexibility to edit or delete them until processing begins.
Note: By default, processing begins 15 minutes before the first template’s scheduled time.
Different types of campaigns:
| Campaign | What It Does | When to Use It |
| Regular campaigns | Sends the campaign at the scheduled time only if the batch data is up to date | All campaigns that you want to run only if the data is updated |
| Run Anyway campaigns | Sends the campaign at the scheduled time, even if the batch data is not up to date (other data sources will be updated) | For time-sensitive campaigns that must go out regardless of the batch data update status |
Note: Campaign Execution 2.0 solves timing issues when there is a gap between your time zone and UTC.
E.g: There is no longer a need to use Run Anyway if you want to send a campaign after midnight UTC (when being on a different time zone).
Tracking Execution Progress
Use the Real-time Campaign Progress widget to monitor your batch process and track campaign execution in real time.
- Batch Data Update — The batch process status. It now contains the date when it was updated last, in your site time zone.
- Scheduled Campaign Execution — Campaigns scheduled to run for today aggregated by their status. Each campaign is executed on its own scheduled time so this will keep updating during the day. Counts are clickable and open Mission Control.
- Active Triggered campaigns - Amount of active triggered campaigns that are live for the day.
Manual Execution Behavior
If Optimove could not execute a regular campaign, the campaign will enter “Not Run” status. Running it is available only manually from the Mission Control, using Run Today’s Occurrence option. In this case, Optimove will run the campaign immediately with the available data, even if the data is not up to date. Some delay may occur if extra processing is needed.
Note: If you configure the “Allowed delay” option (AKA force run), Optimove will try to execute the campaign even if the scheduled time has passed. Configuration is available for Admin users from the Settings page → Campaign Execution.
- e.g., a campaign is scheduled to run at 10:00, and the allowed delay is configured to be 30 min. In this case, if the data for the campaign was ready only at 10:05, Optimove will run the campaign with a delay, instead of changing the campaign status to “Not Run”.
Campaign Emergency Cancellation
Occasionally, an issue may be identified in a campaign template. For multi-template, multi-channel, or cross-time-zone campaigns, this issue might be caught before all messages are sent to all customers.
With Campaign Emergency Cancellation, you’ll be able to:
- Attempt to cancel a Running campaign from Mission Control.
- If not all messages have been sent, Optimove will:
- Remove unsent messages
- Update campaign metrics
- Unlock customers that didn’t receive any message, making them eligible for other campaigns that day
Notes:
- This is a time-sensitive action. Even if the "Cancel" button is available, it does not guarantee successful cancellation. You will be notified of the result of the cancellation attempt.
- Conditional execution campaigns are available for cancellation during the approval time.
Editing and Deleting Campaigns
Before: Campaigns scheduled to run on the same day entered "Processing" at a fixed time during the Batch Process. This locked them from editing or deletion, even if they were set to run hours later.
Now with Campaign Execution 2.0: Each campaign enters "Processing" shortly before its scheduled execution time (usually around 15 minutes). This gives you more flexibility and time to make last-minute edits or deletions.
Editable: Up until a campaign enters "Processing"
Processing: Editing and deleting are locked
Running: Campaign has started; changes will only affect future occurrences
Note: Conditional execution campaigns are locked earlier and can't be edited during the “heads up” time (the time your system has to approve customers). During this time you can still cancel the campaign.
Notifications
Changes to Campaign notifications sent via API
- Event Type 1 - This notification is now available with Campaign Execution 2.0.
- Event Type 2 - This notification is removed with “Campaign Execution 2.0”.
- Event Type 5 – This notification will be available when scheduled conditional execution is supported with "Campaign Execution 2.0”.
- Event Type 13 - This notification is now available with Campaign Execution 2.0.
Email notifications – subscribe from the settings page
- Daily Summary: Delivered at 00:15 (your site time), summarizing campaigns processed from the past 24 hours.
- Iteration Summary (New): Delivered hourly, summarizing campaigns processed in the last hour.
Unsupported features
- CSV campaigns setup from campaign builder – Instead, use the “Customers list” option when creating a Target Group
- Re-evaluate – This feature is deprecated with Campaign Execution 2.0.
Scheduled Conditional Execution
Before
All notifications were sent during the batch process for all campaigns using conditional execution regardless of their scheduled send time.
Read the full article on Conditional Execution →
Now:
- Optimove sends a "Campaign is Ready" notification for each campaign (Event Type 5), at a configured time before the campaign’s scheduled execution time.
- “Heads up time” is the configured time your system has to approve/deny customers from the moment the notification is sent. Optimove will always give your system the full heads up time (default: 1 hour, configuration is available for Admin users from the Settings page → Campaign Execution → Scheduled Conditional Execution).
- Make sure the campaign is set to send enough time after the batch to send the notification and give your system the full heads up time, or mark it as "Run Anyway", so it will run regardless of the status of the batch data update.
- Approvals/denials are accepted before the deadline (AKA clearance required by time), which is shared in the notification. This is typically 5–15 minutes before the campaign execution time.
Notes:
- Conditional execution no longer requires a scheduler on client side, because notifications arrive closer to the campaign send time, allowing immediate approval or denial.
- In case a conditional execution campaign status was changed to “No customers”, you can manually re-run it and it will initiate the full execution flow.
What happens when the batch is delayed or campaign is scheduled close to the batch update completion time?
If the batch data update has not yet completed when Optimove needs to send the “Campaign is ready” notification:
- Regular Campaigns with no “Allowed delay” configured for the site
- Since Optimove always give your system the full heads up time to approve customers, and in this case the time is not sufficient, the campaign status will change to “Not run”.
- Regular Campaigns with “Allowed delay” configured for the site
- Optimove will wait, and if the batch update completes before the allowed delay time has passed, Optimove will send the notification when it’s ready and will give your system the full Heads-Up Time, so the campaign will be sent later than scheduled.
- Run Anyway Campaign
- The notification will still be sent on time and the eligibility & exclusion will be calculated with the data available, even if the batch data update was not completed yet.
Note: We recommend scheduling conditional execution campaigns at least 75–90 minutes after your expected batch completion to ensure they can be sent on time.