Cash on delivery can increase conversion in markets where shoppers prefer to pay at the door, but it also creates operational exposure. Refused deliveries, unreachable customers, fake contact details, and repeat return-to-origin orders can consume shipping and handling costs without generating collected revenue.

In this guide, “high risk” means a merchant-authored operational condition—not a CartBlock score or a judgment about a customer. CartBlock does not consume Shopify post-order fraud recommendations as checkout inputs. Define observable patterns, use narrow rules, and keep manual review for ambiguous cases.

Start with a written COD risk policy

Avoid a vague rule called “high risk.” Define the exact invalid states your team has evidence for, such as:

  • COD selected for a destination the carrier does not support;
  • COD selected when cart value exceeds an insured exposure limit;
  • repeated purchase attempts from a customer who has reached a documented frequency limit;
  • an item or collection that is prepaid-only;
  • a delivery area with an established COD restriction; or
  • a cart pattern that warrants a CAPTCHA challenge rather than an outright block.

CartBlock enforces configured conditions. It does not determine whether a person is dishonest, replace Shopify’s fraud analysis, or guarantee that cash will be collected.

Use a layered control model

Layer Purpose
Shopify fraud analysis Review supported online credit-card order signals after an order is placed; it is not a COD checkout score
CartBlock validation Enforce explicit cart, customer, location, frequency, payment, or shipping policies
Dynamic CAPTCHA Add friction to selected suspicious checkout patterns
Manual payment capture and review Hold eligible online-payment orders for review before capture or fulfillment
Operations process Verify COD orders and delay fulfillment when policy requires it

COD is a manual payment method, so card-fraud signals and payment authorization behavior may differ from online payments. Build the process around the actual loss pattern.

How to Block High-Risk Cash on Delivery Orders with CartBlock

CartBlock documented selected-payment-method workflow requires Shopify Plus and checkout synchronization. Verify eligibility in the installed app and CartBlock Shopify App Store listing before launch.

Example policy:

Require prepaid payment when Cash on Delivery is selected AND the delivery country is outside the supported COD market.

1. Create an Advanced Validation

Open CartBlock from Shopify admin and create a validation that supports multiple conditions. Give it a specific name, such as COD — unsupported delivery countries.

2. Add the selected-payment-method condition

Choose the selected payment method input and match the exact Cash on Delivery label configured under Shopify payments. Manual payment labels can vary between stores and markets.

3. Add one evidence-based risk condition

Choose the second condition that reflects the written policy. Examples include:

  • delivery country or postal code is outside the supported COD area;
  • cart contains a prepaid-only product or collection;
  • cart value exceeds the documented COD exposure limit; or
  • supported purchase-frequency condition has been exceeded.

Create separate rules when the customer message or remediation differs. A collection of smaller, clearly named rules is often safer than one opaque formula.

4. Join the conditions with AND

The invalid state should require COD and the specific risk condition. Using OR could block prepaid orders that match the location or product condition, or block every COD order regardless of eligibility.

5. Write a neutral message

For example:

Cash on Delivery is not available for this order. Choose an online payment method to continue.

Do not tell a shopper they are fraudulent or expose internal thresholds. Provide a valid next step.

6. Consider a CAPTCHA for uncertain patterns

When the pattern suggests automation rather than a definite policy violation, a smart dynamic CAPTCHA may be more proportionate than a hard block. Challenge only the selected checkout pattern to reduce friction for ordinary customers.

7. Enable required checkout synchronization

If the rule depends on a selected payment method, follow CartBlock’s current checkout app-block instructions and enable the documented payment-method synchronization setting. Test that the rule updates when a shopper changes from COD to prepaid.

Test allowed and blocked paths

Create a matrix that covers:

  1. COD plus the restricted condition — blocked.
  2. COD without the restricted condition — allowed.
  3. Prepaid payment plus the restricted condition — allowed unless another policy applies.
  4. Shopper changes from COD to prepaid after the message — validation clears.
  5. Boundary values and addresses — match the written policy.
  6. Each live COD label, market, and checkout route — consistent behavior.
  7. Guest and signed-in checkout — customer conditions behave as expected.
  8. CAPTCHA pass and fail paths — usable and accessible.

Review logs and support contacts after launch. Measure refused delivery and return-to-origin rates, but also watch conversion and false positives.

Operational safeguards beyond checkout

A checkout rule is only one part of COD loss prevention. Consider:

  • verifying high-value COD orders by SMS or phone before fulfillment;
  • confirming address completeness and serviceability;
  • recording repeat refused-delivery behavior under an approved privacy policy;
  • waiting for verification before buying a shipping label;
  • limiting COD to carriers and regions with reliable remittance; and
  • reviewing the rules on a fixed schedule.

Comply with applicable privacy, consumer-protection, and anti-discrimination requirements. Location or customer-history policies should be tied to legitimate operational needs and applied consistently.

Frequently asked questions

Can Shopify identify a high-risk COD order automatically?

Shopify fraud analysis primarily evaluates online credit-card orders. COD does not create the same authorization data, and CartBlock does not turn that post-order recommendation into a checkout score. Use explicit operational rules and verification.

Can CartBlock hide Cash on Delivery?

The selected-payment-method validation workflow blocks checkout after a matching method is selected; it does not necessarily remove COD from the list. Use a payment customization if the method must be hidden.

Should I block every high-value COD order?

Only if a documented threshold is justified by delivery, insurance, or collection exposure. A high value alone is not proof of fraud. A prepaid alternative or manual verification may be more appropriate.

Does this require Shopify Plus?

CartBlock’s documented selected-payment-method setup may require Shopify Plus and checkout app-block synchronization. Verify current plan requirements in the app and its live documentation.

Reduce COD exposure with explainable rules

The best COD controls are narrow and auditable. Match Cash on Delivery with one observable policy condition, use AND logic, offer a prepaid path, and reserve fraud judgments for Shopify’s risk tools and human review.

Check CartBlock current payment, location, product, frequency, and CAPTCHA conditions, confirm Shopify Plus eligibility, and test each COD rule before launch.