How to generate event attendance and ticket sales reports in WordPress
WordPress does not provide one universal event report. Use your event plugin’s booking or attendee records, and WooCommerce order reports when tickets are sold as products. For filtered attendance and sales reports with exports, an event reporting addon is usually the quickest route.
- 01Define attendance clearly
- 02Check your booking records
- 03Export the manual report
- 04Reconcile WooCommerce sales
- 05Build the summary
- 06Use advanced reporting when needed
What you need
- An event or booking plugin that records attendees and ticket orders
- Admin access to WordPress
- WooCommerce access if tickets are sold through WooCommerce
- A spreadsheet application for manual totals
Define attendance clearly
Decide whether your report should show registrations, tickets sold, paid bookings, verified bookings, or people who actually checked in. These are different figures. A sold ticket is not proof that someone attended, so actual attendance requires check-in data or another attendance field.
Choose the reporting period, events, ticket types, payment statuses, and columns you need before exporting anything.
Check your booking records
Open your event plugin’s booking, registration, or attendee area and select the event and occurrence you need. Review the attendee names, ticket quantities, booking status, payment status, price, and any check-in value recorded by the plugin. In Modern Events Calendar, event bookings can include attendee names, email addresses, transaction IDs, and purchase amounts.
For a quick headcount, some event systems provide an attendee report or notification. MEC’s attendee report shows the total attendees for the current booking, but it is a booking summary rather than proof that every ticket holder arrived.
Export the manual report
Use the booking or attendee export supplied by your event plugin. In MEC, the booking tools can export booking data, while the export-and-purge tool sends older records as a CSV and leaves WooCommerce orders untouched. Do not use the purge option until you have checked and backed up the exported file.
Open the CSV in a spreadsheet and filter out cancelled, rejected, refunded, or pending records according to your reporting rules. Sum ticket quantities for sales, then count checked-in records separately for attendance. Keep the original export unchanged so you can reconcile figures later.
Reconcile WooCommerce sales
If tickets are WooCommerce products, compare the event-plugin booking export with WooCommerce orders. Filter orders by the event ticket product, date range, and a paid or completed status, then compare order quantities and net sales with the booking data.
Do not count orders alone as attendance. One order can contain several tickets, and a refunded or cancelled order may still appear in an export. WooCommerce Box Office, for example, provides ticket-holder CSV exports and a report showing total tickets sold by event or product.
Build the summary
Create a summary with at least these figures: tickets sold, paid tickets, free tickets, cancelled or refunded tickets, gross sales, discounts, fees, net sales, registered attendees, and checked-in attendees. Add a separate line for unknown or missing check-in values instead of treating them as attended.
For recurring events, group the data by occurrence date. This prevents one event series from hiding a poorly attended date and makes staffing and capacity decisions easier.
Use advanced reporting when needed
For occasional events, the manual export route is usually sufficient. If you regularly compare events, payment methods, organisers, categories, locations, or date ranges, install MEC Advanced Reports Addon alongside MEC Pro. Its reporting screen supports filters, attendee lists, booking and income statistics, charts, and CSV, XML, JSON, and PDF exports.
Open the report, set the date and event filters, check the booking statuses included, review the attendee list, and export the filtered result. The important Friday-afternoon check is to confirm that your filters have not excluded recent bookings and that the report is measuring bookings or check-ins as intended.
Let MEC Advanced Reports Addon do it
Filterable attendance and ticket-sales reports with CSV and PDF exports for sites needing deeper event analytics.
Sources
- webnus.net /dox/modern-events-calendar/add-event/?utm_source=openai
- webnus.net /dox/modern-events-calendar/event-notifications/?utm_source=…
- webnus.net /dox/modern-events-calendar/booking-report/?utm_source=opena…
- woocommerce.com /document/woocommerce-box-office/?utm_source=openai
- webnus.net /dox/modern-events-calendar/mec-advanced-reports-addon/?utm_…
Questions
- Can WordPress generate event attendance reports without a plugin?
- Not in a useful event-specific form. WordPress core has no attendance or ticket-sales reporting system, so you need an event, booking, ticketing, or ecommerce plugin to record the data. You can then export registrations or WooCommerce orders and calculate totals in a spreadsheet, but actual attendance still requires check-in data.
- Are ticket sales the same as event attendance?
- No. Ticket sales measure transactions or ticket quantities, while attendance measures people who arrived or were checked in. A single order may contain several tickets, and some paid ticket holders may not attend. Report sold, registered, and checked-in figures as separate totals rather than presenting sales as attendance.
- How do I report tickets sold through WooCommerce?
- Filter WooCommerce orders by the relevant ticket products, date range, and valid payment status, then total the item quantities and sales amounts. Compare that result with the event plugin’s booking records because refunds, cancellations, free tickets, fees, discounts, and multiple tickets per order can make the figures differ. WooCommerce reporting extensions can also export ticket-holder information to CSV.
- Why is my attendance report missing people?
- The usual causes are an active date or event filter, pending or unverified bookings being excluded, cancelled records being removed, or check-in data not being recorded. Review the report filters, booking statuses, event occurrence, and timezone first. In MEC Advanced Reports, the attendee list is affected by the dashboard filters, so an overly narrow filter can hide valid records.
- What is the fastest way to create recurring event reports?
- Use a reporting addon that can filter by event, date, category, organiser, or location and export the result. For MEC sites, Advanced Reports provides filtered attendee lists, sales and income statistics, charts, and CSV or PDF export, provided MEC Pro and the addon are active. For a small number of events, a booking CSV plus a spreadsheet pivot table is usually faster than setting up a full reporting system.