Why Recovered Orders Show Incorrect Statuses in WooCommerce Cart Abandonment Recovery
Content
Understanding and Fixing Recovered Order Status Issues
If you're using the WooCommerce Cart Abandonment Recovery plugin, you might notice that some orders marked as "recovered" don't actually reflect a successful purchase. This can happen when orders with failed payments, cancelled transactions, or specific statuses like "on-hold" are incorrectly categorized as recovered, skewing your metrics and revenue reports.
Why This Happens
Based on community reports and plugin behavior analysis, this discrepancy typically occurs for several reasons:
- Plugin Logic: The plugin primarily marks an order as "recovered" when the WooCommerce order status changes to 'processing' or 'completed'. However, certain configurations or conflicts can cause it to apply this label incorrectly.
- Payment Gateway Interactions: Some payment methods, particularly offline ones like bank transfers or PayPal eChecks, place orders in an "on-hold" or "pending" status. The plugin may still treat these as abandoned carts and later mark them as recovered, even though no recovery action occurred.
- Session Tracking: The plugin uses session IDs and customer emails to track orders. If a customer uses a different email address when completing their purchase compared to when they abandoned their cart, the original abandoned entry won't be linked to the new order and may remain in the "abandoned" state, while the new order is not counted as a recovery.
- Failed Order Handling: In some cases, orders with a status of 'failed' might be incorrectly marked as recovered if the plugin's settings are not configured to exclude them.
Common Solutions and Workarounds
Here are the most effective ways to address these issues, based on solutions discussed in the support community:
1. Configure Order Status Exclusions
The plugin includes settings to exclude specific order statuses from email campaigns and tracking. This is crucial for preventing emails from being sent for orders that are merely awaiting payment.
- Navigate to WooCommerce > Settings > Cart Abandonment > Email Templates.
- Look for the setting that allows you to exclude sending recovery emails for certain order statuses.
- Ensure that statuses like 'on-hold', 'pending', and 'failed' are selected to be excluded. This prevents the plugin from treating these orders as abandoned and attempting to "recover" them.
2. Use the Custom Filter for On-Hold Orders
For more technical control, a custom filter hook is available to exclude on-hold orders from being tracked entirely.
Add the following code to your child theme's functions.php file:
add_filter( 'woo_ca_exclude_on_hold_order_from_tracking', '__return_true' );
This tells the plugin to ignore any order that gets the 'on-hold' status, which is common for bank transfer payment methods.
3. Manually Audit and Correct Database Entries
For one-off corrections or to fix historical data, you can directly update the plugin's database table. This is an advanced method and should be done with caution, preferably after a full backup.
- Access your database via phpMyAdmin or a similar tool.
- Locate the
cartflows_ca_cart_abandonmenttable. - Find the order entry you need to correct. You can search by email address or order details.
- Change the
order_statusfield to the appropriate value (e.g., from 'abandoned' to 'completed' for a true recovery, or to 'lost' if it was never recovered).
Note: This is a direct database manipulation. Incorrect changes can break your data, so proceed only if you are comfortable with SQL.
4. Check for Plugin and Theme Conflicts
Conflicts with other plugins, especially those related to checkout, payments, or caching, can interfere with how Cart Abandonment Recovery tracks orders.
- Temporarily deactivate all other plugins except for WooCommerce and Cart Abandonment Recovery.
- Switch to a default WordPress theme like Twenty Twenty-One.
- Test the abandonment and recovery process to see if the status is now reported correctly.
- If it works, reactivate your plugins and theme one by one to identify the culprit.
When to Seek Further Help
If the problem persists after trying these steps, the issue might be specific to your site's configuration. The WooCommerce Cart Abandonment Recovery team has acknowledged and fixed similar bugs in past updates, so ensure your plugin is updated to the latest version. For complex, unreplicable issues, they often request screen recordings or specific order details to investigate further.
By understanding how the plugin tracks orders and properly configuring its settings, you can ensure your recovery reports accurately reflect reality and provide valuable insights into your store's performance.
Related Support Threads Support
-
Send a recovery sequence on older orders?https://wordpress.org/support/topic/send-a-recovery-sequence-on-older-orders/
-
Status recovered order keeps marked as abandonedhttps://wordpress.org/support/topic/status-recovered-order-keeps-marked-as-abandoned/
-
Questions about how the plugin works:https://wordpress.org/support/topic/questions-about-how-the-plugin-works/
-
Recovered orders without sending mails?https://wordpress.org/support/topic/recovered-orders-without-sending-mails/
-
Follow up emails statisticshttps://wordpress.org/support/topic/follow-up-emails-statistics/
-
How does the workflow work?https://wordpress.org/support/topic/how-does-the-workflow-work/
-
Duplicate products in orders made via Cart Abandonment Recoveryhttps://wordpress.org/support/topic/duplicate-products-in-orders-made-via-cart-abandonment-recovery/
-
show allhttps://wordpress.org/support/topic/missing-data-7/
-
Email sent twicehttps://wordpress.org/support/topic/email-sent-twice-2/
-
Admin EMail triggers PHP noticehttps://wordpress.org/support/topic/admin-email-triggers-php-notice-2/
-
No order item attributeshttps://wordpress.org/support/topic/does-not-retain-meta-data/
-
Lost Ordershttps://wordpress.org/support/topic/lost-orders-5/
-
Orders are recovered and done at the same timehttps://wordpress.org/support/topic/orders-are-recovered-and-done-at-the-same-time/
-
Recovered order still has abandoned statushttps://wordpress.org/support/topic/recovered-order-still-has-abandoned-status/
-
Conversion Not Trackedhttps://wordpress.org/support/topic/conversion-not-tracked-2/
-
Capture failed orderhttps://wordpress.org/support/topic/capture-failed-order/
-
Mail sent even if order processedhttps://wordpress.org/support/topic/mail-sent-even-if-order-processed/
-
Not displaying all customershttps://wordpress.org/support/topic/not-displaying-all-customers/
-
Tracking recovered ordershttps://wordpress.org/support/topic/tracking-recovered-orders/
-
Recoverable Orders Data Lost after Fatal Errorhttps://wordpress.org/support/topic/recoverable-orders-data-lost-after-fatal-error/
-
Bug? Notify recovery to admin = notifies on every single orderhttps://wordpress.org/support/topic/bug-notify-recovery-to-admin-notifies-on-every-single-order/
-
Failed Ordershttps://wordpress.org/support/topic/failed-orders-8/
-
Is it possible to reschedule emails for “lost” ordershttps://wordpress.org/support/topic/is-it-possible-to-reschedule-emails-for-lost-orders/
-
Failed orders not being addedhttps://wordpress.org/support/topic/failed-orders-not-being-added/
-
How to use “woo_ca_exclude_on_hold_order_from_tracking”https://wordpress.org/support/topic/how-to-use-woo_ca_exclude_on_hold_order_from_tracking/
-
Some Recovered Orders are not actually recoveredhttps://wordpress.org/support/topic/some-recovered-orders-are-not-actually-recovered/
-
Orders are not recorded as retrieved via webhookhttps://wordpress.org/support/topic/orders-are-not-recorded-as-retrieved-via-webhook/
-
Not all orders are being recordedhttps://wordpress.org/support/topic/not-all-orders-are-being-recorded/
-
Lost Ordershttps://wordpress.org/support/topic/lost-orders-6/
-
customer who placed the order still received recovery emailhttps://wordpress.org/support/topic/customer-who-placed-the-order-still-received-recovery-email/
-
Keep getting the recovered order messagehttps://wordpress.org/support/topic/keep-getting-the-recovered-order-message-2/
-
Difficulty understanding Recovered Revenue.https://wordpress.org/support/topic/difficulty-understanding-recovered-revenue/
-
On hold ordershttps://wordpress.org/support/topic/on-hold-orders-4/
-
Recovered Order – Calculate All Ordershttps://wordpress.org/support/topic/recovered-order-calculate-all-orders/
-
Exporting List as xlshttps://wordpress.org/support/topic/exporting-list-as-xls/
-
Admin EMail triggers PHP noticehttps://wordpress.org/support/topic/admin-email-triggers-php-notice/
-
Plugin removes attributes in ordershttps://wordpress.org/support/topic/plugin-removes-attributes-in-orders/
-
No carts recoverablehttps://wordpress.org/support/topic/no-carts-recoverable/
-
Recover Guest Checkoutshttps://wordpress.org/support/topic/recover-guest-checkouts/
-
Report shows zero recoverable ordershttps://wordpress.org/support/topic/report-shows-zero-recoverable-orders/
-
Lost orders – after how many days?https://wordpress.org/support/topic/lost-orders-after-how-many-days/
-
The abandoned order number and the recovered order number are not the samehttps://wordpress.org/support/topic/the-abandoned-order-number-and-the-recovered-order-number-are-not-the-same/
-
Notification translationhttps://wordpress.org/support/topic/notification-translation-2/
-
Lost orders export missing lots of datahttps://wordpress.org/support/topic/lost-orders-export-missing-lots-of-data/
-
Plugin shows wrong order-statushttps://wordpress.org/support/topic/plugin-shows-wrong-order-status/
-
Manually Recategorize Ordershttps://wordpress.org/support/topic/manually-recategorize-orders/
-
Strange behaviour on COD paymenthttps://wordpress.org/support/topic/strange-behaviour-on-cod-payment/
-
False cart recovery measurementhttps://wordpress.org/support/topic/false-cart-recovery-measurement/
-
Duplicate orders.https://wordpress.org/support/topic/duplicate-orders-16/
-
Plugin appears to be working but no templates activatedhttps://wordpress.org/support/topic/plugin-appears-to-be-working-but-no-templates-activated/
-
Track Recovered Orders from emails in Google Analyticshttps://wordpress.org/support/topic/track-recovered-orders-from-emails-in-google-analytics/
-
Plugin tries to recover completed ordershttps://wordpress.org/support/topic/plugin-tries-to-recover-completed-orders/
-
Email was scheduled to be sent before the recoverable order was even createdhttps://wordpress.org/support/topic/email-was-scheduled-to-be-sent-before-the-recoverable-order-was-even-created/
-
I can’t close the notice after updatehttps://wordpress.org/support/topic/i-cant-close-the-notice-after-update/
-
Attribute selections missing from recovered ordershttps://wordpress.org/support/topic/attribute-selections-missing-from-recovered-orders/
-
Recovered Orders does not workhttps://wordpress.org/support/topic/recovered-orders-does-not-work/