Docs RFM Customer Segments

Requirements, privacy and FAQ

WordPress 6.2, PHP 7.4 and WooCommerce 8.0 or newer. Works with High Performance Order Storage and legacy order storage. Pro needs the free plugin.

Privacy

The plugin stores one row per customer on your own server: billing email, a hash of it, name, country, order totals, scores and segment changes. The free plugin sends nothing anywhere. Scores are part of the WordPress personal data export and erase tools. After an erasure a one way hash stays, only so that orders kept for accounting are not scored again. New orders with that email count as a new customer.

Exporting or syncing a list does not mean you may email it. Check the consent rules where you sell. This guide is not legal advice.

A customer used two email addresses.

The billing email is the customer, so that counts as two. The user profile shows the bigger one.

Why did my customer jump from F1 to F4?

When most customers have one order, the lower breakpoints all sit on 1. See section 3.

Which amounts count?

The order total including tax and shipping, less refunds by default. Orders in other currencies are added up as they are, with no conversion.

How big a store can it handle?

It reads orders in batches in the background, so pages stay fast. It was tested with 100,000 simple orders from 40,000 customers: the full run took about 11 minutes with memory steady, and the list stayed fast. Real orders with more lines take longer. Lower the batch size if your server struggles.

Why did a customer leave the list?

Their orders are outside the lookback window, or no longer count, or their role is left out.

For developers

The free plugin has hooks for the segments, breakpoints, order value, list columns, CSV columns, settings and tabs, and fires wfcs_customer_moved for each change of segment. The readme lists them all.