I believe I have that set up and it does not work for my desired scenario. I set a rule in shipping that shipping is free for orders over $150. That’s a general rule I want for all orders. But when a customer inputs a discount code the system looks at the resulting balance to decide the shipping rate, not the total before the discount is applied. Thus, in many cases, the balance will drop below the free shipping threshhold and then free shipping will no longer apply.
You give with one hand but take with the other - not a good customer experience.
In my particular scenario, I have a partner that sells my products for me, issuing my one off promo codes for redemption in my store. Customers thus often spend $200 or more and still have to pay for shipping despite the site promising free shipping for orders over $150. I realise I should just not support this scenario but I can’t think of a better way other than closing down this channel.