Why didn't my budget rule change the budget for an ad set?
The most common reason is that the budget is set on the campaign, not on the ad set (campaigns with a centralized budget, known as CBO or Meta's Advantage Campaign Budget). In that case, the ad set has no budget of its own, so the rule has nothing to change there. The fix is to create the rule with Apply rule to set to Campaigns, so the change is made to the campaign budget. Another possibility is the budget limit set in the rule: if the new value would hit the ceiling or floor and end up equal to the current one, the rule makes no change.