|
/ Documentation /Cart Abandonment/ How Cart Abandonment Tracking Works

How Cart Abandonment Tracking Works

The Cart Abandonment Recovery plugin tracks shoppers as they move through your WooCommerce checkout process. It captures cart data as soon as a customer provides their email address, monitors whether they complete the order, and — if they do not — marks the cart as abandoned and queues any scheduled recovery emails.

This document explains precisely how and when a cart is captured, what defines the abandonment cut-off, how the cart lifecycle progresses through its various states, and what conditions will prevent a cart from being tracked.

How Tracking Is Triggered

Tracking begins the moment a customer enters their email address on the WooCommerce Checkout page. The plugin captures the email and saves the current cart contents to the database at that point — it does not wait for any other field to be filled in.

This means:

  • A cart is captured even if the customer only types their email and immediately leaves the page.
  • No payment details are ever stored by the plugin. Only the cart contents, customer contact details, and checkout metadata are saved.
  • Guest customers and logged-in customers are both tracked, as long as an email address has been entered.

Note

Tracking requires the Enable Tracking toggle to be switched ON in WooCommerce > Cart Abandonment > Settings > General Settings. If tracking is disabled, no carts will be captured regardless of other settings.

Enable Tracking Toggle

The Cart Abandoned Cut-Off Time

Once a cart is captured, the plugin does not immediately consider it abandoned. It waits for a configurable period — the Cart Abandoned Cut-Off Time — before marking the cart as abandoned and starting the recovery email sequence.

What the Cut-Off Time Controls

The cut-off time defines the minimum number of minutes that must pass after a cart is captured without the order being completed before the cart is treated as abandoned. The default and minimum value is 10 minutes.

For example, if the cut-off time is set to 60 minutes:

  • A customer enters their email at 2:00 PM and leaves.
  • The plugin captures the cart at 2:00 PM.
  • At 3:00 PM (60 minutes later), a background check runs.
  • If the order has not been completed, the cart is marked as abandoned and the recovery email sequence begins.

How to Configure the Cut-Off Time

  1. Go to WooCommerce > Cart Abandonment > Settings.
  2. Under General Settings, find the Cart Abandoned Cut-Off Time field.
  3. Enter the number of minutes after which an incomplete cart should be considered abandoned. The minimum is 10 minutes.
  4. Changes are saved automatically — there is no save button.
Cart Abandoned Cut-off Time

Tip: A cut-off time of 15–30 minutes is typically a good balance for most stores. Setting it too short can result in capturing customers who are still actively filling in their details; setting it too long delays the first recovery email.

How the Background Check Works

The plugin uses a WP-Cron scheduled job to periodically scan the database and check whether any captured carts have passed the cut-off time without completing checkout. This job is named:

cartflows_ca_update_order_status_action

This cron job runs every 15 minutes. It checks all carts in a capturing state and promotes those that have exceeded the cut-off time to abandoned status, which triggers the recovery email queue.

Why WP-Cron Must Be Active

If WP-Cron is disabled on your WordPress installation, the status-check job will not run. This means:

  • Captured carts will never be promoted to abandoned status.
  • No recovery emails will be sent.
  • The abandoned orders list in the plugin dashboard will remain empty.

Important: If abandoned carts are not appearing in your dashboard, the most common cause is a disabled WP-Cron. Check your wp-config.php file and ensure the following line is not present or is set to false:

define('DISABLE_WP_CRON', true);   // Disable WP-Cron and will break tracking

To re-enable WP-Cron, either remove that line or change it to:

define('DISABLE_WP_CRON', false);

Alternatively, if you prefer to run cron tasks via a server-level scheduler (e.g., cPanel), you can set up an external cron job to call the WordPress cron URL at regular intervals. This is often the more reliable approach for high-traffic sites.

Cart Lifecycle: The Possible States

Every tracked cart moves through a defined set of states from the moment it is captured to the time it is resolved. Understanding these states helps you interpret the data shown in WooCommerce > Cart Abandonment > Reports > Follow Up.

