Skip to main content

Abandoned carts

A couple of seconds after a customer leaves the phone field at checkout, DZBuild captures a "draft order". If they complete, the cart is marked recovered and linked to the order it produced. If they don't, it stays here as an abandoned cart, and most of these are recoverable with a phone call.

Paid feature — Pro plan or higher

The abandoned-carts dashboard is a paid feature available on the Pro, Unlimited, and Enterprise plans. On the Free plan carts are still captured in the background, but the list is masked server-side (name, phone, wilaya, commune and product names show as ●●●●●●) and the three actions that matter are blocked outright — you cannot open a cart's detail, mark it contacted, or convert it to an order. Only deleting a cart still works. Open /dashboard/subscribe and click ▶ How to renew for the in-app tour, or watch the DZBuild YouTube channel tutorials.

Video

What gets captured

On the shared storefront checkout and the digital-theme checkout, a cart is captured 2 seconds after the customer leaves the phone field, with a page-close beacon as a fallback. Wilaya, commune, name and email are stored only if they happened to be filled at that moment: none of them is required, and the page-close fallback sends no wilaya at all.

Landing pages capture earlier. There the phone field is watched as it is typed, not only when the visitor leaves it, so someone who types a number and then abandons the form still produces a cart. Expect a landing page to report more abandoned carts than a checkout page for the same traffic, and read its abandonment rate against itself over time rather than against your storefront's.

The row holds:

  • Phone, and wilaya / commune / name / email when they were filled.
  • Items in cart (with variants, quantities and prices).
  • The items subtotal only — see the warning below.
  • Timestamp of capture.

Capture runs on four surfaces: the shared storefront checkout, the digital-theme checkout, landing pages, and digital product pages.

Some visits are deliberately never captured — a phone that has just ordered from you, and repeated captures from the same visitor that look automated rather than human.

If the customer completes checkout, the row does not disappear: it stays in the list, flips to Recovered, and keeps a link to the order it produced. That is why the same sale shows up both in Orders and here. Any older open cart from the same phone number is cleaned up at that moment, so you are not left calling a stale duplicate.

The cart total does not include shipping

The total stored on an abandoned cart is the items subtotal only — no shipping is calculated or stored at capture time, so it is not the number the customer saw at checkout. Quote it on a recovery call and you under-quote by the whole shipping amount.

Shipping appears for the first time when you open the Convert-to-order dialog: it is looked up live from your current per-wilaya shipping rates (including your free-shipping and free-shipping-threshold rules) and recomputed server-side when the order is created, so the client's number is never trusted. If you changed your rates since the cart was captured, the new rate is what applies.

The abandoned-carts page

Open Dashboard → Abandoned carts at /dashboard/abandoned-carts. You'll see:

  • Four stat cards: Abandoned (with today's count), Recovered (with your recovery rate), Contacted (with the percentage of the pipeline contacted), and Abandoned-cart value — the total DZD still sitting in unrecovered carts, plus this week's cart count.
  • A filter strip: Abandoned | Contacted | Recovered | All, each with a count badge. The page opens on Abandoned.
  • A table of carts with phone, wilaya, items summary, total, status, captured-at, and per-row actions.

Rows in the Abandoned and Contacted tabs carry four actions — View details, Convert to order, Mark contacted and Delete; a recovered row keeps only View and Delete. On the Free plan none of them render: the row shows a single lock that opens the upgrade prompt.

The status flow:

abandoned → contacted → recovered
  • Abandoned — captured but no follow-up yet.
  • Contacted — you've tried to reach the customer. Marks the cart as touched.
  • Recovered — the customer completed the purchase, either by your follow-up or on their own. Counts in your recovery rate.

Carts are kept for 60 days and then removed automatically; the page prints the same retention line at the bottom. Delete stale ones yourself if you want the tab clean before that.

Recovery channels

1. Call

The fastest channel, and the one Algerian merchants lean on. Click the eye icon on the cart row to open the detail, then tap the phone number: it opens your dialer on mobile.

After the call, mark the cart as Contacted. If the customer says "yes I'll order now", you can convert the cart directly to an order from the cart detail (or wait for them to complete checkout themselves).

2. SMS

There is no per-cart recovery link — DZBuild does not generate one. If you SMS the customer, send them your storefront or landing-page URL and they will have to re-enter their details, or take the order over the phone and create it yourself with Convert to order.

3. Email reminder

If the customer entered an email, send a recovery reminder. Algerian buyers respond less to email than SMS or calls — usually keep email as a third tier.

4. Pixel retargeting

InitiateCheckout fires when a visitor reaches the checkout page — the shared storefront checkout and the digital-theme checkout — not when a cart is captured. Carts captured from a landing page or from a digital product page fire no InitiateCheckout at all.

Build your retargeting audience on the checkout page's InitiateCheckout event and treat it as roughly, not exactly, the abandoned-cart population.

Marking as contacted

When you reach out (any channel), click Mark as contacted on the cart row. This:

  • Updates the status to contacted.
  • Records a timestamp on the cart's timeline.
  • Moves the cart out of the Abandoned tab and into Contacted, so your team doesn't double-touch it.

Converting a cart to an order

For carts where the customer agreed by phone but didn't go back to the website, you can convert the cart to an order directly:

  1. Click the bag-plus icon on the cart row (or open the cart and click Convert) — you don't have to open the detail first.
  2. In the dialog, check the name, phone, email, wilaya, commune and address, pick home or desk delivery, and review or adjust the items. You can change quantities and pick variants right there. Shipping is fetched live from your rates and the total updates as you change the wilaya.
  3. Click Create order. The order is always created as Cash on Delivery with status pending — there is no payment-method choice.

All pricing is recomputed server-side at creation, so the dialog's total is authoritative only if your rates haven't changed in between.

The cart status flips to recovered.

Bundle lines are priced flat

Offer / bundle lines are priced as a flat bundle total, not price × quantity — in both the captured cart total and the convert recompute. If you check the total with a naive per-unit calculation it will look wrong when a bundle is in the cart.

Export and integrations

If you have connected Google Sheets, every newly created cart is appended to the spreadsheet automatically. Creating your first spreadsheet from the addon switches on both auto-sync and the abandoned-carts option for you, so the sync starts without a second step. It is a simple way to hand a call list to a team that doesn't have dashboard access; turn either switch off on the addon's card if you'd rather carts stayed in the dashboard.

Measuring your recovery

The Recovered stat card and the recovery rate next to it are the measurement the dashboard gives you. A cart records that it was contacted, never how: there is no channel field on the row, so DZBuild cannot split your recovery rate by call, SMS or email, now or looking back. If you want that comparison, keep it in your own sheet, one line per cart, and check the dashboard rate weekly as the overall number.

Tips

  • Call within 1 hour when you can. The longer the gap, the colder the customer.
  • Lead with a question, not a pitch. "Did you find what you needed?" works better than "Here's why you should buy."
  • Don't push new products on the recovery call. Just close what's already in the cart.
  • If they say "I'll order tomorrow", offer to place it for them with Convert to order — there's no link that will pre-fill their cart.
  • Mark contacted promptly so your team doesn't call the same person twice.
  • Stop chasing after 48 hours. Past that the call reads as pressure, and the buyer has usually decided or bought elsewhere.
  • Spot-check your recovery rate weekly. A drop usually means a checkout regression — fix the form, not the call script.

Privacy

Abandoned carts include phone numbers, names, emails and wilaya/commune — keep your dashboard access tight via Team & roles. Customers can request deletion via Contact.

What's next