Signals Docs
Concepts

COD protection & delayed purchase

Cross-courier fraud scoring and purchase-on-delivery for cash-on-delivery stores.

Cash-on-delivery breaks two assumptions that normal tracking makes: that a checkout is a sale, and that every customer is worth shipping to. In a COD market a real share of parcels are refused or returned, costing delivery both ways with no revenue. PixelFox addresses both.

Cross-courier fraud scoring

Every parcel you book through PixelFox' unified courier API is recorded in courier_orders, with its final outcome (delivered, returned, cancelled). Because that history spans Pathao, RedX, Carrybee and Steadfast at once, a customer who refused a parcel on one courier is visible even when their next order goes out on another. A single courier only sees its own deliveries; your pooled history sees all of them.

Score a phone number before shipping:

  • The dashboard shows a customer's delivery history and a risk signal.
  • Plugins can restrict COD or require advance payment for high-risk numbers at checkout.
  • Reporting delivery outcomes back also improves the shared signal for everyone on the higher plans that opt in.

Purchase on delivery

A COD checkout is an intent, not a sale, so firing the Purchase conversion there teaches ad platforms to find people who place COD orders, including the ones who never pay.

Turn on purchase-on-delivery (Settings → Site → Fire purchase on delivery) and the Purchase conversion fires when the courier first confirms the parcel delivered instead of at checkout:

  • It carries the order value, the recipient's hashed phone, name and city, and - joined by phone to the browser session that placed the order - that session's fbp, fbc, email, client IP and user agent. The delivery event scores like the checkout it came from, not like an anonymous hit. See match quality.
  • Open parcels are polled every 30 minutes, so the conversion fires whether or not anyone opens the dashboard.
  • It is sent as a website conversion with Meta's original_event_data naming the checkout time, so the sale is attributed to the ad click that caused it rather than to delivery day - and it still earns a match-quality score, which Meta only reports for web events.
  • The event id is deterministic per parcel, so a re-delivered status update collapses to one conversion, never double-counts.
  • Prepaid orders are unaffected; only COD orders wait for delivery confirmation.

Make sure your storefront does not also fire Purchase at checkout when this is on, or the platforms will count both. See the marketing overview at cancel-protection for the business case.

Why this beats a single-courier tool

Couriers offer their own fraud flags, but each is blind to the others. A merchant's own return history, pooled across every courier they use, catches a repeat refuser regardless of which network carried the last parcel, which is exactly the customer a per-courier view misses.

On this page