How to block COD for specific customers with tags

Updated · 5 min read · Trifid Media LLC

To stop one customer from choosing Cash on Delivery, add a tag such as cod-refused to their customer profile in Shopify, then use a payment rule that hides COD for customers with that tag. They can still buy from you and pay online. There is one limit to plan around: the rule can only read the tag when Shopify knows who is checking out. That means a signed-in customer, or a draft order you assigned to them. A shopper who checks out as a guest carries no tags, even if they have refused orders before.

Why block COD for one customer?

When a customer refuses COD deliveries again and again, each refusal costs you the trip out and the trip back. Blocking COD for that customer is gentler than blocking them from your store: they can still order with a card, Apple Pay or any other online method you offer.

Before you tag anyone, check that the pattern is real. How to spot repeat refusers in your Shopify orders explains what to look for.

How do you add a tag to a customer in Shopify?

For one customer:

  1. From your Shopify admin, go to Customers and open the customer's profile.
  2. In the Tags section, type cod-refused, or pick it from the list once you have used it.
  3. Click Save.

For several customers at once (on desktop):

  1. From your Shopify admin, go to Customers.
  2. Select the customers you want to tag.
  3. Click the horizontal menu icon, then click Add tags.
  4. Choose the tag and click Save.

Shopify's help pages say a few things about tags that matter here:

  • Tags aren't case sensitive, so COD-Refused and cod-refused are the same tag.
  • Use only letters, numbers and hyphens. Other characters can make items drop out of search results.
  • A customer can have up to 250 tags, so a COD tag won't crowd out the ones you already use.

Which tag should you use: cod-refused or cod-blocked?

Using two tags lets you remember why a customer lost COD:

TagUse it when
cod-refusedThe customer refused or didn't accept a COD delivery.
cod-blockedYou blocked COD for another reason, for example a fake order.

Khaleeji COD hides COD for either tag, and its refuser scan suggests customers to tag cod-refused (nothing is tagged until you confirm). If you use another tool, check which tag names it reads before you start tagging.

Why can't a tag rule catch guest checkouts?

A payment rule runs while the shopper is on your checkout. At that moment it can only see a customer's tags if the checkout is linked to a customer record. That happens in two cases:

  • The shopper is signed in to their customer account.
  • You created a draft order, assigned it to the customer, and sent them its checkout link.

In a guest checkout, no customer record is attached while the shopper chooses how to pay, so COD still shows. Don't count on the shopper typing the same email or phone number as a tagged customer to change that: test it on your own store before you rely on it. Shopify does create or update a customer profile once the order is placed, which is why you can tag a guest afterwards. The tag then helps only on a later checkout where that customer is identified.

You can narrow this gap in two ways:

  • Pair the tag with rules that don't need to know who the customer is. A cart limit applies to everyone (how to hide COD above a cart total). A first-order rule that treats every guest as a new customer also covers a repeat refuser who checks out as a guest with a large cart (how to hide COD on large first orders).
  • Give regular customers a reason to sign in. Shopify fills in a signed-in customer's saved details at checkout, so they type less.

How do you see everyone you have blocked?

Shopify filters customers by tag through customer segments. Go to Customers, filter by Tagged with, enter cod-refused, and save the filter as a segment. Do the same for cod-blocked. You now have a list to review, without searching customer by customer.

When should you remove the tag?

One refused delivery doesn't always mean a bad customer. The courier may have called a wrong number, the address may have been incomplete, or the customer may have been travelling. Some habits that keep the list fair:

  • Add a note to the customer's profile saying why and when you added the tag. In Shopify, customer notes are visible to your staff only.
  • Wait for a pattern before tagging (for example, two refusals), unless the order was clearly fake.
  • Look through your tagged customers every few months. If someone has paid online without problems since, consider removing the tag.
  • Explain the rule in your COD policy, so a customer who asks why COD is missing gets a clear answer.

To remove a tag, open the customer's profile, hover over the tag, click the x, and click Save. COD shows for them again at their next checkout, unless another rule hides it.

How do you test a customer tag rule?

  1. Create a test customer and tag them cod-refused.
  2. Create a draft order for that customer and open its checkout link.
  3. Go to the payment step. COD should be missing, and your online methods should still be there.
  4. Remove the tag, open the link again in a fresh browser window, and check that COD is back.

Test on the checkout link, not inside the admin. Shopify doesn't run payment customizations when you collect payment for a draft order in the admin, so what you see there doesn't reflect your rules. The full method is in how to test checkout payment rules with draft orders.

Sources

  1. Shopify Help Center: Creating and using tags
  2. Shopify Help Center: Managing customers
  3. Shopify Help Center: Customer accounts
  4. Shopify.dev: Payment customization Function API

Checked on the date above. Shopify and courier settings change, so check the source if something looks different.

Stop paying shipping twice for refused orders

Khaleeji COD is coming soon to the Shopify App Store. Email us and we'll tell you the day it's live.

Coming soon to the Shopify App Store · Email: