Product page details that cut COD refusals

Updated · 5 min read · Trifid Media LLC

A product page can't stop every COD refusal, but it can remove the ones that come from surprise. Show the full price including delivery, say when the order will arrive in words, link your returns policy, use real photos of the real product, and add a size guide where size matters. Each of these closes a gap between what the shopper expects when they order and what happens when the courier arrives.

Which product page details prevent which refusals?

Detail on the pageThe refusal it helps prevent
Full price, with delivery and VAT"The courier asked for more than I expected"
Delivery time in wordsThe shopper waits, changes their mind or buys elsewhere
Returns policy, one click awayRefusing at the door looks easier than returning
Real photos and videoThe shopper had a different product in mind
Size guideThe shopper ordered the wrong size and noticed later
How COD works in your storeNo cash ready, or a COD fee they didn't see

For the full list of reasons shoppers refuse, see why COD orders get refused at the door.

Does the page show the price the courier will collect?

The number on the product page should be close to the number the courier asks for. Three things push them apart: tax added at checkout, a delivery charge, and a COD fee.

Tax. If you show prices with VAT included, go to Settings > Taxes and duties, select Include sales tax in product price and shipping rate, and click Save. Shopify lets you set tax inclusion for each market you sell to. At checkout, Shopify shows the included tax next to the total.

Delivery. If you have a shipping policy, free Shopify themes downloaded after November 2018 link to it on product pages. A link is easy to miss, so also write the delivery price in a short line near the price or the buy button:

COD fee. If you charge extra for cash on delivery, say so on the product page, not only at checkout. If you don't, say that too: "No extra charge for cash on delivery."

Does it say when the order will arrive, in words?

Every day between ordering and delivery is a day for the shopper to change their mind. Shopify's transit time feature, which shows a delivery estimate at checkout, is only available for fulfillment locations in the United States, Canada, France, Germany, Italy, Spain, Australia and the United Kingdom (checked 26 October 2026). A store shipping from the GCC has to write the estimate itself.

  • Put a line on the product page, for example "Delivered in 1 to 3 working days in the UAE, 3 to 5 working days to other GCC countries".
  • Add your daily cut-off if you have one: "Order before 2 pm for dispatch today."
  • Use the same wording in your shipping rate names and order confirmation. See shipping zones and rates for the GCC on Shopify.

Only promise what your courier usually achieves. A promise you miss gives the shopper a reason to refuse.

Is your returns policy one click away?

A shopper who has doubts after ordering has two choices: accept the parcel and return it, or refuse it at the door. If returning looks hard or unclear, refusing looks easier, and a refusal costs you delivery both ways.

  1. Write your policy in Settings > Policies, under Written policies. Shopify offers return and refund, shipping, privacy, terms of service and contact policies, among others. The return terms in your return and refund policy come from your return rules.
  2. Shopify links your policies in the checkout footer, and the return policy link also appears on the order review page.
  3. On the product page, add one plain line and a link, for example "Wrong size? Exchange within 7 days." Use your real terms.

If your courier lets shoppers check the parcel before paying, say so. If it doesn't, say that too, so nobody refuses because they expected to open the box first.

Do your photos show the real product?

Shopify's product media can include images, videos and 3D models. To show videos or 3D models, you need a theme that supports them, or changes to your theme.

  • Use photos of the item you ship. Supplier photos that look better than the product invite "this isn't what I ordered".
  • Show the size. A photo in a hand, on a person or next to a familiar object answers "how big is it?" better than numbers alone.
  • Give each colour its own image, added to its variant, so the picture can change when the shopper picks a colour.
  • Show what's in the box. If the photo shows a set of two but the price is for one, or the charger is sold separately, show and say it.

Does the shopper know which size to pick?

A shopper who realises after ordering that the size is wrong has a reason to refuse the parcel. Put a size guide next to the size selector, with measurements in centimetres and a note on fit ("runs small: order one size up").

Shopify's help has a tutorial for this, and it uses a size chart as its example: you create a product metafield that refers to a page, create a page with the chart, and add a Pop-up block to a product template in the theme editor, connected to that metafield. Then you pick the page on each product that needs it. It needs a theme that supports dynamic sources. For a vintage theme, Shopify suggests editing the theme code or hiring a Shopify Partner.

Does the page explain how COD works in your store?

One or two lines near the buy button are enough:

  • "Pay cash on delivery. Please have the exact amount ready."
  • Who to contact to change or cancel the order before dispatch, for example your WhatsApp number.
  • A link to your full COD terms. See a COD policy page template for GCC stores.

If some products are online payment only, say so on those product pages so the shopper isn't surprised at the payment step. With Khaleeji COD, you mark such products with the no-cod tag; see how to turn off COD for certain products.

If you sell in Arabic, give the Arabic product page the same details: price with delivery, delivery time, returns line and COD line. Lines you add in the theme editor are translated separately from the product description, so open the Arabic page and check each one.

Which page should you fix first?

Start with the products that get refused most. Export your cancelled COD orders, count refusals per product, and read those product pages as a shopper would. See how to find cancelled COD orders in Shopify admin for the export. Change one detail at a time and compare the refusal rate for that product over the following weeks.

Sources

  1. Shopify Help Center: Store policies
  2. Shopify Help Center: Include taxes in product prices
  3. Shopify Help Center: Transit time for shipping rates
  4. Shopify Help Center: Product media
  5. Shopify Help Center: Adding a pop-up to your product pages with metafields

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 has been submitted to the Shopify App Store and is in review. Email us and we'll tell you the day it's live.

In review for the Shopify App Store · Email: