Delayed Purchase Tracking for COD & Manual Payments
Stop tracking fake orders and cancelled COD purchases. PixelFly's delayed purchase events fire conversions only when orders are confirmed or delivered—giving Facebook and Google accurate data for better ad optimization.
Works with WooCommerce, custom platforms, and any payment gateway.
The Problem: Tracking COD Orders at Checkout Ruins Your Data
If you're running a WooCommerce store with Cash on Delivery (COD) in Bangladesh or India, you know the pain: 30-50% of COD orders get cancelled or are fake. But standard tracking fires the purchase event immediately at checkout—before you know if the order is real.
This means Facebook and Google think all your orders converted successfully. They optimize for people who place orders (including fake ones), not people who actually pay. Your CPA looks good in the dashboard but your bank account tells a different story.
Fake Orders Counted as Conversions
Competitors, bots, and fake customers place orders with no intention to pay. Standard tracking counts them all.
Facebook Optimizes for Wrong Audience
When Facebook sees "successful" conversions from cancelled orders, it finds more people like them—who also won't pay.
Inflated ROAS, Real Losses
Your reported ROAS looks great but your actual revenue tells a different story. You can't trust your data to make decisions.
Tracking Accuracy: Standard vs Delayed
Tracks every checkout, including cancelled & fake orders
Fires only when order is confirmed/completed
Facebook learns from real paying customers, optimizing for people who actually complete purchases—not just place orders.
How Delayed Purchase Tracking Works
PixelFly stores purchase events when orders are placed, then fires them to Facebook CAPI and GA4 only when you confirm the order is real.
Customer Places Order
Customer completes checkout with COD or manual payment method
Event Stored in Database
PixelFly captures all tracking data (fbp, fbc, gclid, user data) and stores it securely
You Confirm the Order
Change order status to Processing or Completed when payment is received
Purchase Event Fires
PixelFly sends the conversion to Facebook CAPI, GA4, and other platforms
What Gets Captured & Preserved
Facebook Tracking
- fbp (Facebook Pixel ID)
- fbc (Click ID)
- fbclid
- external_id
Google Tracking
- ga_client_id
- gclid (Google Click ID)
- Transaction data
- E-commerce items
User Data
- Email (SHA256 hashed)
- Phone (SHA256 hashed)
- Name, City, Country
- IP & User Agent
Delayed Purchase for All Major Ad Platforms
Send accurate conversion data to every platform that matters for your business.
Meta CAPI
Full Conversions API support with all parameters preserved
Google Analytics 4
Server-side e-commerce tracking with full item data
Google Ads
Enhanced conversions with gclid preservation
TikTok Events API
ttclid tracking for accurate TikTok attribution
Perfect for These Payment Methods
Any payment method where you need to confirm the order before counting it as a real conversion.
Cash on Delivery (COD)
The most common payment method in Bangladesh and South Asia. Fire conversions only when the courier confirms delivery and payment.
- Fire on "Completed" status
- Skip cancelled orders automatically
- Reduce fake order optimization
Bank Transfer / BACS
For manual bank transfers where you need to verify payment before fulfilling. Fire conversion when payment clears.
- Fire on "Processing" status
- Wait for payment confirmation
- Handles pending orders gracefully
bKash / Nagad Manual
When customers pay via bKash/Nagad manually and you verify payment before processing. Perfect for manual MFS payments.
- Verify transaction ID first
- Fire on payment verification
- Skip unverified payments
Check / Cheque Payment
For B2B orders or large purchases paid by cheque. Fire conversion only after the cheque clears.
- Wait for cheque clearance
- Handle bounced cheques
- B2B order support
Invoice / Purchase Order
For wholesale or B2B orders on credit terms. Fire conversion when invoice is paid, not when PO is placed.
- Net-30/60/90 terms support
- Fire on invoice payment
- Accurate B2B attribution
Custom Platforms (API)
Using a custom e-commerce platform? Our API lets you store and fire delayed events from any system.
- REST API endpoint
- Full documentation
- Webhook support
One-Click Setup for WooCommerce COD Stores
Our WooCommerce plugin handles everything automatically. Just install, connect your container, and choose which order statuses should trigger the purchase event. No coding required.
Automatic Cookie Capture
Captures fbp, fbc, gclid, ttclid at checkout and stores them with the order
Configurable Trigger Status
Choose to fire on "Processing", "Completed", or custom statuses
Per-Gateway Settings
Enable delayed tracking only for COD while firing immediately for card payments
Delayed Purchase Events: Enabled
Payment Methods:
✓ Cash on Delivery (COD)
✓ Bank Transfer
✓ Check Payment
Fire on Status:
✓ Processing
✓ Completed
// Events stored at checkout, fired on status change
Frequently Asked Questions About Delayed Purchase Tracking
What is delayed purchase tracking?
Delayed purchase tracking stores the conversion event data when an order is placed, but waits to send it to Facebook/Google until you confirm the order is real (e.g., when it's marked as "Completed" or "Processing"). This prevents fake or cancelled orders from counting as conversions.
How long can events be delayed?
Events can be stored for up to 7 days, which is within Facebook's attribution window. For COD orders in Bangladesh, most deliveries happen within 1-3 days, so this is more than enough time.
Will Facebook/Google still attribute the conversion correctly?
Yes! We preserve all the original tracking data (fbp, fbc, gclid, IP, user agent) and send it with the correct original timestamp. This ensures proper attribution even though the event is sent later.
What if a customer cancels their order?
The purchase event is never fired for cancelled orders. Since we only fire when the order reaches your configured status (Processing/Completed), cancelled orders are automatically excluded from your conversion data.
Can I use delayed tracking for some payment methods and immediate for others?
Yes! Our WooCommerce plugin lets you configure which payment methods use delayed tracking. For example, you can fire immediately for card payments (where payment is confirmed at checkout) and delay for COD orders.
Does this work with sGTM (Server-side Google Tag Manager)?
Yes! PixelFly supports both direct API integration (Proxy Container) and sGTM. When using sGTM, we send the delayed event to your sGTM endpoint using the standard /g/collect format with all the necessary parameters.
Stop Wasting Ad Spend on Fake Orders
Get accurate conversion data that reflects your real sales. Start tracking only the orders that actually pay.
1,000 free events/month forever. See all pricing plans