MegaSend for WooCommerce

Changelog

1.0.13

  • Fix: “Order Cancelled” message is now suppressed if the customer already has a successful (paid) order — prevents confusing notifications when a failed order is auto-cancelled after the customer already retried and paid
  • UX: Redesigned the Template Mappings event cards for maximum clarity — each card now shows a lifecycle timeline (Checkout → Placed → Paid → Shipped → Done), a color-coded payment status pill, a plain-language example scenario, and a “Best for” recommendation line
  • UX: Payment status pills (“Not paid yet” / “Payment confirmed” / “Paid & shipped”) make it visually impossible to confuse Order Placed with Payment Received
  • UX: Left accent stripe on each card is colored by payment stage (amber for unpaid, green for paid, blue for shipped) for at-a-glance scanning

1.0.12

  • UX: Renamed Template Mapping event labels for clarity: “Order Created” → “Order Placed (Awaiting Payment)” and “Payment Complete” → “Payment Received”
  • UX: Added status badges (UNPAID / PAID / SHIPPED) on event cards so admins can see at a glance which payment stage each event fires at
  • UX: Inline warning on “Order Placed” when active — explains that message fires BEFORE payment is confirmed, so abandoned payments still receive it
  • UX: Page-level intro explains the WooCommerce event lifecycle and recommends “Payment Received” for most stores
  • UX: Conflict warning when both “Order Placed” and “Payment Received” are active — prevents accidental double-messaging
  • UX: Expanded descriptions on each event card with clearer wording and use-case guidance

1.0.11

  • Fix: Duplicate order event messages — dedup now re-fetches the order to bypass stale in-memory meta caches when multiple WooCommerce hooks fire in the same request
  • Fix: Atomic dedup using direct DB insert (HPOS + classic compatible) prevents the read-then-write race between woocommerce_payment_complete and woocommerce_order_status_processing
  • Added: Second-layer dedup in the Action Scheduler callback queries message_log by order_id + event_type
  • Added: order_id column on megasend_message_log with composite index (order_id, event_type) for fast dedup lookups
  • DB: Schema upgrade runs automatically on plugin update (dbDelta adds new column and index)

1.0.10

  • Fix: Revenue Recovered dashboard card now uses locale-aware currency formatting with thousand separators
  • Fix: Cart total values are clamped to a sensible maximum (9,999,999.99) to prevent corrupt WooCommerce session data from poisoning analytics
  • Fix: Dashboard SUM queries ignore absurd cart_total values so existing bad rows don’t break the display
  • Improved: Stats card value now wraps gracefully on long numbers instead of overflowing

1.0.9

  • Fix: Cart recovery links now correctly restore cart items — session is explicitly persisted before redirect
  • Fix: Validate product availability during recovery — skip out-of-stock or deleted items gracefully
  • Improved: Recovery handler moved from template_redirect to wp_loaded for proper WooCommerce session timing

1.0.8

  • Fix: Cart tracking now returns actual DB error when insert fails instead of silent success
  • Improved: Better error diagnostics for cart tracking issues

1.0.7

  • New: UTM tracking parameters for cart recovery URLs — configure utm_source, utm_medium, utm_campaign, utm_term, and utm_content in the Abandonment Settings.
  • New: Dynamic placeholders ({cart_id}, {session_id}) supported in UTM values.
  • New: Smart defaults for new installs (megasend/whatsapp/cart_recovery).

1.0.6

  • New: Payment abandonment detection — customers who place an order but never complete payment (PayPal redirect, bank transfer, etc.) now receive abandonment messages after the threshold period.
  • Fix: Orders with “pending” status no longer prematurely mark tracked carts as completed. Cart status is only finalized when payment is confirmed.
  • Fix: Cancelled and failed orders now re-enable the linked cart for abandonment detection.
  • New: Order status transition hooks (processing, completed, on-hold, cancelled, failed) for smarter cart lifecycle management.

1.0.5

  • Fix: Corrected wc-ajax URL generation for cart tracking on all hosting environments.

1.0.4

  • Fix: Cart tracking now uses WooCommerce wc-ajax endpoint instead of admin-ajax.php, resolving silent tracking failures caused by caching plugins (WP Rocket, LiteSpeed Cache, Cloudflare, etc.) serving stale nonces.
  • Fix: GDPR consent is now properly enforced on page unload beacon tracking.
  • Fix: AJAX retries only fire on actual network failures, not on HTTP error responses.
  • New: Debug logging for abandonment detection pipeline when WP_DEBUG_LOG is enabled.

1.0.3

  • Fix: Checkout tracking script now loads reliably on all themes, including WoodMart, Flatsome, and Elementor-based checkouts that override WooCommerce templates.

1.0.2

  • New: Marketing Consent Settings — optionally restrict abandonment messages to customers who opted into SMS/WhatsApp marketing via the checkout consent checkbox.
  • New: GDPR consent status now stored in database for compliance auditing.
  • New: Admin warning when Marketing Consent is enabled without GDPR checkbox.

1.0.1

  • Fix: Cart recovery now displays phone number in local format instead of E.164 (e.g., “054-616-2881” instead of “+972546162881”).
  • Fix: Cart recovery now restores all checkout fields (country, city, address, postcode).
  • Fix: Order event dispatcher now correctly skips draft orders created by Block Checkout.
  • Fix: Added fallback payment hook for gateways that bypass payment_complete().
  • Fix: Optimized event deduplication to avoid redundant database lookups.

1.0.0

  • Initial release.
  • Cart abandonment detection with configurable threshold.
  • Follow-up message sequences.
  • Order event notifications (created, paid, fulfilled, cancelled, refunded).
  • Template mapping with visual variable mapping and WhatsApp preview.
  • 3-step onboarding wizard.
  • Dashboard analytics and message log.
  • GDPR consent checkbox support.
  • WooCommerce HPOS and Block Checkout compatibility.

Plugin Website
Visit website

Author
weblixtech
Version:
1.0.13
Last Updated
April 16, 2026
Requires
WordPress 6.2
Tested Up To
WordPress 6.9.4
Requires PHP
8.1

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.