An attendee was not created after a purchase

A paid order exists and the buyer is not in the event's attendee list. This is the most common WooCommerce issue, and it usually has one of five causes.

The rule that explains it

Enrollment happens when the order's thank-you page is rendered. Not when payment is taken, and not when the order status changes.

Every cause below follows from that.

1. The buyer never reached the confirmation page

They closed the tab as soon as the payment provider confirmed, or the redirect back to the site failed.

Fix: ask them to open the order from their account's order history. Reaching the confirmation page normally completes the enrollment. That single instruction resolves most of these reports without any admin work.

2. The product was bought directly from the shop

A purchase made outside the event page carries no event link, so nothing knows which event to enroll into.

Fix now: add the person manually. Fix permanently: hide ticket products from the shop catalogue so the event page is the only route.

3. Payment completed asynchronously

Bank transfers, offline methods and delayed providers do not put the buyer through the confirmation page in the normal flow.

Fix: treat these as always needing manual reconciliation. If most of your sales work this way, plan the manual step as the norm.

4. The order was created in the admin

Manual orders do not pass through the confirmation page either.

5. Guest checkout with no customer account

Enrollment attaches to the order's customer account. Without one, there is nothing to enroll.

Fix: require accounts at checkout for paid events, or accept that guest orders need manual handling.

Diagnosing a specific case

  1. Open the order in WooCommerce.
  2. Confirm it records an associated event — if it does not, the purchase did not come from an event page.
  3. Confirm the order has a customer account.
  4. Open that event's attendee panel and check all three sections; they may be on the waiting list.
  5. Check whether they are already registered under a different address.

The routine that prevents it

Reconcile weekly, and again before each event:

  1. List paid orders for the event's product.
  2. Open the event's attendee list.
  3. Compare.
  4. Resolve the differences.

For a small volume this takes minutes. For a larger one, export both and compare in a spreadsheet.

There is no notification when enrollment does not happen, so the routine is the only safeguard.

The buyer was enrolled but on the waiting list. The event was full when the order completed. Capacity is respected regardless of payment — see A registration was wait-listed unexpectedly.

The confirmation page said they already signed up. They were already registered, from an earlier order or from the form. No second record was created; decide whether the order needs refunding.

The attendee exists but has no telephone or comment. Those come from the order's billing phone and customer notes. If your checkout does not collect them, they are empty.

Before asking for help

Note the event, the product, the order number, the payment method, whether the buyer reached the confirmation page, whether the order has a customer account, and whether the person appears in any section of the attendee panel.

Never send order data, customer details or attendee exports. See Safe information to send with a support request.