Effective CPA
What you really pay in ad spend for each order that reaches a customer. It divides spend by delivered orders instead of placed orders, so cancellations and RTO show up as a higher cost.
Equivalent to placed CPA รท (1 โ share of orders lost to cancellation and RTO).
What is effective CPA?
CPA, cost per acquisition, is usually calculated on placed orders: spend divided by the number of purchases. Ad platforms report it this way because the purchase event fires at checkout.
But you didn't acquire a customer if the order was cancelled or came back undelivered. Effective CPA only counts orders that were delivered, so it shows what each real customer actually cost you.
How it's calculated
Take the orders attributed to an ad or campaign, follow each one through to its delivery outcome, and divide spend by the ones that arrived.
| Input | Source | What it gives us |
|---|---|---|
| spend | Ad platforms | Numerator |
| attributed_orders | Your attribution model | Orders that belong to the campaign |
| delivery_status | Shopify and shipping partners, by order ID | Which of those orders were delivered |
Worked examples
Example 1: From โน400 to โน560
An illustrative campaign spends โน4,00,000 and drives 1,000 orders. All of them have now resolved.
| Stage | Orders | Lost at this stage | Spend per order |
|---|---|---|---|
| Placed | 1,000 | n/a | โน400 |
| Shipped | 980 | 20 cancelled | โน408 |
| Delivered | 714 | 266 RTO | โน560 |
- 28.6% lost286 of the 1,000 orders never became customers: 20 cancelled and 266 sent back.
- +40%The platform says โน400 per order. Each delivered customer actually cost โน560, 40% more.
Example 2: The cheaper ad set costs more
Two illustrative ad sets in the same campaign, each with 500 placed orders.
Using effective CPA to decide
Set your CPA target on delivered orders, then compare campaigns on effective CPA. Treat these rows as starting points.
Common mistakes
- Bidding to placed CPAA cost cap set on placed orders quietly rewards the campaigns with the most RTO.
- Subtracting the loss rateโน400 with 29% lost isn't โน516. Divide by what's left: โน400 รท 0.714 = โน560.
- Ignoring the RTO shipping costEffective CPA covers ad spend only. Two-way shipping on RTO is extra, and belongs in CM1.
Frequently asked questions
Is effective CPA the same as CAC?
Not exactly. Effective CPA counts every delivered order, including repeat buyers. New customer CAC only counts first-time customers, so it's usually higher.
How do I use it before orders have resolved?
Estimate the in-transit orders with that campaign's historical loss rate, then replace the estimate with actual outcomes as shipments are delivered or returned.
Should returns count as lost orders too?
For a stricter view, yes. Many brands keep effective CPA to cancellations and RTO, since those are driven by traffic quality, and track returns separately as a product issue.
Related metrics
Know what each real customer costs
BooleanMaths follows every attributed order through to delivery, so cost per order reflects the customers you actually won.
Effective CPA
What you really pay in ad spend for each order that reaches a customer. It divides spend by delivered orders instead of placed orders, so cancellations and RTO show up as a higher cost.
Equivalent to placed CPA รท (1 โ share of orders lost to cancellation and RTO).
What is effective CPA?
CPA, cost per acquisition, is usually calculated on placed orders: spend divided by the number of purchases. Ad platforms report it this way because the purchase event fires at checkout.
But you didn't acquire a customer if the order was cancelled or came back undelivered. Effective CPA only counts orders that were delivered, so it shows what each real customer actually cost you.
How it's calculated
Take the orders attributed to an ad or campaign, follow each one through to its delivery outcome, and divide spend by the ones that arrived.
| Input | Source | What it gives us |
|---|---|---|
| spend | Ad platforms | Numerator |
| attributed_orders | Your attribution model | Orders that belong to the campaign |
| delivery_status | Shopify and shipping partners, by order ID | Which of those orders were delivered |
Worked examples
Example 1: From โน400 to โน560
An illustrative campaign spends โน4,00,000 and drives 1,000 orders. All of them have now resolved.
| Stage | Orders | Lost at this stage | Spend per order |
|---|---|---|---|
| Placed | 1,000 | n/a | โน400 |
| Shipped | 980 | 20 cancelled | โน408 |
| Delivered | 714 | 266 RTO | โน560 |
- 28.6% lost286 of the 1,000 orders never became customers: 20 cancelled and 266 sent back.
- +40%The platform says โน400 per order. Each delivered customer actually cost โน560, 40% more.
Example 2: The cheaper ad set costs more
Two illustrative ad sets in the same campaign, each with 500 placed orders.
Using effective CPA to decide
Set your CPA target on delivered orders, then compare campaigns on effective CPA. Treat these rows as starting points.
Common mistakes
- Bidding to placed CPAA cost cap set on placed orders quietly rewards the campaigns with the most RTO.
- Subtracting the loss rateโน400 with 29% lost isn't โน516. Divide by what's left: โน400 รท 0.714 = โน560.
- Ignoring the RTO shipping costEffective CPA covers ad spend only. Two-way shipping on RTO is extra, and belongs in CM1.
Frequently asked questions
Is effective CPA the same as CAC?
Not exactly. Effective CPA counts every delivered order, including repeat buyers. New customer CAC only counts first-time customers, so it's usually higher.
How do I use it before orders have resolved?
Estimate the in-transit orders with that campaign's historical loss rate, then replace the estimate with actual outcomes as shipments are delivered or returned.
Should returns count as lost orders too?
For a stricter view, yes. Many brands keep effective CPA to cancellations and RTO, since those are driven by traffic quality, and track returns separately as a product issue.
Related metrics
Know what each real customer costs
BooleanMaths follows every attributed order through to delivery, so cost per order reflects the customers you actually won.