ACTIVE rule runs.
Final run order
A premium purchase receives base earning plus the premium promotional credit. The premium rule has a per-rule budget. Budget exhaustion skips that rule and lets evaluation continue to the fallback and later sets.
Use semantic positions
Insert a new set before an existing one without choosing a numeric order:rule_sets array and each nested rules array carry the final order. Do not send temporary numeric order values.
Keep mutually exclusive rates inside one set
premium_bonus skips only standard_bonus after a successful match. Base earning and tracking still run in their sets.
Test the snapshot dependency
The tracking set incrementspurchase_count, then checks whether the participant reached ten purchases:
8, the event ends at 9 and the tag does not apply. When it starts at 9, the tag applies and the event ends at 10. Moving the second rule to a later set would not make it see the same-event increment.
Ground and diagnose a typo
Before publish, compare the draft’sevent.type, event.amount, and event.segment references with observed shapes. If the draft says event.segmnet, clause diagnostics show a missing field during simulation, while the observed-shape inventory shows segment in real traffic.
Fix the field name before publishing. Follow Managing rule configuration to analyze, test, preview, apply, and verify the draft.
Suspend, reactivate, and roll back
A suspended rule stays in its set and keeps its position. Keep its existingid in a complete draft and switch status between SUSPENDED and ACTIVE. Omitting the rule archives it.
Rollback creates a new forward revision. Preview the historical target, review the inverse diff and warnings, then apply it through the standard configuration apply endpoint. Past revisions stay unchanged.