Repeatwright – Customer Segments, RFM & Retention For WooCommerce Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Repeatwright turns your existing WooCommerce orders into customer intelligence. It groups every customer into one of eleven RFM segments (Champions, Loyal, At Risk, Can’t Lose, Lost …), shows your repeat purchase rate and average lifetime value, and plots cohort retention month by month. Everything is computed on your server from your orders. No data leaves your site.
Overview
- Customers, repeat rate, average lifetime value, orders per customer, median days between orders and 90‑day active customers. When the repeat rate counts only customers whose first order falls inside the selected range (the default), it is also compared with the previous period of the same length.
- RFM grid with customer count, revenue and share per segment. Click a tile to see the customers.
- Lifetime value distribution, new vs returning revenue by month and your top customers.
Customers
- Filter by segment, spend, orders, last order date, country, acquisition source, tag, product, category or coupon.
- Bulk export to CSV (the selected rows, or every customer matching the filter), copy emails, add tags, or create a WooCommerce coupon restricted to those customers’ email addresses. Repeatwright adds at most 500 addresses to one coupon; this is Repeatwright’s own limit and the
repeatwright_coupon_email_limitfilter changes it. - Customer drawer with the order timeline, RFM explanation, top products, tags, notes, consent state and unsubscribe toggle.
- Segment badge in the WordPress users list and a customer summary box on every order.
Segments
- Visual rule builder with AND / OR groups: spend, orders, recency, first order, average order, country, source, tags, products bought, categories bought, coupons used, RFM segment, marketing opt‑in and, when WooCommerce Subscriptions is active, whether the customer has an active subscription.
- Live count while you edit. Membership is refreshed nightly, after a full recalculation, when a segment is saved and when you click Refresh.
- Export, copy emails, coupon or email any segment.
Cohorts
- Retention heatmap by month of first order; toggle between percentage, customers and revenue.
Emails
- Send a message to any segment through WooCommerce’s own email template with merge tags ({first_name}, {coupon_code}, {orders}, {total_spent} …).
- Test send, schedule for a date and time in the site timezone, throttled batches through Action Scheduler (one batch per minute until everyone is sent), a per‑recipient log (the screen shows the latest 200 entries) and an automatic unsubscribe link.
- Consent gate: when opt‑in is required, only customers whose orders carry a marketing opt‑in receive emails. The opt‑in is read from the order meta key
mailchimp_woocommerce_is_subscribed(written by Mailchimp for WooCommerce), from the keys_wc_marketing_optinandmarketing_optin(WooCommerce itself does not write them; a checkout field plugin or custom code can) or, when none of those keys is set on the order, from therepeatwright_order_optinfilter. Required by default when the store’s base country is in the EEA (the EU plus Iceland, Liechtenstein and Norway), the United Kingdom or Switzerland.
Developers
Filters: repeatwright_order_amount, repeatwright_count_order, repeatwright_counted_statuses, repeatwright_order_source, repeatwright_order_optin, repeatwright_segment_key, repeatwright_segment_fields, repeatwright_segment_rules, repeatwright_merge_tags, repeatwright_email_allowed, repeatwright_capability, repeatwright_ltv_buckets, repeatwright_coupon_email_limit, repeatwright_batch_time_budget.
Actions: repeatwright_stats_computed, repeatwright_customer_updated, repeatwright_segment_entered, repeatwright_segment_left, repeatwright_email_sent, repeatwright_unsubscribed.
Helper: repeatwright_customer_segment( $email_or_user_id ).
WP-CLI: wp repeatwright recalc run|status|cancel, wp repeatwright segments list|refresh, wp repeatwright export --segment=<id> --file=<name>.csv (the file is written to the repeatwright folder in uploads, with a random suffix added to the name).
REST: repeatwright/v1 (overview, customers, segments, cohorts, emails, settings).
Privacy
Repeatwright stores, in your own database, a summary per customer built from your orders:
- Billing first name, last name, email address and country from the most recent order, and the linked WordPress user id.
- Order aggregates: number of orders and refunds, total spent, order currency, first and last order dates, average order value, the products, top product, top category and coupons bought and the months they were bought in, RFM scores and segment.
- The acquisition source: the UTM source (or source type) that WooCommerce order attribution recorded on the order.
- The marketing opt-in state read from the order, whether the customer has unsubscribed, and any tags and notes your staff add.
- Segment membership: which RFM and custom segments each customer belongs to and the date they entered each one.
- For segment emails: the list of customers each email was sent to and a per-recipient log (sent, failed or skipped, with the reason and time).
The summary is kept for as long as the plugin is installed and removed on uninstall unless “Keep customer stats, segments and emails when the plugin is uninstalled” is on under Settings Advanced. The per-recipient email log, and the recipient list of sent or cancelled emails, are deleted by the nightly job once they are older than the number of days set under Settings Consent (30 by default); the email’s subject, body and sent/skipped counts are kept. This plugin does not contact any external service; emails are sent through your site’s own mailer.
CSV exports contain names, email addresses and order statistics. Exports from the admin screen are downloaded by your browser and not stored on the server. wp repeatwright export --file=<name>.csv writes the file to the repeatwright folder inside your uploads directory, adding a random 16-character suffix to the name so it cannot be guessed, and places an index.php and a deny-all .htaccess in that folder (the .htaccess only works on Apache-style servers). The command prints the full path. Move or delete the file once you have it. Uninstalling the plugin deletes that folder unless that same setting is on.
The plugin registers a personal data exporter and eraser with the WordPress privacy tools (Tools Export / Erase Personal Data). The export contains the stored summary for that address (including staff notes, consent and unsubscribe state, acquisition source, currency, products, categories, coupons, RFM scores and active months), its segment memberships with the date each was entered, and its segment email log entries. Erasure anonymises the customer record, deletes its segment memberships and remembers the address (as a hash) so a later recalculation does not rebuild it. When WooCommerce removes the personal data from an order (an erasure request, the “Remove personal data” order action or its personal data retention settings), Repeatwright rebuilds that customer’s summary from their remaining orders and anonymises it when no counted order with that address is left. A suggested paragraph for your privacy policy is added under Settings Privacy Policy Guide.
Consent: segment emails only go to customers the store may contact. When “Require marketing opt-in” is on, the opt-in is read from the order meta key mailchimp_woocommerce_is_subscribed (written by Mailchimp for WooCommerce), from the keys _wc_marketing_optin and marketing_optin (WooCommerce itself has no opt-in field and does not write them; a checkout field plugin or custom code can) or, when none of those keys is set on the order, supplied through the repeatwright_order_optin filter. The setting is on by default when the store’s base country is in the EEA (the EU plus Iceland, Liechtenstein and Norway), the United Kingdom or Switzerland, off elsewhere, and can be changed under Settings Consent. Every email carries an unsubscribe link and List-Unsubscribe headers, and unsubscribed customers are never emailed again.
Screenshots
Overview with KPIs and the RFM segment grid.
Customers list with filters and bulk actions.
Segment builder with live count.
Cohort retention heatmap.
Customer drawer with order timeline and RFM explanation.
Segment email composer with merge tags and consent summary.
