Cash on delivery costs you most when the parcel comes back, so it is worth offering it only to shoppers you already trust. Open Shopify Checkout → Rules → Add rule and go to the Customers tab. Every condition here reads the customer account, so it only bites on shoppers who are signed in. A guest carries no tags, no email on file and no order history.
Under Condition: Customer registration, tick Hide if customer is not registered. There is nothing to fill in. It takes Cash on Delivery away from anyone who is not signed in, which makes it the strongest of the four conditions and the bluntest.
Under Condition: Customer tags, open Hide based on customer tags and type the tags you give shoppers who have refused parcels before. The help text reads "Enter values separated by comma or semicolon", and Add turns them into tags. Tags match exactly, and one match is enough. Show based on customer tags is the mirror image, for a wholesale or VIP group.
Under Condition: Customer email addresses, Hide based on customer emails works the same way, and the field only accepts complete addresses. The check looks for your entry inside the customer address, so a longer address containing it is caught as well.
Under Condition: Customer order count, Hide based on order count gives you a Min and a Max, and both ends count as inside the range. An empty Min starts at zero, an empty Max has no upper end. So Max 2 hides COD for anyone with two orders or fewer, first time buyers included.
The Shopify save bar appears at the top of the page as soon as you change something. Press Save there. Watch one thing: every condition you switch on has to be met at the same time, on the same tab or across tabs. Four conditions in one rule means all four must be true, so if you want them to act independently, that is four rules. Country and province are the one exception, so if you add a Location condition to this rule, either of those two satisfies it.
On Free and Basic only one rule is used, so an existing cart value rule leaves this one ignored until you upgrade.
Keep Hide and Show conditions in separate rules. A satisfied Show condition always keeps COD visible.
Guests slipping through? The COD form has its own block lists for emails, phones and IP addresses, and those work without an account.
Stuck on any of this? Open the chat in the bottom right corner of the app and we will help you set it up.