bKash, Nagad & Fake Orders: Tracking Challenges for Bangladeshi E-commerce

July 10, 2026 · 2 min read

Bangladeshi e-commerce has a tracking problem that Western tutorials never mention: cash on delivery.

The fake-order poison

When 30–60% of orders are COD and a chunk of those cancel or bounce, sending a Purchase event at checkout means you're training Facebook's algorithm on orders that never generated revenue. The algorithm then optimizes for people who place orders, not people who pay.

Symptoms you may recognize:

  • ROAS looks fine in Ads Manager but the bank account disagrees
  • Growing share of "ordered and vanished" customers
  • Ad sets that scale beautifully for two days, then collapse

The fix: delayed purchase events

Instead of firing Purchase at checkout:

  1. Fire InitiateCheckout or a custom PlaceOrder event at checkout time.
  2. Hold the real Purchase event until the order is confirmed (phone verification) or delivered/paid.
  3. Send the Purchase server-side with the original click IDs, so attribution still works days later.

This is impossible with a plain browser pixel — the customer is long gone by delivery day. But a server-side pipeline can accept the Purchase event from your order-management system at any time and still attribute it correctly using the stored click ID and hashed customer data.

Payment methods matter too

If you sell to Bangladeshi customers, your tracking provider should be as local as your payment stack. Paying for tracking infrastructure with bKash or Nagad — instead of hunting for an international credit card — removes one more barrier to doing this properly.

The takeaway: track confirmed money, not button clicks, and your ad algorithms will find you customers who actually pay.

Stop losing conversions to ad blockers

Set up server-side tracking in 5 minutes. 15,000 free events/month.

Start Free

Ready to improve your tracking?

Start with 15,000 free events per month. No credit card required.