StageOrder StatusWhat It Means
CapturingNormalThe customer’s email has been recorded and the cart is saved. The cut-off time has not yet elapsed. No emails have been sent.
AbandonedAbandonedThe cut-off time has elapsed without the order being completed. The cart is now eligible for recovery emails. The recovery sequence begins.
RecoveredSuccessfulThe customer completed their order — either by clicking a recovery link or by returning to the store independently. No further emails are sent.
UnsubscribedUnsubscribedThe customer clicked the unsubscribe link in a recovery email. They will not receive any further recovery emails for this abandoned carts.
LostFailedThe cart was abandoned and the full recovery sequence has been exhausted without conversion. No further action is taken.
Abandoned Cart Reports

Recovering a Cart

A cart transitions from abandoned to recovered when the associated WooCommerce order reaches one of the statuses configured in the Exclude Email Sending For setting (typically Processing or Completed). This transition happens automatically — you do not need to manually mark anything.

Once a cart is recovered, all pending scheduled recovery emails for that cart are cancelled.

What Carts Are Not Tracked

Not all checkout sessions are eligible for tracking. The following conditions will prevent a cart from being captured:

Tracking Is Disabled

If the Enable Tracking toggle is turned OFF in the plugin settings, no carts will be tracked, regardless of any other configuration.

No Email Address Entered

Tracking only begins when a customer types their email address into the checkout email field. If a customer adds items to the cart but never reaches the checkout page, or reaches the checkout page but does not enter an email, no cart data is captured.

User Role Is Excluded

The Disable Tracking For setting allows specific WordPress user roles to be excluded from tracking entirely. By default, it is recommended to exclude administrator and shop manager roles to avoid logging internal test orders.

To check or update which roles are excluded:

  1. Go to WooCommerce > Cart Abandonment > Settings.
  2. Under General section, review the Disable Tracking For field.
  3. Add or remove roles as needed.
Exclude User Role from Tracking

Email Address Is Blacklisted

If a customer’s email address or domain is on the Email/Domain Blacklist, the cart will be captured but no recovery emails will be sent to that address. This is useful for excluding known test accounts, internal addresses, or competitor domains.

Order Is Already Completed

If the customer completes their order normally (without abandoning), the cart is never promoted to abandoned status. The plugin continuously checks whether the associated WooCommerce order has been paid, and if so, the cart session is immediately resolved.

Tracking and GDPR Compliance

Sending abandoned cart recovery emails falls under legitimate interest for data processing under GDPR guidelines. This means no separate opt-in consent is required to capture cart data and send recovery emails, though transparency in your store’s privacy policy is strongly recommended.

If you prefer to give customers an explicit opt-in mechanism at the checkout page, the plugin includes an optional GDPR Integration setting.

Enabling the GDPR Consent Message

  1. Go to WooCommerce > Cart Abandonment > Settings.
  2. Click the GDPR tab.
  3. Toggle Enable GDPR Integration ON.
  4. Optionally customize the GDPR Message text shown below the email field at checkout.
Enable Email GDPR Toggle

When enabled, a consent notice appears below the email field. If the customer clicks “No thanks”, their cart will not be tracked. This ensures full opt-in compliance for stores that require it.

Note

Enabling the GDPR confirmation message may reduce the number of carts captured, since some customers will decline. Only enable it if your store’s compliance requirements specifically demand an explicit opt-in for abandoned cart tracking.

Quick Reference Summary

Setting / ConceptDetails
Tracking triggerCustomer enters email address on the checkout page.
Cut-off timeConfigurable (minimum 10 minutes). Defines when a cart becomes “abandoned”.
Background check frequencyEvery 15 minutes via the cartflows_ca_update_order_status_action WP-Cron job.
Cart statescapturing → abandoned → recovered or lost. Customers can also unsubscribe.
Excluded from trackingSpecific user roles, blacklisted emails/domains, customers who opt out via GDPR message.
Recovery triggerOrder reaches a status listed in “Exclude Email Sending For” (e.g., Processing, Completed).
GDPRAbandoned cart emails fall under legitimate interest. Optional opt-in consent message available.
Was this doc helpful?
What went wrong?

We don't respond to the article feedback, we use it to improve our support content.

Need help? Contact Support