Cart tracking

Choose which carts are recorded, how guests are asked at checkout, which carts are never tracked, when a cart counts as abandoned, and how long records are kept.

FreeSiteryn → Abandoned Cart → Cart Tracking
  • Cart Tracking card: Enable Cart Tracking, Guest Carts, Abandoned After
  • Consent card with the three Consent Mode choices
  • Tracking Status and Reset to Defaults in the sidebar

Cart Tracking

Enable Cart Tracking
Default On

The master switch. When off, no new carts are recorded and nothing is loaded on your storefront. Carts already recorded are kept, and their emails and links still work.

Guest Carts
Default On

Also records carts of shoppers who are not signed in, once they type their email at checkout (and, depending on the consent mode, agree). Nothing is recorded for a guest who hasn't given an email.

Abandoned After (minutes)
Default 60Range 15–1440

How long a cart must go without activity before it counts as abandoned. Any change to the cart, or the shopper coming back, restarts the clock.

The sidebar card Tracking Status confirms whether carts are being recorded, and after how many minutes they count as abandoned.

The Consent card controls what guests see at checkout about their cart being saved, on both the classic and the block checkout. Signed-in customers are not asked.

Consent Mode
Default Notice

Notice: tell guests their cart is saved.

Notice + "No thanks": guests can stop tracking, and their saved cart is deleted.

Checkbox required: nothing is saved until the guest ticks a box.

Checkout Notice for Guests
Max 300

Default: "We save your cart and email address so we can remind you if you don't finish your order." Leave it empty to show nothing in Notice mode.

"No Thanks" Link Text
Max 100

Used in the Notice + "No thanks" mode. Default: "No thanks, don't save my cart."

Checkbox Label
Max 200

Used in the Checkbox required mode. Default: "Save my cart and email me a reminder if I don't finish my order"

ModeOn the checkoutWhen is the cart recorded?
NoticeThe notice in small print. Nothing, if the notice is empty.As soon as the guest types an email.
Notice + "No thanks"The notice, then a "No thanks, don't save my cart." link.As soon as the guest types an email, unless they click "No thanks".
Checkbox requiredA checkbox with your label, then the notice.Only after the box is ticked. Unticking works like "No thanks".

On the classic checkout this appears under the billing details; on the block checkout, above the checkout block. A short status line confirms the choice: "Thanks, your cart will be saved." or "Okay, your cart is not being saved."

  • Signed out, billing details filled in
  • Notice and the "No thanks" link
  • Signed out, block checkout
  • The consent checkbox above the checkout

What "No thanks" does

Exclusions

Carts that match any exclusion are never recorded, so they are never emailed or counted.

Excluded User Roles

Carts of signed-in users with any of these roles, for example your staff (Administrator, Shop manager), are not recorded.

Excluded Products
Up to 200

Product IDs separated by commas, e.g. 12, 34. Hover a product under Products to see its ID. A cart containing any of them is not recorded. Variation IDs work too. Under the field, "Currently:" lists the matching product names, so you can check your IDs. Unknown IDs are dropped when you save.

Excluded Categories

Tick categories. A cart containing a product from any of them, or from their subcategories, is not recorded.

  • Excluded User Roles checkboxes
  • Excluded Products with the "Currently: none" line
  • Excluded Categories list
Exclude your staff roles so test orders never appear in the stats. Exclude gift cards or donation products, which rarely need a reminder.

Recovery links restore a cart in one click. They can't be guessed, work only for their own cart, and stop working once the order is paid. See Recovery links.

Recovery Link Valid For (days)
Default 7Range 1–60

After this many days a recovery link no longer restores the cart, and the shopper sees a friendly "link has expired" message instead. Links also stop working once the cart's order is paid (or put on hold for offline payment), or the cart expires.

Data & Privacy

Delete Cart Records After (days)
Default 90Range 7–730

Records older than this are deleted automatically every day. Carts that became an order are anonymized instead (email, name and account link removed), so recovered-revenue totals stay correct.

Expire Idle Carts After (days)
Default 30Range 1–365

An open cart with no activity for this long expires, so it is no longer chased. A cart never expires while its recovery link still works.

Numbers outside the allowed range are adjusted to the nearest limit when you save. Reset to Defaults in the sidebar restores every setting on this tab.

How guest emails are captured

A tiny script loads on the checkout page only. It reads the billing email and first name fields as the shopper types (about 800 ms after they stop), and also when a field changes, loses focus or is filled in by the browser. The same values are never sent twice, and requests are limited to 20 per minute per visitor. In Checkbox required mode nothing is sent until the box is ticked, and never after "No thanks". This rule is enforced on the server too.

WooCommerce's Store API saves the email on the customer as they type, and the plugin reads it from there when it records the cart. When consent controls are shown, the plugin adds them above the checkout block with a small script.

What is recorded

RecordedNever recorded
Email address and first name
Products, variations, quantities and line totals (incl. tax)
Cart total and currency (incl. tax and shipping)
Shopper's language
Status, dates and a short event timeline
Card or payment details
Postal addresses
Phone numbers
IP addresses (only a keyed hash is used for rate limiting)

When a cart is saved

Excluding carts in code

For rules the Exclusions card can't express, developers can skip any cart with one filter. It runs last, after consent and the exclusions:

// Don't track carts under 5.00.
add_filter( 'siteryn_abandoned_cart_should_track', function ( $track, $snapshot ) {
	return $snapshot['total'] < 5 ? false : $track;
}, 10, 2 );