Per-campaign AI Settings
Access from: Advertising → Campaigns → row → AI Settings drawer.
Beta feature
The Smart Campaigns optimizer is in beta: it is enabled account by account, and both the interface and the default values may change. If you don't see the template under Available templates, nor the AI Settings button in your campaigns table, it is not enabled for your account yet.
Each campaign's panel gathers everything the optimizer needs to know about it: the objective you aim for, the bid limits it moves within, the gate deciding which workflows may process it, the AI actions switch, and a read-only block with the workflow status.
Objective
It is the reference for every decision: without an objective the workflow cannot tell whether a target is doing well or badly, and the campaign is not optimized.
- Metric — ACOS (how much you spend per unit of sales: lower is better) or ROAS (how much you sell per unit invested: higher is better).
- Target value — the number you aim for, for instance 25 % ACOS.
Bid limits
The Bid & placement limits block bounds the range the optimizer moves within:
- Max bid — optional, and it is the safety ceiling: no bid ever goes above it. Careful, it has a second effect: when it is set, the workflow puts placement adjustments at 0 % and controls everything with absolute bids.
- Min bid — absolute floor the optimizer will never go below, not even when blocking an exhausted target.
Below each field the marketplace limits are shown (Amazon floor, Amazon ceiling), and the panel won't let you save impossible values: a max bid below the min, or either of them outside the range Amazon accepts.
These limits stack with the workflow's
The workflow also has its own min and max bid, applying to all of its campaigns. When both are set, the more restrictive one wins: the effective max is the lower of the two and the effective min the higher. See Autonomy modes and variables.
The three gate controls
1. Force workflows
Workflows selected under Force will process this campaign always, even if the workflow's own filter would not pick it.
Useful for:
- Exceptions to the rule — campaigns the workflow would normally skip but you want to include.
- Guaranteeing a specific workflow always acts on this campaign, regardless of its filter.
Next to each forced workflow you can see whether it is paused, and a View workflow button takes you straight to its page.
2. Exclude workflows
Workflows selected under Exclude will never process this campaign, even if their own filter would pick it.
Useful for:
- Pilot or sensitive campaigns that must not receive automated changes.
- Vetoing specific workflows without losing the rest of your automation.
Conflict: if the same workflow appears under Force and Exclude, Exclude wins. The UI disables the option in the opposite MultiSelect to prevent this, but the backend protects the case.
3. Only process forced workflows
Global toggle. When enabled, only workflows under Force will process this campaign. Any other workflow is blocked, even if its own filter matches.
Useful for:
- Temporarily pausing all automation without resetting Force / Exclude.
- Isolating the campaign for controlled tests.
Decision table
| In Force? | In Exclude? | Only forced? | Workflow filter matches? | Processes? |
|---|---|---|---|---|
| ❌ | ❌ | ❌ | ✅ | ✅ |
| ❌ | ❌ | ❌ | ❌ | ❌ |
| ❌ | ❌ | ✅ | ✅ | ❌ (opt-out blocks) |
| ❌ | ❌ | ✅ | ❌ | ❌ |
| ✅ | ❌ | any | any | ✅ (forced) |
| any | ✅ | any | any | ❌ (exclude wins) |
AI optimizer active (aiEnabled)
Orthogonal to the three controls above. Not a workflow gate.
Controls whether AI actions inside the workflows that process this campaign run. When disabled:
- Linked workflows still process the campaign.
- Actions requiring AI (bid recommendations, keyword generation, harvest…) are skipped.
- Non-AI actions (state changes, reports, etc.) continue to run.
Overlap warning between workflows
When the same campaign is forced into two or more workflows (it appears in the Force list of several — i.e. in linkedWorkflowDefinitionIds of ≥2 workflows), the workflow configuration shows an automatic warning, since their actions may conflict.
Where you see it — in Processes → Workflows → a workflow → Variables tab:
- A banner stating how many of that workflow's campaigns are also optimized by other workflows, with the detail of which campaigns and which workflows.
- A warning icon next to each campaign in the selection table, with a tooltip naming the other workflows.
Notes:
- Paused workflows also count and are labeled as such in the warning.
- The warning is informational only; it does not resolve the conflict automatically. Adjust Force / Exclude to remove the overlap.
- It only detects overlaps from manual links (Force), not those derived from the workflow's own filter.
"Take every campaign with a target ACOS" switch collision: if two or more Smart Campaigns workflows leave that switch enabled, they all grab the same campaigns and will overlap. In addition to the banner above, this case is flagged in two more places:
- When creating a workflow from a template (in Processes → Workflows → Available templates): if you leave the switch enabled and there is already another active workflow with it enabled.
- In the workflows list: a ⚠️ icon next to the status of every workflow that overlaps with another, whether through this switch or through manual campaign selection.
Workflow status
A read-only block, to give you context while adjusting the above:
| Field | What it is |
|---|---|
| Avg product price | The average ticket the optimizer uses to turn your objective into bids |
| Warming until | If the campaign is in its warming period, until when. While it lasts, the workflow is more cautious about lowering bids |
| Last optimization | When the workflow last went through this campaign |
Editing several campaigns at once
Selecting several campaigns in the table opens the same panel in bulk mode. Fields whose value differs across the selected campaigns show (multiple): whatever you leave like that is left untouched, only what you change is applied. On save, Epinium tells you how many of the selected campaigns were updated.
Common use cases
"Only Smart Campaigns Optimizer should touch this campaign, no one else"
- Force:
Smart Campaigns Optimizer - Only process forced: ON
"I don't want anyone touching this campaign right now"
- Force: empty
- Only process forced: ON
"Pause the AI optimizer but keep workflows running for reporting"
- AI optimizer active: OFF
- Everything else unchanged
"I want a workflow that wouldn't normally pick this campaign to act on it"
- Force: the desired workflow
- (Only process forced: optional, depending on whether you still want others to run)
"This is a pilot campaign — veto 'High ACOS campaigns to review'"
- Exclude:
High ACOS campaigns to review - Everything else keeps acting per their own filter
Persistence
All changes are stored in the campaign document's optimizationConfig field in Mongo:
optimizationConfig: {
linkedWorkflowDefinitionIds: [ObjectId, ...], // Force
excludedWorkflowDefinitionIds: [ObjectId, ...], // Exclude
workflowsOptOut: boolean, // Only process forced
aiEnabled: boolean, // AI optimizer active
// ... rest of the config
}The IDs point to workflow-definitions._id.