Skip to main content

Abandoned carts

Recover lost sales — carts captured seconds after the phone field, recovered by phone call, and turned into COD orders with shipping priced live from your rates.

Written by Support

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

⚠️ Warning — 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

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.

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 turns into an order. Otherwise it stays here.

⚠️ Warning — 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 never aged out automatically. Old carts stay in the Abandoned tab forever, so delete stale ones yourself if you want the tab to stay usable.

Recovery channels

1. Call

The fastest and highest-converting channel. Click the eye icon on the cart row to open the detail, then tap the phone number — it opens your dialer on mobile. Most merchants close 25–40% of carts called within an hour.

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.

💡 Tip — 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 and enabled auto-sync plus the abandoned-carts option on that spreadsheet (both are off by default), every newly created cart is appended automatically — a simple way to hand a call list to a team that doesn't have dashboard access.

What converts (typical Algerian benchmarks)

Tactic

Recovery rate (typical)

Phone call within 1 hour

25–40%

SMS pointing at your store within 1 hour

10–15%

Email reminder at 1h + 24h

5–8%

Pixel retargeting ad

3–5%

The compound effect of all four is usually 30–50% recovery on a cold-traffic store.

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 recovery rate falls below 5% and starts feeling like spam.

  • 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

Did this answer your question?