OCW Customer Cleanup for WooCommerce — WordPress plugin by Onne Kierkels
WooCommerce plugin · v2.0.0

Clean up WooCommerce customers
safely. In bulk.

Filter by registration date, role and more. Bulk-select, preview, optional CSV backup, then delete. Admins and Shop Managers are always protected. Free up to 50 customers per operation; PRO adds advanced filters, dry-run preview, CSV backup, and scheduled monthly cleanups.

WooCommerce 6.0+ WordPress 6.0+ PHP 8.0+ HPOS-ready Cart & Checkout Blocks
Customer Cleanup 3 selected
guest-2024-a@…0 orders · registered 14 Jan 2024
Subscriber
cart-abandoner@…0 orders · registered 2 Mar 2024
Customer
old-test@…1 order · registered 8 Aug 2023
Customer
shop@store.comShop Manager — auto-skipped
Protected
3 customers, 1 protected Delete

WooCommerce collects accounts faster than you can use them.

After a year of campaigns, your Users table is full of guests, subscribers and one-time buyers that nobody will ever interact with again. Deleting them one-by-one in Users → All Users is unworkable.

01
WP Users page can't bulk-filter

You can't say "all Subscribers registered before 2023 with zero orders" in standard WP. Either you scroll, or you write SQL.

02
Manual deletes are dangerous

One misclick on an admin account and your site is locked out. This plugin refuses to delete administrators and shop managers — no matter what.

03
You want a paper trail

If you delete 800 customers and accounting asks "who exactly?", PRO's automatic CSV backup gives you the answer in `wp-content/uploads/cbdfw-backups/`.

04
Cleanup should be a habit, not a project

PRO's scheduled-delete feature runs the same recipe weekly or monthly, so your Users table never balloons again.

Three short steps,
no SQL, no surprises.

All inside WP-admin → WooCommerce → Customer Cleanup.

1

Filter

Pick a registration date range and a role (Customer / Subscriber). PRO adds advanced filters: last login, no orders since, email domain, max total spent.

Date + role (free)Last login (PRO)Total spent (PRO)
2

Preview & select

Click Fetch — get a tabular list with email, role, registration date and order count. Tick the ones you want gone. PRO offers a dry-run preview that shows totals + sample rows without committing.

Tick-to-selectDry-run (PRO)Admin protection
3

Delete (with backup)

Confirm. With PRO's safety-checkbox on, every deleted customer is written to a CSV in `wp-content/uploads/cbdfw-backups/` first. Admins and Shop Managers are always skipped.

Auto re-assign contentCSV backup (PRO)Always-protected roles

Safe by default,
scalable when you need it.

All the basics for free. PRO adds the safety net and the automation for stores that clean up regularly.

Basic filtering

In both Free and PRO.

  • Registration date range — from / to
  • Role — Customer / Subscriber / All
  • Order count shown per row
  • Live selected count in the action bar

Advanced filters (PRO)

Surgical precision before you click delete.

  • Last login before a given date (via `_last_login` user meta)
  • No completed/processing orders since X — keeps recent active buyers safe
  • Email domain contains — filter out an entire ESP burst
  • Max total spent — exclude high-value customers from cleanup

Safety nets

It's harder to delete the wrong person than to write SQL by hand.

  • Admins + Shop Managers can NEVER be deleted — hard-coded check
  • Content re-assigned to admin (ID 1) — posts, products, orders are never orphaned
  • Dry-run preview — counts + sample rows + admin skips, no commit (PRO)
  • CSV backup before delete — folder is HTTP-blocked (PRO)

Scheduled cleanup (PRO)

Cleanup as a habit.

  • Daily / weekly / monthly cron
  • Recipe-based — role + days-old + (any saved advanced filter)
  • 500 deletes per run cap — predictable load, never overwhelms a server
  • Email notification with deleted-count on completion

Free limits

What changes between free + PRO.

  • Free: 50 customers per delete click
  • Free: no advanced filters (date + role only)
  • Free: no dry-run preview
  • Free: no CSV backup or scheduled deletes

Under the hood

Built on standard WP / WooCommerce APIs.

  • WP_User_Query for filtering
  • wp_delete_user for actual deletion
  • HPOS + Cart & Checkout Blocks compatible
  • Auto-updates via OCW License Server (PRO)

Standard WooCommerce, nothing exotic.

Free runs entirely on WordPress + WooCommerce. PRO uses the OCW License Server for license validation and updates — no other external services.

WordPress

6.0 or higher

WooCommerce

6.0 or higher

PHP

8.0 or higher

Version

2.0.0

Start free.
Upgrade when you need the safety net.

Free covers a one-off cleanup of up to 50 accounts. PRO is for stores where cleanup is recurring and high-volume.

Free

OCW Customer Cleanup for WooCommerce

For an occasional cleanup of up to 50 customers.

0

Free forever · 1 site

  • Up to 50 customers per delete operation
  • Filter by registration date + role
  • Admins + Shop Managers always protected
  • Content re-assigned to admin (ID 1)
  • HPOS + Cart & Checkout Blocks compatible
  • Tutorial submenu with progress detection
  • OCW house-style admin (teal / navy / pink)

No signup, no API keys required.

PRO

OCW Customer Cleanup for WooCommerce PRO

For stores where cleanup is recurring and high-volume.

39

per year · 1 site · excl. VAT

  • Everything in Free, plus:
  • Unlimited deletes per operation (no 50-customer cap)
  • Advanced filters: last login, no orders since, email domain, max total spent
  • CSV export-before-delete (auto-backup, browser-blocked folder)
  • Manual CSV export of selected customers
  • Dry-run preview — see counts + sample without deleting
  • Scheduled cleanup (daily / weekly / monthly cron)
  • Email notification after each scheduled run
  • Automatic updates via OCW License Server
  • Priority support — personal help via email

Per year. Instant access after payment. Cancellable annually.

What people usually want to know
before they install.

Answers to the questions I get most often.

Will this delete administrators?

No. Administrators and Shop Managers are hard-coded as protected — the plugin's delete_customers() method explicitly refuses to call wp_delete_user on them, regardless of what you selected in the UI.

What happens to a customer's past orders when I delete them?

Orders themselves are NOT deleted — only the user account. Order content is re-assigned to the admin user (ID 1). The original customer's name, address and billing data on past orders is preserved by WooCommerce.

Can I undo a delete?

Not directly — wp_delete_user is permanent. But with PRO's CSV-backup-before-delete checkbox enabled, every deleted customer is written to a CSV in wp-content/uploads/cbdfw-backups/ first. You can re-create accounts from that CSV if needed.

Why is the free version capped at 50 customers per delete?

Honest answer: it's the PRO upgrade incentive. The technical limit is much higher. Free is meant for one-off cleanups; sites that need ongoing bulk deletes benefit from PRO's other features anyway (advanced filters, CSV backup, dry-run, scheduling).

Is it compatible with HPOS and the block-based checkout?

Yes — both are declared compatible via the WooCommerce features API.

How do PRO updates work?

Updates appear in your normal WordPress updates screen. The plugin checks the OCW License Server with your license key, and only an active license receives the new ZIP.

Questions about the plugin?

Or you'd like something adjusted for your situation — I'd love to hear it. I always reply personally.

OCW Customer Cleanup for WooCommerce icon

Recognizable in your WordPress dashboard

This is how OCW Customer Cleanup for WooCommerce shows up in the WordPress.org plugin directory and in your plugins list — look for the teal-and-pink OCW style.

OCW Customer Cleanup for WooCommerce directory banner