If you run paid traffic and don't actively recover abandoned carts, you leave 25–40 % of revenue on the table. The difference between an Algerian COD merchant who breaks even and one who scales is almost always abandoned-cart discipline. Here's the playbook.
What "abandoned" means
DZBuild captures a cart as abandoned only when two things are true: the visitor has typed a valid phone number (10 digits or more) and the cart is not empty. Simply opening the checkout captures nothing. Capture happens shortly after the phone number is entered, and again if the visitor leaves the page.
The captured carts live at /dashboard/abandoned-carts with the customer's name, phone, wilaya (when entered), and the products in the cart.
Two silent exclusions are worth knowing:
A phone number that already ordered from your store in the last 24 hours is never captured.
Automated abuse checks can refuse a capture when an unusual number of them arrives from the same source in a short time.
Where carts are captured from
Capture is not limited to the full checkout page. The same queue is fed by:
The storefront checkout page
Fast checkout on the product page
Landing-page order forms
The digital-store checkout and product pages
So merchants running landing-page traffic only still get abandoned carts.
The trick is acting on them quickly — recovery rates collapse with every hour that passes.
ℹ️ Info — Plan requirement
Full access to abandoned-cart data (unblurred phone numbers, one-click recovery, conversion modal) requires the Pro plan or higher. On Free, abandoned carts are captured but customer details are blurred and recovery actions are locked. Upgrade at /dashboard/subscribe — see the ▶ How to renew in-app guide or the DZBuild YouTube channel.
The funnel
Visited → Added to cart → Entered phone → ABANDONED
↓
(recovery starts here)
Convert the cart straight into an order
This is the highest-yield action on the page and most merchants never find it. Once you have the customer on the phone or on WhatsApp, don't ask them to go back and re-order — place the order for them:
On
/dashboard/abandoned-carts, click the bag icon on the cart row.Confirm quantity, variant and wilaya in the modal — shipping is recalculated live.
Submit. DZBuild creates a real pending COD order, with the customer record, order items and variants, and tags the order notes with the cart it came from.
Shipping is recomputed server-side from your own per-wilaya rates, including your free-shipping rule and threshold, so the shipping total is always your real total. The cart is marked recovered automatically.
Requires the Pro plan or higher.
Recovery is tracked for you
You don't need a spreadsheet to know what worked. A cart flips to recovered by itself when the same phone number completes an order — from the storefront checkout or from a landing page.
You can also mark a cart contacted after your WhatsApp message or call, so the queue always shows who is still untouched. (Pro plan or higher.)
💡 Tip — Google Sheets
If you have connected Google Sheets at /dashboard/addons/google-sheets, new abandoned carts sync to your sheet automatically — including the products, variants and SKUs — and status changes (contacted, recovered) sync too. Useful if your call centre works from a spreadsheet. See Google Sheets.
Stage 1 — within 1 hour (highest yield)
Tactic A: WhatsApp message
Send a personal WhatsApp ~30–60 minutes after abandonment:
"السلام، شفنا حابين تطلبو [product]. كاينة شي حاجة نقدرو نوضحوها؟" "Bonjour, on a vu que vous étiez intéressé par [product]. Une question avant de commander ?"
Recovery rate: 20–30 % of contacted carts
Cost: Almost nothing — just operator time
Why it works: WhatsApp feels personal, not pushy. Algerian buyers respond to it more than email or even SMS.
Tactic B: phone call
Pick up the phone for higher-value carts (≥ 3000 DZD AOV):
"Hi, I noticed you almost ordered our [product]. Did you have any questions about delivery, sizes, or payment?"
Recovery rate: 25–40 % of called carts
Time cost: ~2 minutes per call
ROI: ~50 DZD operator cost per call vs. ~3000 DZD AOV → 60× return
If price is the objection, offer a small promo on the spot (a promo code at -10 %). Don't make this a habit — customers learn to wait for the call.
After each message or call, hit Mark as contacted on the cart row so your queue always shows who is still untouched.
Stage 2 — at 24 hours
Tactic: follow-up message with a promo code
⚠️ Warning — DZBuild does not send SMS
There is no SMS gateway on any plan, no scheduled abandoned-cart follow-up, and no per-cart recovery link. Everything in this stage is manual: send it yourself from WhatsApp, or from your own external SMS provider.
Send a short follow-up 24 hours after abandonment, pointing at your storefront or landing-page URL plus a promo code you created at /dashboard/promo-codes:
"[Brand]: lien pour finir votre commande [votre URL] — code BACK10 pour 10 % de réduction. Valable 24 h."
Recovery rate: 8–15 %
Cost: operator time, plus your SMS provider's per-message rate if you use one
The promo expiry creates urgency without feeling manipulative. Faster still: skip the link and convert the cart to an order while you have them on the phone.
Stage 3 — days 3–7
Tactic: Pixel retargeting
Run a Facebook/TikTok retargeting ad to visitors who hit InitiateCheckout in the last 7 days but didn't Purchase. Source the audience from your Pixel data.
⚠️ Warning — Landing pages don't fire InitiateCheckout
Landing pages emit Purchase (Meta) / CompletePayment (TikTok) on a successful order, but no InitiateCheckout at any point. An audience built on that event will not contain your landing-page traffic — if landing pages are your main funnel, retarget on ViewContent or on a page-view audience for the /landing/ URL instead. See the Landing-page playbook.
Recovery rate: 3–5 %
Cost: ~50–100 DZD per recovered order on retargeting CPM
Cap frequency at 5/week — Algerian buyers tire fast.
Pair with Facebook Catalog to show the exact product the customer abandoned.
Combined funnel
If you do all three stages competently on cold paid traffic, total recovery is typically 25–40 %. On a warm-list (repeat customer) store, recovery can hit 50 %+.
What kills recovery
Pushy phone scripts — "You haven't ordered yet, why?" — feels like a salesperson. Customers hang up. Stay friendly and curious.
Calling at bad hours — don't call before 10 a.m. or after 9 p.m. local time.
Bombarding with retargeting — a customer who said no doesn't want to see the same ad 50 times. Cap frequency at 5/week max.
Discounts on every recovery — this trains customers to abandon on purpose. Use sparingly and time-limit them.
Calling from a new number every time — Algerian buyers screen unknown numbers. Use a consistent business line.
Tools you need
Abandoned carts page — the captured queue
Pixels with CAPI — for retargeting + accurate attribution
Facebook Catalog — for dynamic retargeting ads
A consistent WhatsApp Business number
A staffed phone line during business hours
Promo codes — available on every plan, but switch the Promo codes built-in on at
/dashboard/addonsfirst, otherwise the page won't accept codesPro plan or higher for unblurred phone numbers, mark-as-contacted and convert-to-order
Measuring effectiveness
You don't have to compute any of this by hand. The stats bar at the top of /dashboard/abandoned-carts already shows:
Carts captured (total, today, this week)
Number contacted
Number recovered
Abandoned value and recovered revenue
Recovery rate
It works on the Free plan too, even though the recovery actions themselves are Pro. Compare week over week and against the previous month — improvements compound.