Abandoned Cart Recovery for WHMCS — Documentation

Abandoned Cart Recovery for WHMCS

Installation & configuration guide for store owners

WHMCS 8.10 – 9.x PHP 8.2 / 8.3 Version 1.0

i Overview

Abandoned Cart Recovery for WHMCS automatically tracks shopping carts left behind by your clients and guests, then helps you win those sales back with automated reminder emails, one‑click cart‑restore links, shareable shopping lists, and a recovery analytics dashboard.

What you get:

  • Cart tracking for logged‑in clients and guests, with item snapshots and add/remove history.
  • Automated reminders sent on a schedule — emails to clients, support tickets (or direct emails) to guests.
  • One‑click restore links that rebuild the customer's cart so they can finish checkout.
  • Guest email capture and optional forced login/registration.
  • Shopping lists customers can save and share.
  • Dashboard with cart volume, recovery and client‑vs‑guest stats, plus a full activity log.

1 Requirements

ItemRequirement
WHMCSVersion 8.10 through 9.x
PHP8.2 or 8.3
ionCube Loaderv13 or later (required — same as WHMCS itself)
PHP extensionscurl, sodium (standard on modern PHP) — used for license activation
AccessWHMCS admin access & the ability to upload files (cPanel File Manager or FTP)
Before you start Have your license key ready (from your client area under My Products & Services), and know the exact domain your WHMCS runs on — you'll need it during activation.

2 Installation

  1. Download & unzip the product package you received. Inside you'll find an AbandonedCart folder.
  2. Upload the AbandonedCart folder into your WHMCS installation so the final path is:
    /your-whmcs-root/modules/addons/AbandonedCart/
    In cPanel: File Manager → navigate to modules/addons/ → Upload the zip → Extract, or upload the folder over FTP.
  3. Set folder permissions. Make the module's storage folder writable:
    chmod -R 755 modules/addons/AbandonedCart/storage
    (In cPanel File Manager you can right‑click the storage folder → Change Permissions → 755.)
That's all the files. There is nothing to edit by hand — license details are entered later from inside the WHMCS admin area.

3 Activate the module

  1. Log in to your WHMCS Admin Area.
  2. Go to System Settings → Addon Modules (older WHMCS: Setup → Addon Modules).
  3. Find Abandoned Cart Recovery for WHMCS in the list and click Activate.
  4. Click Configure, tick Full Administrator under Access Control, and click Save Changes.
What activation does It automatically creates the database tables, two ready‑to‑use email templates, and one default reminder rule (sends 1–7 days after a cart is abandoned). No manual database work is needed.

4 Enter your license

The module must be activated with your license key before it will run.

  1. Open the module: Addons → Abandoned Cart Recovery for WHMCS.
  2. Because it isn't licensed yet, the License screen appears first.
  3. Paste your License Key into the field and click Save & Activate.
  4. When the status shows Active, the module's tabs unlock and you're ready to configure it.
If activation shows "Invalid" The license is tied to your domain. Make sure the license issued to you is registered for the exact domain your WHMCS runs on (including or excluding www. as appropriate) and that it is active. If it keeps failing, copy the Diagnostic details shown on the license screen and send it to support (see Troubleshooting).

The license is re‑checked automatically about once a day. If our license server is briefly unreachable, the module keeps working for a short grace period so your store is never disrupted.

5 General settings

Open the General Settings tab to control how carts are captured and reminders are delivered.

SettingWhat it does
Guest email requirement Disabled – never ask. Optional – show a popup asking for an email, with a Skip button. Required – guests must enter an email to continue. An email is needed to send a guest a reminder.
Guest reminder delivery Send directly – emails the guest your guest template using your mail settings (recommended). Open a support ticket – creates a ticket instead. If a guest's email matches an existing client, the branded template is always used.
Force login / registration When on, guests are sent to log in or register before they can continue on the cart.
Restore abandoned cart links Adds a one‑click link in reminders that rebuilds the customer's cart.
Allow shopping lists Lets logged‑in clients save their cart as a named list and share it.
Opt‑out links Adds an unsubscribe link to reminders so recipients can opt out.
Default guest ticket department Which support department guest tickets open in (when delivery = ticket).
Max reminders per cart How many reminders a single cart may ever receive (prevents over‑emailing).
Mark cart abandoned after (hours) How long a cart sits inactive before it's considered "abandoned" and eligible for reminders.
Dashboard default range Default time window (months) shown on the dashboard graphs.

Click Save settings when done.

6 Reminder rules

