WooCommerce buyers (from orders) in a live spreadsheet

Add the Buyers (from orders) table to a sheet as a data source named buyers_from_orders and its 11 columns become names your formulas, pivot tables and charts use. Sheets reads it from your WooCommerce store each time the sheet opens or refreshes.

Formulas on this table

=data.buyers_from_orders.sum(orders)
Total orders. Adds up the Orders column over every row of Buyers (from orders).
=data.buyers_from_orders.sum(orders, country, A2)
Orders per country. With a country in A2, the total for that one. Fill it down next to a list of them.
=list.buyers_from_orders(country)
Every country, once. Spills the distinct country values down the column: the row labels for the formula above.
=data.buyers_from_orders.sum(orders, first_order, ">=2026-01-01")
Since a date. Only rows whose First order is on or after 1 January 2026. Criteria such as ">=", "<" and "<>" work as in any spreadsheet.
=data.buyers_from_orders.count(e_mail, country, "<>")
Rows with a country. Counts the rows whose Country is not empty.
=data.buyers_from_orders.avg(total_spent)
Average total spent. avg, min, max, count, countd (distinct) and first work the same way as sum.

Reports that use it

=data.buyers_from_orders.count(e_mail, orders, ">1")
Repeat buyers. Buyers, guests included, with more than one order.

Columns

ColumnIn formulasType
E-maile_mailText
NamenameText
CountrycountryText
RegisteredregisteredYes / no
Customer IDcustomer_idText
OrdersordersWhole number
Total spenttotal_spentNumber
Average orderaverage_orderNumber
First orderfirst_orderDate
Last orderlast_orderDate
CurrencycurrencyText

Other customers tables

Your buyers (from orders), live

Orders, refunds, products, customers and coupons become live tables inside your WordPress admin. Sales reports and dashboards stay current without exporting a CSV.