Automatic coupons are a Pro feature. On the free version the stored code is kept but isn’t applied. See What the free version does with a stored code.
Setting one
In the editor, the Automatic coupon card has one field: Coupon code. Enter an existing WooCommerce coupon code and it’s applied as though the customer had typed it, so every rule you set on the coupon itself still holds: usage limits, expiry, minimum spend, product restrictions and individual use.A code that no longer exists
The preset still works and the rest of the cart is unaffected. The field’s note says as much: A code that does not exist is ignored, and the link still works. WooCommerce shows its own notice that the coupon couldn’t be applied, just as it would for a code typed by hand. A deleted or expired coupon means the discount doesn’t apply. The link itself shouldn’t fail for a customer who did nothing wrong.The coupon leaves with the preset
The code belongs to the preset that applied it. When the last line of that preset leaves the cart, the code comes off too, however it left: removed by the customer, replaced by another link, or taken out because the cart was emptied. A code the customer entered themselves is theirs, and is left alone. That includes the same code, if they’d already applied it before following the link.Coupons and preset discounts together
The two are separate, and they stack unless you stop them. A preset’s own discount applies to its lines. A coupon then applies on top, to whichever lines allow it. By default preset items refuse coupons, so an automatic coupon on a preset whose items all refuse coupons will apply and discount nothing. Turn on Allow coupon discounts on this item for the lines you want the coupon to reach. See Items.Minimum spend counts preset items
A coupon’s Minimum spend and Maximum spend are checked by WooCommerce against the whole cart, preset lines included, even lines that refuse the coupon. A preset can therefore qualify a coupon that then only discounts the customer’s other items. The same goes for free shipping with a minimum amount. That’s WooCommerce’s rule for every coupon, typed or automatic. If you want preset items to stay out of it, use the coupon’s own Exclude products list as well.Customers entering codes by hand
They work as usual on both versions. This feature only covers codes the preset applies for them.What the free version does with a stored code
It’s kept and not applied. This is the one place where moving to the free version changes what a stored setting does. On free you can’t see or switch off an automatic coupon, so if it still applied it would keep discounting every order that followed the link, with no control anywhere in your admin to stop it. The code stays on the record. Reinstall Pro and it applies again, with nothing to set up. On free the Automatic coupon card is locked with a Pro tag, and Coupon code is shown empty whatever is stored. A code shown there would describe a discount the link doesn’t give.Settings reference
For developers
The code is resolved throughcartpresets_preset_coupon, seeded empty. Shared code never reads the stored setting itself, so with nothing attached a preset applies no coupon. Pro attaches at priority 10 like anyone else. See the hooks reference.