1. Home
  2. Free tools
  3. Email list tools
  4. WooCommerce customers to email list

WooCommerce customers to email list: orders folded per customer, spend added, staff left out

In short: Reads the WooCommerce Customers or Orders download (or an order-export plugin file, or a WordPress users export) and gives one row per billing address with orders, paid orders, total spent and last order. Failed, cancelled and refunded orders don't count as paid; staff accounts can be set aside. Limit: Marketing consent can only be read when an opt-in plugin adds a column to the export.

To get an email list from WooCommerce, go to WooCommerce > Customers (or Analytics > Orders), click Download and upload the CSV here. Orders fold into one row per billing email with paid orders and spend, only completed and processing orders count as paid, and a WordPress users export works too, with staff accounts set aside.

Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. See pricing

Runs in your browser. Nothing is uploaded.
Options
Sample result from the WooCommerce customers to email list
Show the sample result as

Sample result

7 WooCommerce orders became 5 customers, 3 of them paying.

Customers
5 customers
Order rows
7
Paying
3

What this means for you

Only completed and processing orders count toward spend; staff accounts are set aside.

Next step:Verify the cleaned list
  • One row per billing email
  • Failed and refunded orders not in spend
  • Line items counted once per order
  • Staff roles set aside
  • WooCommerce
  • Orders
  • CSV

By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us

Also in: Português (Brasil) · Español

How do I turn a WooCommerce export into an email list?

  1. In WordPress, go to WooCommerce > Customers and click Download, or Analytics > Orders > Download for an orders file. An order-export plugin's CSV works too, as does Users > Export from a users-export plugin.
  2. Upload the CSV or Excel file here, or paste it.
  3. Choose: keep only customers with a completed or processing order, set aside staff accounts, keep only marketing opt-ins when the export has that column.
  4. Download the customer list and the set-aside file with the reason per address.

Example

You enter
A WooCommerce orders export with 7 orders: 2 completed orders for ana.silva@example.com in different case, one processing, one failed, one refunded and one pending order with no email.
You get
5 customers, 3 of them paying. Ana is one row with 2 paid orders and 100.00 spent; the failed and refunded orders are counted but add nothing to spend; 1 order counted as having no address.
Limits
Runs in your browser with no row cap; an uploaded file can be up to 25 MB.

How do I export customer emails from WooCommerce?

Go to WooCommerce > Customers, set the filters and click Download; WooCommerce emails you the CSV if the list is large. It has Name, Email, Orders, Total spend and Country / Region. For one row per order, use Analytics > Orders > Download, which includes the order status.

An orders file repeats the customer on every order (and on every line item with some plugins). The tool counts each order number once, adds the spend of completed and processing orders, and keeps the latest order date.

Which WooCommerce orders count as paying customers?

Completed and processing. Pending payment, On hold, Failed, Cancelled and Refunded orders are counted in orders but not in paid_orders or total_spent. Tick Keep only customers with a completed or processing order to set aside people whose checkout never went through; their address is more often mistyped.

Can I email all my WooCommerce customers?

About their orders, yes. For marketing, WooCommerce doesn't record consent by default, so it depends on how you asked at checkout. If an opt-in plugin (MailPoet, a checkout checkbox) adds a column to the export, the tool finds it and can keep only the yes answers. The FTC's CAN-SPAM guide covers the US and the ICO's guidance the UK.

Is this faster than a pivot table on the orders export?

This toolExcel pivot table
One row per customerOrders counted oncePivot on Billing Email
Paid orders only in spendCompleted and processingFilter status first
Line-item rowsOrder number counted onceCount distinct needs the data model
Staff accountsSet aside by roleFilter roles by hand

Who uses this tool, and for what?

Store owners
Get one row per buyer with spend for a thank-you or win-back email.
WordPress agencies
Move a client's customers to Klaviyo or Mailchimp without staff accounts in the list.
Subscription boxes
Separate paying customers from checkouts that failed before a relaunch email.
Marketers
Segment by country and spend from one clean CSV.

What can’t this tool tell you?

  • Marketing consent can only be read when an opt-in plugin adds a column to the export.
  • Order totals are added as exported; mixed currencies are not converted.
  • It can't tell which addresses still have a working inbox.
  • Staff are found by the roles column, so a users export without roles can't tell them apart.

Common questions

Does it work with a WordPress users export?
Yes. user_email and roles are read; administrators, shop managers, editors and authors are set aside by default so staff don't get the campaign.
What about guest checkouts?
Guest orders appear in the orders download with their billing email and are included. The Customers download lists guests too.
Does it work with order-export plugins?
Yes. Columns like Billing Email, Order Number, Order Status and Order Total are found by name, with or without the billing prefix.
How is total spent worked out?
From the orders file, the order totals of completed and processing orders are added. From the Customers download, its Total spend column is used.
Is my customer list uploaded?
No. It is read in your browser. Nothing is sent unless you choose to check the addresses afterwards.

Sources

A tidy list can still be full of dead addresses.

Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.

  • Upload the cleaned file as it is: CSVs up to 100,000 rows
  • A real SMTP mailbox check on every row, with catch-all detection
  • Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime

Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.

Clean your next list before it bounces

100 free email checks when you sign in with Google, no card. Then monthly plans from $9, or one flat price with fair use, never cut off.

100 free checks, no card Cancel anytime Secure payment by Stripe