Attendee CSV converter

Two measured configurations, one exporter

Selected Advanced Order Export CSV layouts

This independent free prototype is not affiliated with WooCommerce/AlgolPlus and is not compatible with every WooCommerce export, WordPress site or attendee plugin. Its supported scope is the two configured layouts below from Advanced Order Export free 4.1.2. Other labels may be mapped manually, but a successful conversion is not proof of compatibility beyond the measured conditions.

Order layout: scalar Staff 1โ€“4 order metadata

Exact measured columns: Order Number, Company, then Staff 1 Name, Staff 1 Email, Staff 1 Country, Staff 1 Role, repeated as Staff 2, Staff 3 and Staff 4. One order per row, a nonempty unique order identifier, and separate scalar attendee metadata are required. Up to four slots; every populated slot needs a full name. Empty mapped slots are warned, not silently ignored. Exclude product-row fields that repeat the order's participants.

Order Number,Company,Staff 1 Name,Staff 1 Email,Staff 1 Country,Staff 1 Role,Staff 2 Name,Staff 2 Email,Staff 2 Country,Staff 2 Role,Staff 3 Name,Staff 3 Email,Staff 3 Country,Staff 3 Role,Staff 4 Name,Staff 4 Email,Staff 4 Country,Staff 4 Role
DEMO-ORDER-1,Example Studio,Alex Example,alex@example.test,Japan,Host,Robin Sample,robin@example.test,Germany,Guest,,,,,,,,
DEMO-ORDER-2,Example Studio,Casey Demo,casey@example.test,Canada,Guest,,,,,,,,,,,,

Expected output:

order_id,company,attendee_name,email,country,role
DEMO-ORDER-1,Example Studio,Alex Example,alex@example.test,Japan,Host
DEMO-ORDER-1,Example Studio,Robin Sample,robin@example.test,Germany,Guest
DEMO-ORDER-2,Example Studio,Casey Demo,casey@example.test,Canada,Guest

Item layout: named attendee metadata, Quantity 1

Exact measured columns: Order Number, Company, Attendee First Name, Attendee Last Name, Attendee Email, Country, Role, Quantity. Scalar item metadata supplies the person. Each row must already represent one named attendee and Quantity must be 1. The order identifier repeats when multiple people share an order. This is already an attendee-per-row layout: the tool standardizes columns, it does not discover or multiply people.

Order Number,Company,Attendee First Name,Attendee Last Name,Attendee Email,Country,Role,Quantity
DEMO-ITEM-1,Example Team,Alex,Example,alex@example.test,Japan,Host,1
DEMO-ITEM-1,Example Team,Robin,Sample,robin@example.test,Germany,Guest,1
DEMO-ITEM-2,Example Team,Casey,Demo,casey@example.test,Canada,Guest,1

Expected output:

order_id,company,attendee_name,email,country,role
DEMO-ITEM-1,Example Team,Alex Example,alex@example.test,Japan,Host
DEMO-ITEM-1,Example Team,Robin Sample,robin@example.test,Germany,Guest
DEMO-ITEM-2,Example Team,Casey Demo,casey@example.test,Canada,Guest

Both examples above and both demo buttons are authored simplifications based on measured CSV layouts, with invented names and reserved example.test addresses. They contain no real participant data and are not byte-for-byte plugin-generated exports. The separate measurement below used CSVs written by the installed plugins.

Five measured unsupported configurations

Input and review limits

Use UTF-8 CSV with a header and consistent rows. Comma, semicolon and tab separators, BOM, quoted commas/quotes and embedded newlines are handled. Maximum 2 MiB, 5,000 data rows, 100 columns and four wide slots. Malformed CSV, missing IDs, incomplete names and duplicate column mappings stop conversion. Recognized purchaser/product names and bracket-leading structured-looking names are refused. No deduplication, quantity expansion or recovery of missing data is performed. Review warnings and reconcile all people; manually renamed headers cannot establish who is an attendee.

Try the two simplified examples Follow the preparation guide

What has actually been checked

Checked on 11 October 2026. We ran the export engines of free plugins in a WordPress Playground/SQLite, WordPress 7.1.3 / WooCommerce 11.2.1 environment (HPOS disabled) using our own fictional orders. This verifies the listed CSV configurations, not every plugin setting, event extension, checkout process or live store.

Source and layoutEvidenceResult / usefulness
Advanced Order Export 4.1.2: one order per row; separate Staff 1โ€“4 name/email/country/role order-meta columnsPlugin-generated local CSVConverted 3 known attendees across 2 fictional orders. This is the clearest use case for flattening repeated attendee columns.
Advanced Order Export 4.1.2: separate attendee first/last/email item-meta columns; each item quantity 1Plugin-generated local CSVConverted 3 known attendees across 2 orders after confirming one named attendee per row. Already one attendee per row; this tool only changes the output columns.
Advanced Order Export: product rows repeating order-level attendee slots, blank order continuation rows, quantity 2 with only one named person, serialized registration payloadFour plugin-generated local CSV configurationsRejected. Re-export flat attendee data with the correct row unit. No forward-fill, deduplication, quantity expansion or metadata decoding.
WebToffee Order Import Export free 2.7.9: standard order bulk exportPlugin-generated local CSVNot convertible to an attendee list: the tested order-level registration fields were absent. Purchaser fields are not replacement attendee names.
WooCommerce Customer/Order/Coupon Export: default order and one-row-per-item samplesTwo developer-distributed export samples; paid plugin not runCSV syntax accepted, but no separate attendee names in these samples. Their separate CSV Import Format sample is not export execution evidence.
FooEvents attendee exportOfficial documentation only; plugin not runUse its built-in attendee CSV export first. If it already supplies your attendee list, this converter is unnecessary. Exact column-level compatibility remains unmeasured.

The two supported local configurations preserved all 6 known names. Five other locally generated configurations were not usable as attendee lists. This small, deliberately constructed set is not a general WooCommerce compatibility rate. The two demo buttons load authored simplified examples based on the measured layouts, not the original plugin exports.

Choose your exporter settings carefully

For the tested wide workflow, include existing scalar attendee order-meta fields as individual columns, include an order identifier and choose one order per row. Staff 1 Name / Staff 1 Email and similar labels can be guessed, but custom labels require manual mapping. An exporter cannot include names your store never captured. For item-meta exports, each row must already name exactly one participant and any Quantity column must be 1; multiple purchased units do not establish multiple attendees.

Purchaser, billing/shipping-name and product-name columns are refused as attendee names. Wide mode refuses repeated order identifiers to prevent duplicating order-level participants across products. JSON/PHP-like values mapped to name fields are refused rather than emitted as people. Bracket-leading names are also conservatively refused; review and flatten the source instead. Blank continuation rows and unsupported metadata stay errors.

Official references and alternatives

This is a limited free research prototype, not affiliated with WooCommerce or AlgolPlus. A general paid WooCommerce attendee-conversion product still needs a real workflow that existing attendee exporters do not already solve. No broad compatibility or purchase-demand claim is made.