COD returns in Pakistan can make a healthy-looking ROAS misleading. A cash on delivery order is not a sale until the payment is collected. If your Meta dashboard counts an order at checkout, the ROAS it shows can be much higher than the revenue your store actually receives. For ecommerce in Pakistan, this gap matters whenever COD orders are cancelled, refused, or returned to origin.
The fix is to track two numbers: placed-order ROAS for advertising signals and delivered ROAS for business decisions. This article shows the calculation and a practical way to find where orders are being lost.
Placed-order ROAS versus delivered ROAS
Placed-order ROAS divides the value of orders attributed to ads by ad spend. Delivered ROAS divides the value of orders that were delivered and paid for by the same ad spend. The two figures answer different questions. One describes checkout activity. The other is closer to money collected.
That distinction is especially important with cash on delivery. The customer has placed an order, but payment still depends on a successful delivery. Shopify treats COD as a manual payment method and distinguishes unpaid from paid order status. WooCommerce also documents COD as payment on delivery. Your store and courier may use different status names, so reconcile against actual collected payments rather than relying on a single “processing” label.
A simple PKR example
Imagine one campaign produces 100 COD orders at PKR 4,000 each. Ad spend is PKR 100,000. Seventy orders are delivered and paid for; 30 are not. Assume, for this illustration, that every order is attributed to this campaign and the ad platform records the purchase at checkout.
| Measure | Calculation | Result |
|---|---|---|
| Placed order value | 100 × PKR 4,000 | PKR 400,000 |
| Placed-order ROAS | PKR 400,000 ÷ PKR 100,000 | 4.0× |
| Collected revenue | 70 × PKR 4,000 | PKR 280,000 |
| Delivered ROAS | PKR 280,000 ÷ PKR 100,000 | 2.8× |
The 4.0× number is not necessarily a tracking error. It may be a valid report of orders placed. It is simply the wrong number to use on its own when deciding whether the campaign made money. This is an illustrative calculation, not a Pakistan industry benchmark or a CueMatrix client result.
Delivered ROAS still is not profit. Subtract product cost, discounts, packaging, payment charges, delivery and return shipping, and other costs that apply to your store. Our break-even ROAS guide shows how to turn those costs into a minimum target.
Where COD orders disappear
Do not put every failed order in one bucket. The remedy depends on when it was lost.
- Cancelled before dispatch: The customer changed their mind, could not be reached, or found the delivery terms unclear.
- Delivery attempt failed: The address or phone number was wrong, the customer was unavailable, or the courier could not complete the attempt.
- Refused at the door: The buyer did not expect the price, delivery fee, product, or arrival date.
- Returned after delivery: The item was accepted, then returned under the store’s policy. Track refunds separately from failed delivery.
Those examples are possibilities, not a diagnosis of your store. Use courier reason codes, customer messages, and a sample of actual orders to learn which ones apply.
Build a weekly delivered-ROAS report
- Choose one order cohort. Start with orders placed in the same seven-day period. Give delivery outcomes enough time to settle before treating the result as final.
- Join campaign and order data. Keep order ID, order date, attributed campaign, order value, payment method, current status, collected amount, and courier outcome. Remove duplicates and test orders.
- Separate the funnel. Report placed, confirmed, dispatched, delivered and paid, cancelled, returned to origin, and refunded orders. Show the number of orders and rupee value at each step.
- Calculate both ROAS figures. Divide placed-order value and collected attributed revenue by the same campaign spend. State the attribution window and reporting dates so the comparison is fair.
- Check contribution after costs. A campaign can improve delivered ROAS and still miss its margin target if delivery or return costs rise.
Be careful with platform attribution. Ad platforms and your order system will not always agree about which campaign earned a sale. Use a consistent method, document the gap, and avoid presenting either system as a perfect ledger.
Five changes worth testing before increasing spend
- Make the offer plain. Show the full payable amount, delivery charge, expected delivery window, and return terms before checkout. Creative that promises one thing and a product page that says another invites refused orders.
- Verify contact details. Check phone format and address completeness. If confirmation calls or messages are used, measure whether they improve delivered orders enough to justify the extra work.
- Compare by campaign and product. A high return-to-origin rate may come from one ad promise, one product variant, or one delivery region. Do not cut a profitable campaign because the store-wide average looks poor.
- Feed outcomes back into creative. If customers say an item looked larger in the ad, show scale and real product detail. Our Meta creative testing guide explains how to compare distinct concepts fairly.
- Review courier performance. Compare attempt timing, reason codes, and service areas. A change in fulfilment can improve collected revenue without changing the ad account.
Each change is a test, not a guaranteed fix. Compare delivery rate and contribution margin before and after, using similar products and periods where possible.
What should a performance marketing team report?
For a COD store, a useful weekly report should show spend, placed orders, confirmed orders, delivered and paid orders, collected revenue, return-to-origin cost, delivered ROAS, and contribution after variable costs. It should also say what the team learned and what it will change next. A single ROAS screenshot cannot answer whether the store is growing profitably.
If you want help connecting creative, campaign reporting, and actual order outcomes, see CueMatrix’s performance marketing service in Lahore or talk to our team. We can start with the numbers your store already has.
Common questions
What is a good delivered ROAS for an ecommerce store in Pakistan?
There is no universal target. It depends on your gross margin, delivery costs, return rate, discounts, and repeat purchases. Calculate your own break-even level first, then set a target above it.
Should I stop counting COD orders as purchases in Meta?
Not automatically. Checkout events can help you understand demand and campaign delivery. The important step is to keep them distinct from paid, delivered orders in your business reporting. Any change to conversion events should be tested carefully because it can change optimization and historical comparisons.
How often should I update delivered ROAS?
Review the cohort weekly, then revise it as outstanding deliveries settle. Put the cohort dates and the latest update date next to the figure. Otherwise, a campaign with slower deliveries may look worse simply because its orders have not reached customers yet.
Method note: The numeric example is hypothetical. Store-specific decisions require order, courier, payment, and cost data. For payment-status definitions, see Shopify’s order status guidance and WooCommerce’s cash on delivery documentation.

















