How to hide Cash on Delivery for new customers on Shopify
Short answer: Only returning customers can pay cash on delivery: hide it for guests and customers without a previous order. In Checkpost, choose “Hide cash on delivery for first orders” from Templates, adjust the values, test it, then save and enable the rule.
The problem
Fake or impulse COD orders usually come from first-time buyers. Every refused parcel costs shipping both ways, so many stores only offer cash on delivery to customers who have already received an order.
How to set it up
- Install Checkpost from the Shopify App Store.
- Open Templates and choose Hide cash on delivery for first orders.
- Match the method name to the one your checkout shows.
- Use Try this rule to test a sample cart, then click Save rule.
The rule
Hide payment methods containing "Cash on Delivery" when all of these conditions is true:
- Customer's previous orders is exactly 0
Shoppers see no message: the methods are changed before checkout shows them.
Rule definition (JSON)
{
"name": "No COD on first orders",
"action": {
"kind": "hide_payment",
"methods": [
"Cash on Delivery"
],
"match": "contains"
},
"match": "all",
"conditions": [
{
"kind": "number",
"field": "customer_order_count",
"op": "eq",
"value": 0
}
]
}Where this rule works
This changes matching payment methods that Shopify exposes to the customization. Payment rules do not have the same express-checkout coverage as cart validation. Shopify limits wallet customization and credit-card customization on non-Plus US/Canada stores. See Shopify's payment compatibility and verify your COD/manual method in a development store. Geographic payment rules currently use the first delivery group's address.
Tips
- Guests count as first-time customers, so they never see COD. Pair this with a login prompt if you want returning guests to qualify.
- Raise the threshold (for example, fewer than 2 previous orders) if one good order isn't enough history for you.
FAQ
Does it count orders from before I installed the app?
Yes. It reads the customer's order count from Shopify, which includes their whole history with your store.
Can I exempt VIP customers?
Yes. Add a customer tag condition with "has none of vip" so tagged customers always keep COD.
Related rules
Hide cash on delivery over $500
Hide the Cash on Delivery payment method when the cart subtotal is over 500, so big orders are paid upfront.
Hide pay-later methods for pre-orders
Hide buy-now-pay-later and cash on delivery when the cart contains pre-order products.
Show bank transfer first for wholesale
Move the bank transfer payment method to the top of the list for customers tagged wholesale.
Cash on delivery in domestic country only
Hide Cash on Delivery when the shipping country is outside India, while leaving prepaid methods available. Replace IN with your supported country.