Skip to main content

How to Limit COD Orders Per Customer Using Automations (30-Day Example)

Repeat COD orders with no intention to pay add up fast. Use Order Rate Limit to automatically block COD for customers who cross a set number of COD orders within any time window you define.

Written by Swapnil Sangal
Updated this week

Some customers place COD orders repeatedly with no intention of accepting delivery. Over time this adds up to significant losses.

The Order Rate Limit condition lets you cap how many COD orders a single customer can place within a time window you define. Once they hit that limit, COD is no longer available to them at checkout until the window resets.


What Is the Order Rate Limit Condition?

Order Rate Limit is a customer eligibility condition you apply inside an automation. Instead of blocking COD based on what's in the cart, it blocks COD based on the customer's past order behaviour.

You set two things: a maximum number of COD orders, and a look back window in days.

For example, you could set it to block COD for any customer who has placed more than 3 COD orders in the last 30 days. Or you could go broader, say 5 orders in the last 60 days, if you want to be less restrictive. Both the order count and the time window are fully up to you.

This is especially useful for catching repeat COD abusers without having to manually review orders or maintain blocklists.


How Do I Set This Up?

Step 1: Go to the Automations page and click the New Automation button.

Image

Step 2: Select Start Blank to build a custom automation.

Image

Step 3: Choose Block Payment as your action.

Step 4: Search for and select Cash on Delivery from the payment methods list.

Step 5: Under Customer Eligibility, find and select Order Rate Limit.

Step 6: Set your limit. For example:

  • 3 COD orders in the last 30 days for tighter control

  • 5 COD orders in the last 60 days for a broader window

  • Any combination that fits your business

Let us set the limit to only allow 3 COD orders per customer within a 30-day window.

Step 7: Choose which channels this automation applies to.

Image

Step 8: Set a start date and an optional end date for how long the automation should run.

Image

Step 9: Give it a clear title, for example: "Block cod based using order rate limit."

Step 10: Find your automation under the Payment Method section on the Automations page and toggle it on to activate it.

πŸ’‘ The time window is rolling, not calendar-based. A customer's order history is always checked against the exact number of days you've set, counting backwards from the current date.


Frequently Asked Questions

What is the Order Rate Limit condition? It's a customer eligibility filter that tracks how many COD orders a customer has placed within a time window you define. When they cross the limit you've set, COD is blocked for them at checkout.

Can I change the number of days in the window? Yes, the time window is fully flexible. You can set it to 30 days, 60 days, or any number that makes sense for your business. The same goes for the order count limit.

How is this different from blocking COD based on cart value or quantity? Cart value and quantity conditions look at what's in the current cart. Order Rate Limit looks at the customer's history over time. It's designed to catch repeat abusers rather than one-off high-risk orders. You can run both types of automations at the same time.

What happens when the window resets? Once a customer's COD order count drops below your set limit within the window, COD becomes available to them again automatically. You don't need to do anything manually.

The automation is saved but COD is still showing for repeat customers. What's wrong? The automation is probably not activated yet. Go back to the Automations page and make sure the toggle is switched on. Saving and activating are two separate steps.

Can I combine Order Rate Limit with other conditions? Yes. You can stack it with cart value, cart quantity, customer segments, or pincode RTO risk for more precise control over who gets blocked.

Did this answer your question?