ACoS does not spike in a day. It creeps. A campaign running at 28 percent in early spring can drift to 34, then 41, then 47 percent over several weeks without any single day looking alarming enough to warrant a manual review. By the time the monthly report surfaces the number, a full billing cycle of margin has already gone out the door.
Harbor Kitchen discovered this firsthand. Three weeks of quiet ACoS drift, from 28 to 47 percent, across their core sponsored product campaigns. No single morning looked catastrophic. No alert fired. The end-of-month pull made it visible, and by then the damage was done.
The problem is not the drift itself. Drift is manageable when you catch it early. The problem is the detection lag. A month-end report is an expensive way to find out that something started going wrong three weeks ago. Nobody re-reads 40 campaigns every morning hunting for the slow creep. That is exactly the job performance rules exist to do.
Why real-time is the wrong lens
Here is what a real-time rule sees at 10am on a Tuesday: Harbor Kitchen's top sponsored product campaign has spent $40 with zero attributed sales. ACoS looks catastrophic. If an automated rule is watching that number and is configured to fire when ACoS clears a threshold, it panics. It cuts the budget, reduces bids, or pauses the campaign outright, interpreting the absence of attributed sales as failure.
By dinner, attribution has caught up. The $40 that looked stranded now shows seven sales, attributed to clicks that landed this morning. ACoS: 22 percent. The campaign was performing beautifully. The rule just killed it based on data that was never accurate in the first place.
This is not an edge case. It is the structure of how Amazon advertising works. Amazon attributes sales to clicks, and those clicks can convert hours or even days after they happen. A shopper who clicks your ad at 9am might complete the purchase at 6pm. A shopper who clicks on Monday might buy on Wednesday after seeing a sponsored display ad the same morning. The reporting catches up, but the window it takes to catch up is long enough that any read of today's data is, at best, incomplete.
Real-time automation on Amazon PPC is not aggressive. It is reckless. It punishes campaigns for sales that have not landed in the report yet.
Reading settled data on purpose
Off Hours performance rules evaluate once daily, at 6am in the campaign's local timezone. By that point, the prior day's data has had 12 or more hours to settle. Attribution for the previous evening's purchases has caught up. The numbers you are reading are complete.
The timing is deliberate. Amazon's reporting documentation notes that data is typically finalized within 12 hours after the end of the day it covers. Evaluating at 6am against yesterday means you are always reading a full picture, not a work in progress.
This is why performance rules run on a separate daily schedule rather than the same 15-minute engine that handles dayparting, budget rules, and event rules. Frequent evaluation of incomplete data produces exactly the phantom-problem reaction described above. Once daily, against settled data, is not a limitation. It is the correct answer to how Amazon attribution actually works.
The cost of waiting for complete data is one day of delay between a problem emerging and a rule catching it. For most ACoS and spend patterns, that is a fully acceptable tradeoff. The cost of acting on incomplete data is pausing a healthy campaign at the worst possible moment. That tradeoff is not acceptable at all.
Baseline-relative, not dollar-absolute
A fixed ACoS threshold treats every campaign identically. Set "alert me when ACoS exceeds 40 percent" and you catch one campaign five weeks into drift while ignoring another that has been running at 38 percent its entire life and is still healthy.
Performance rules in Off Hours compare each campaign against its own established baseline. If a campaign has been running at an average of 29 percent ACoS and yesterday came in at 44 percent, that is a 52 percent jump above its own normal. That fires. If a campaign has been running at 38 percent and yesterday came in at 40 percent, it is within range of its own behavior. That does not.
The same logic applies to spend. A campaign that normally runs $85 a day spiking to $170 is a different signal than one that routinely spends $140 reaching $170. The absolute dollar figure is less meaningful than the deviation from what is normal for that specific campaign.
This baseline approach also means legitimate growth does not trigger false alarms. A campaign that expands spend as its performance improves does not start firing alerts just because the absolute numbers crossed a line you drew months ago. The baseline adjusts with the campaign over time. The rule catches drift. It does not flag growth.
For the broader framing on what healthy numbers look like, see what a good ACoS looks like by category and how ACoS vs TACoS affects where you set the ceiling.
Three actions, one ladder
Performance rules do not prescribe a single response. You configure the action when you build the rule, and the options are graduated by consequence.
The right sequence for a new rule is almost always alert first. Run it for one to two weeks. Watch what it flags and whether the triggers match your judgment. When you trust the logic, promote it to budget adjustment. Reserve pause for rules that have been validated over time and where you have made a conscious decision that running the campaign carries more risk than stopping it.
Every action is logged. Recommendations reviewed and dismissed, budget cuts applied by a rule, manual overrides that told the rule it was wrong. Nothing happens silently, and the audit trail is permanent. If a rule makes a change you did not expect, the log shows exactly what triggered it, when it evaluated, and what it changed.
Spend-spike rules: your own normal is the ceiling
A spend-spike rule is a specific type of performance rule that monitors a campaign's daily spend against its own recent run rate rather than a fixed dollar ceiling. It fires when spend jumps significantly above the campaign's established pattern, which can happen when bid competition increases, when a product gains unexpected search volume, or when a broad-match keyword starts pulling traffic it was never targeted for.
Parkway Home set up spend-spike rules across their catalog campaigns after a seasonal keyword started pulling in high-volume, low-intent traffic during back-to-school. Campaign spend doubled in three days without a corresponding improvement in ACoS or conversion rate. The spend-spike rule surfaced a recommendation on day two, before the pattern became a meaningful budget problem.
The rule was not watching a fixed ceiling. It was watching Parkway Home's own established run rate. Which meant it did not fire during a prior peak week when spend legitimately increased and performance held. It fired when the ratio broke: spend up, performance flat. That is the distinction a baseline-relative rule makes that a fixed threshold cannot.
Spend alerts run under every rule, zero setup.
Off Hours includes always-on spend monitoring on every account at no extra cost. For lighter-weight watching without building a full performance rule, see how spend alerts work.
Start free trial →Where recommendations land
When a performance rule generates an alert, it appears in the Off Hours dashboard under the Recommendations tab. Each recommendation shows the campaign name, the metric that triggered it, yesterday's value compared to the established baseline, and the action the rule is configured to take.
If you have connected Slack, recommendations also post to a channel of your choosing. The format is brief: campaign name, what fired, what the rule is set to do. You can act directly from the dashboard or let Slack serve as a morning digest of anything that crossed a threshold overnight.
For accounts managing multiple profiles or clients, recommendations are scoped to the profile they belong to. You see what is relevant without noise from other accounts running alongside it.
Setting your first performance rule
The lowest-risk starting point is an ACoS alert on your largest campaign by spend. Set the threshold at 30 to 40 percent above that campaign's current average ACoS, configure the action as alert only, and let it run for two weeks. If it fires when you would expect it to fire and stays quiet when you would expect silence, the logic is working. At that point you have the data to decide whether to expand coverage or promote the rule to a budget adjustment.
A spend-spike rule is a close second. Pick a campaign where budget overruns have historically been a problem and configure a rule that alerts when daily spend exceeds 60 to 70 percent above recent average. Again, alert only to start. Watch before promoting.
Performance rules that pause campaigns should be reserved for situations where the trigger logic has been validated across several weeks and where a deliberate decision has been made that the cost of letting the campaign run outweighs the cost of a missed day. The alert and budget-adjustment options exist precisely because pausing carries consequences that a recommendation does not.
For the root-cause side of reducing ACoS, performance rules catch the drift. The underlying issue still needs diagnosis when a rule surfaces it. See the full Off Hours performance rules feature page for configuration details and what each action looks like inside the dashboard. Performance rules are one of the four rule types in Off Hours, each covering a different dimension of account management. If you want to set one up without filling in every field manually, the AI rule builder can configure a performance rule from a plain-English description and shows you what it built before anything runs.
Frequently asked
What are performance rules in Amazon Ads?
Why does Off Hours use daily data instead of real-time?
What actions can a performance rule take?
What is a spend-spike rule?
Off Hours performance rules evaluate once daily against settled prior-day data, compare each campaign against its own baseline, and respond in graduated steps from alert to budget adjustment to pause. Start a free 14-day trial, no credit card required.