The Reminders tab is where you decide who gets reminded, when, and with which email. A default rule is created for you; you can edit it or add more.

  1. Go to the Reminders tab and click + New reminder (or Edit an existing one).
  2. Set a Name, and choose Enabled.
  3. Pick the Target audience: clients, guests, or both.
  4. Set the cart age window — e.g. "from 1 day to 7 days" sends to carts between 1 and 7 days old.
  5. Choose the Client email template and Guest template to send.
  6. Optionally restrict by product, addon, or domain TLD, attach a promo code, and toggle the restore link.
  7. Click Save reminder.
Tip — drip campaign Create several rules with different age windows (e.g. 1–2 days, 3–5 days, 6–10 days) and different messaging to nudge customers more than once. "Max reminders per cart" in settings caps the total.

You can also send a reminder manually: on the Shopping Carts tab, tick one or more carts, choose a reminder, and click Send reminder to selected.

7 Cron setup

Reminders are sent on a schedule. The module already runs from the standard WHMCS daily cron, so no setup is required for most stores. If you want reminders on their own schedule, add this cron job (once a day is recommended):

0 6 * * * php -q /path/to/whmcs/modules/addons/AbandonedCart/cron/cron.php

Replace /path/to/whmcs with your real WHMCS path. In cPanel use Cron Jobs to add the same command.

How it works Each run marks inactive carts as "abandoned," then sends any reminders whose rules match — emailing clients, and emailing/ticketing guests — and records everything on the Logs tab.

8 Email templates

Two templates are created automatically and can be edited under System Settings → Email Templates (look under General messages):

  • Abandoned Cart Recovery - Logged In Client Notification
  • Abandoned Cart Recovery - Open Ticket For Guest

You can rewrite the wording, subject and styling. These merge tags are available:

Merge tagInserts
{$cart_items_table}A table of the items left in the cart
{$restore_button}The "restore my cart" link (hidden if disabled)
{$promo_block}The promo code line (only if a code is attached)
{$optout_block}The unsubscribe link (only if opt‑out is enabled)
{$company_name}Your company name
{$client_name}The client's name
Heads up Re‑activating the module restores these two templates to their default wording. If you customise them heavily, keep a copy of your text, or duplicate them under a new name and point your reminder rule at the copy.

9 What your customers see

Everything works on the standard Twenty‑One and Six themes, and on Lagom 2.

  • Email capture popup on the cart (if enabled) so guests can be reminded.
  • Save cart as list button for logged‑in clients, and a My Shopping Lists page in their account menu.
  • Restore link in reminder emails that rebuilds their cart and sends them to checkout.
  • Unsubscribe link so they can opt out of reminders.
Note on restored carts Restoring a cart brings back products, addons, domains, billing cycle and quantity. Configurable options and custom fields are not restored and may need to be re‑selected at checkout.

10 Translations & wording

The customer‑facing text lives in modules/addons/AbandonedCart/lang/english.php. To change wording without losing it on updates, create an override file:

  1. Copy lang/overrides/english.sample.php to lang/overrides/english.php.
  2. Keep only the lines you want to change and edit their text.
  3. Save — your overrides are merged on top of the defaults and survive updates.

? Troubleshooting

License shows "Invalid"

Your license server answered, but the license isn't valid for this domain yet. Check that the license is Active and registered for the exact domain (mind the www.), and that the key has no extra spaces. The Diagnostic details box on the license screen shows what was sent and received — include it when contacting support.

License shows "Error"

The license server couldn't be reached. Confirm your server can make outbound HTTPS (cURL) requests and isn't blocked by a firewall. The module keeps running on a short grace period meanwhile.

The email‑capture popup says it can't save

Make sure the module folder uploaded completely (including ajax.php) and that your WHMCS System URL protocol matches your site (both https). Clear your browser cache with Ctrl/Cmd + Shift + R.

Changes don't seem to take effect

After re‑uploading files, clear your server's PHP OPcache (restart PHP, or in cPanel toggle the PHP version), then empty templates_c/ in your WHMCS root so templates recompile.

Reminders aren't sending

Confirm the license is Active, the cart is old enough for your rule's age window, at least one reminder is Enabled, and your WHMCS cron is running. The Logs tab records every send and skip.

@ Support & documentation

Online documentation: Abandoned Cart Recovery for WHMCS — Knowledgebase.

Need help? Open a support ticket from your client area and include your WHMCS version, PHP version, and the license Diagnostic details if your issue is about activation.

© Abandoned Cart Recovery for WHMCS — Merchant Installation Guide.
Was this answer helpful? 0 Users Found This Useful (0 Votes)

Powered by WHMCompleteSolution