The Events Query Center helps you build the exact list of event records you need when a built-in report does not include the right records or columns. You can ask about registrations, invoice line items, exhibitor booths, add-ons, co-authors, session speakers, exhibitor contacts, and more.
Prerequisites
- Your role needs permission to use the event's Query Center.
- Your role may also need permission for certain question types before you can run or download them. If you do not have access to a type, Rhythm does not show it as a choice.
Open the Query Center
- To ask about all events at once, open the Query Center from the main Meetings & Shows area.
- To ask about one event only, open that event and go to its own Queries area.
Result
When you start inside one event, Rhythm limits the question to that event's records. Events, Priority Points, and Speaker Profiles still span every event, even from inside one event, because those records do not belong to a single event.
Tip
When you save a question inside one event, you can reopen it only from that event's Query Center. It will not appear in the Query Center for all events, so check the event first if you cannot find it later. A page opened inside one event also reminds you that the results, and any question you save there, are limited to that event. It points you back to the global Query Center when you want to ask across every event instead.
Selecting Queries on an event's breadcrumb should take you to the global Events Query Center, not a Query Center limited to the event you were viewing.
To retrieve registration form values for one specific event, create and run the question from that event's own Queries area, using the Registrations query type there.
You can also use a Registrations question to check whether Portal registrations actually completed. Filter to the event, then review fields such as order balance due and order status. A completed registration should show no balance due and a settled order status.
To see the total number of registrations across every event, open the global Query Center from the main Meetings & Shows area and start a Registrations → Registrations question without narrowing it to one event. The total is the number of rows returned. Query Center does not currently produce one result that lists each event with its own registration total, so run the question per event or total the exported rows yourself when you need a count by event.
There is no dedicated API endpoint that returns every registration for one event. The available registration endpoints are scoped for other purposes, such as a member search or one organization's registrations. To pull all registrations for an event through the API, build an Event Registrations question filtered by event ID in Query Center, then run it through the System Query API and download the results.
To find registrations where a membership was added to the package, build a Registrations question across all events or inside one event. Add the criterion Add Membership Package equals Yes, and add the same parent registration field as an output column.
A session-based question, such as Session Speakers, can include event fields like the event name and dates. It cannot include a speaker profile's own custom fields, because the speaker profile is a separate record from the session. Combining event or session detail with a speaker-profile custom field in one question is not currently possible.
Report on Registrations with Session and Ticket Detail
A Registrations question can show session and ticket details for each registration. Add columns for the event's sessions and the number of tickets the person holds for each function fee, alongside the usual registration fields.
- Start a new question on the Registrations query type from inside one event. This is also where you report on that event's transactions in detail, by choosing Registrations → Registrations and adding the output fields you need.
- Add the session and ticket columns you need. Rhythm adds one column for each session in the event, and one column for each function ticket option.
Result
Each session column shows whether the registrant is registered for that session, or Not Registered when the session registration was cancelled. Each ticket column is labeled with the function and fee, formatted as <function>/<fee> [# tickets on registration], and counts only tickets that have not been cancelled. These extra columns are available only on the Registrations type, and only when you ask the question from inside one event. The result is one row per registrant, with a separate yes-or-no column for each session, instead of a separate row for each session a person chose.
You can choose whether the registrant's organization is reported as it was when they registered, or as it stands today. The two options are separate output choices on the Registrations type. When you query for a guest registrant by name, use the field tied to the guest's own registration instead of the field on the parent registration, because the parent-registration field can leave guests out of your results.
To find registrations that may have used Pay Later or still carry a balance, filter a Registrations question to records whose order balance due is greater than zero.
When a Sessions - Session Speakers question filters on whether a speaker has registered for the event, filtering for No correctly returns speakers who have not registered, just as filtering for Yes returns speakers who have.
Each session column shows whether the registrant is registered for that session, or Not Registered when the session registration was cancelled. Each ticket column is labeled with the function and fee, formatted as <function>/<fee> [# tickets on registration], and counts only tickets that have not been cancelled. These extra columns are available only on the Registrations type, and only when you ask the question from inside one event. For example, to list attendees of one event who purchased a particular ticket, start the question from inside that event, then add a criterion on the ticket column for the function fee you are checking. :::
The Registrations question now includes session and function-ticket detail directly, alongside the usual registration fields. Add-ons are the exception and still need the separate Registration Add-Ons question described below.
You can also choose whether the registrant's organization is reported as it was when they registered, or as it stands today. The two options are separate output choices on the Registrations type.
Warning
A Registrations question can include quantity-ordered columns for the registration package, functions, and add-ons, but it does not have a matching unit-price column for any of them. Use an Invoice Line Items question for pricing. There is also no field that returns the total number of registrants for one session. Session columns tell you whether each individual registrant is registered, not a running total. Function ticket columns show a count only, not the specific selection someone made, such as a meal choice. For individual selections, use a Functions → Function Tickets question or the API.
Custom fields from the event's own registration form are available as output columns on this question. Create the Registrations question from inside the event, then add the custom field the same way you add any other output. If you cannot find the field you expect, or two fields have almost the same name, use the Field Browser or the output search to check whether it is an event-specific Registration field or a global Parent Registration field. Rhythm keeps these in different places, and a Parent Registration field will not necessarily reflect that event's own data.
When one event can be bought in several ways, such as its own registration, added tickets, or add-ons, the parent registration fields (Parent Registration and Parent Registration ID) help you tie those related rows together in a Registrations question. Use them when you need to report on a registration together with what was purchased alongside it.
Add Orders → Pay For Credit Card Processing Fees as an output, and optionally as a criterion set to Yes, to list registrations where the registrant covered the credit card processing fee.
The Amount Paid output on this question reflects the amount for that specific registration line, such as the package, a session, or an add-on fee. It is the right field when you are reporting on what an individual package, session, or add-on brought in.
If package information such as its description is missing from your results, check whether the question includes the Registration Package field explicitly. Some package detail appears only after that field is added. When you need a readable package value in an export, such as for another system, add the package's Name field instead of its ID field. Name returns the package's display text instead of an internal identifier-style string.
For guest registrations, Registration → Email Address can return a guest's email even when no separate guest contact record exists. There is no equivalent field for a guest's organization in that setup. If you need to report on a guest's organization, capture it in a reportable source, such as a custom registration field.
An Events question can return an event's capacity and wait list settings as two separate output fields: Capacity Options Capacity and Capacity Options Enable Wait List. These fields are available globally and from inside one event. Add both if you need capacity alongside the wait list setting. On some events, the wait list field has been reported blank even with wait list management turned on, so double-check a blank result against the event's own setup before assuming wait lists are off.
A registration process's Open Date and Time is not currently available as a queryable field. You cannot drill into that scheduling detail from a query.
If a question needs an answer from every registrant, instead of only the people attending a particular session, build it as a custom field on the event's registration form. That gives every registrant a chance to answer, and the answer becomes a query output like other registration fields.
A broader operational question that combines attendance, add-ons and functions, order changes, and financial reconciliation usually needs more than one question. Plan to run a Registrations question for attendee and session detail, alongside an Invoice Line Items or Orders question for the financial side.
Report on Function Tickets and Attendee Answers
When you need one row per ticket instead of one row per registration, use the Functions → Function Tickets query type from inside the event. This is the best option when you need to list who is coming to a banquet, or to see what each attendee selected on a function question. Add the question's own output field to show each attendee's selection.
Dietary and similar attendee answers are reported the same way. To see how people answered a dietary question, run a Function Tickets question instead of trying to add the answer to a banquet roster question, which does not include it.
Warning
Using a Registrations question for function-ticket reporting can make ticket counts look wrong, especially when some tickets were added after the original order. The Registrations columns count tickets, not the specific selections made. A Function Tickets question is the more reliable source for complete, ticket-level results.
Meal selections and other function-question responses are not included in the main Registrations question, even though Functions, Sessions, and Add-Ons are available there. Use a separate Functions → Function Tickets question for those responses. For meal-count reporting, you can work around this by building a question that lists registrants with their purchased meal tickets, includes a ticket count by function, and adds a registration custom field such as a food-allergy or dietary-restriction field. The layout is easier to read after you export it than on screen.
Two ticket-count fields look similar but read from different records. # Tickets (Functions) comes from the order record and reflects every ticket a contact bought with a fee. # of Tickets (Registration Functions) comes from the registration record and reflects only that registration's tickets. When only one fee is possible for a function, expect the order-based field to be at or above the registration-based one. It can be higher if the same person holds another registration with the same fee.
Tip
If function and function-fee results still disagree even after Functions, Sessions, and Add-Ons were added to the Registrations question, do not assume the two numbers should always match. Some inconsistencies between function- and function-fee-level results can persist. Cross-check against a Function Tickets question if the discrepancy matters.
A registration custom field's value can go missing from a Functions → Function Tickets question when that value was added or changed through a later modification after the original order. The field can still show correctly on the registration record itself, so check there if a Function Tickets question is blank for a field you expect.
A duplicate function ticket that displays twice can also appear twice in query results and function-related counts. This can inflate totals used for planning or integrations even though only one ticket was actually purchased. If your counts look too high, check the affected registrations for duplicate ticket display first.
Registration question responses, including a dietary or meal question, are stored in a named custom field. They appear in your results only after you add that field as an output. A field can hold a value without showing in a query until you explicitly select it.
A single registrant-level question may not include every session or function add-on, especially for a participant added after the original registration order or an add-on participant without their own contact profile. Check for these separately if your counts seem low.
Report on What an Event Has Billed
Use the Invoice Line Items query type to list every invoice line sold for an event's products, with one row for each line. The built-in Event Revenue Summary report uses the same underlying question. See See an Event's Revenue Summary if you only need a running total. A registration question's Price (Product) and Member Price (Product) output fields report the price and member price stored on the purchased package or add-on.
Rolling out added functions broadly, or changing a registration after it was first purchased, can leave an attendee-level Registrations question short of the full financial picture. A later-added function ticket or another paid change may not be reflected the same way it would be on an invoice. For finance review, use Invoice Line Items instead of a registration question whenever billed revenue needs to be certain.
Reporting on a change order, where a registration was later modified, often needs more than one question. A Registrations-style question gives you one row per order. An Invoice Line Items or Order Line Items question can show itemized purchases, such as function fees and add-ons, on separate rows. Combining the two is usually the way to get both a clean invoicing total and the itemized detail, because neither question alone reliably isolates every change-order event. There is currently no field or flag on an event query that identifies which registrations were modified by a change order, so you will need to identify those separately. For example, compare order dates or review the registration's own history.
Rhythm does not currently offer a single report or query that combines item quantities with order subtotal, tax, and order total in one row for VAT-style reporting. Calculate quantity-based subtotals and totals for that kind of reporting outside Rhythm, using the order-line and invoice data a query can provide. Likewise, if you need both the unit price at the time of order and the date of a later change order for a package, function, or add-on, no single reportable row currently shows both together. Plan to compare unit prices from order-line data separately from a change order's own date.
There is no documented delay for exactly when the Event Revenue Summary catches up to the KPI figure it is compared against. If the two do not match right after registration activity, wait until registration closes and check again, then recheck daily if they still disagree.
Some raw-data downloads from the event summary report can have unclear or blank column headers. That export is not expected to be corrected, so use a query instead when you need the same figures with readable column names.
Report on Exhibitor Booths and Contacts
- Use a booths-related query type to list exhibitor registrations with one row per booth, so counting rows counts booths instead of registrations. From a result row, you can open the exhibitor directly. This query type does not offer contact information as output fields, so use the Exhibitor Contacts query type below when you need contact details.
- Use the Exhibitor Contacts query type to list the contacts recorded for your event's exhibitors. Contacts added through the exhibitor contact component on an exhibitor's record are included, so you can export them for uses such as badge preparation.
Warning
Adding an exhibitor contact's email address, or the admin contact's email address, as an output field on an exhibitor question can make the preview fail with an error instead of returning results. Remove that output field if your exhibitor question's preview will not load.
Report One Row per Add-On, Co-Author, Session Speaker, or Exhibitor Contact
Some questions include more than one related item inside a single record, such as an add-on on a registration, a co-author on an abstract, a speaker on a session, or a contact on an exhibitor. The matching query types return one row per item instead of one row per parent record, so counting rows counts the items, not the parent registrations, abstracts, sessions, or exhibitors. Registration add-on output fields, including the product's price and member price, are grouped at the bottom of the output field list under an Add On heading. If you search for a generic term like "Add On" and get no results, remember that the search matches individual field names, not the section header. Look under that heading directly instead of relying on the search box.
Tip
If the Session Speakers query's own Session ID output field comes back blank, use the ID field under the Sessions heading in the same query instead. It identifies the same session.
Warning
A speaker's photo field in query output returns an internal photo address instead of a public image URL you can open in a browser or share directly. There is currently no supported way to export a list of speaker photo URLs for download this way.
To report on registration add-ons specifically, start a question in the event application and choose Registration → Registration Add-Ons. Add-ons are not available as an output field on the main Registrations question, so this dedicated type is where you will find fields such as Add On Product or Add On Product ID. That type does not currently offer Add-On Type as an output field, so plan to group or filter by type after export instead of in the query itself. There is also no query that lists every add-on configured for an event regardless of registration activity. Registration Add-Ons shows only add-ons tied to an actual registration, not the full catalog of configured add-ons.
Speaker reporting is also available as a global, cross-event question. Run the session-speaker query type from the main Query Center, rather than from inside one event, to combine speaker information with event fields such as the event name and its start and end dates across every event.
Add Track and Booth Names as Fields
Track names, booth names, and a flag for whether a session was generated from an abstract are available as output fields and filters on Events questions that include sessions. These fields are stored as comma-joined text, so filtering by one track name can also match another track name that contains your search text as part of a longer name. Check your results if you filter this way.
The Sessions → Session Speakers query type includes Track Name(s) as an output field alongside speaker data. This is available there even though earlier reports said it was missing while Track Names was available on the plain Sessions type.
Report on Sessions, Speakers, and Abstracts
There is no output field on a Sessions question that returns a session's current total registrant count. To get per-session totals, run a Session Registrations query and total the rows yourself in a spreadsheet, or open a separate question for each individual session. A single session's own query results already include its total.
A Sessions → Session Speakers question can be filtered by the event-specific Contact Events field Registered?. Set it to Yes to return speakers who are registered for the event, or No to return speakers who are not.
Session speakers and abstract presenters are queried separately. Use the Sessions query types for session speakers. For presenter-style records on an abstract, use the Abstracts query type, where the equivalent people are labeled presenters instead of speakers.
Warning
Session times in a session-related question or KPI can, in some cases, show in a different time zone than the session or event is configured for. This includes your own local time zone appearing in function-overview search results and in KPI or query results, even when the event is set to convert times to the event's own time zone. Function detail pages and registration-facing displays more consistently show times in the event's time zone. If a session's reported time looks wrong, check the session's own detail page for the time actually configured.
To relate abstract records to session records outside Rhythm, export abstract custom fields from an Abstracts question. Then use the Session ID and Abstract ID fields on a Sessions question as the identifiers that tie the two together. Abstract custom fields themselves, such as a topic field, are queried from the Abstracts query type instead of from a session-speaker question.
Some Abstracts or Reviews output fields can return no values even when a similarly named field does. Review Round and Review Round ID may come back blank while Round and Round ID return data, and Process can come back blank as well. If a field returns nothing across every record, try its similarly named counterpart before assuming your criteria are wrong.
Report on Waitlists, Transfers, and Coupons
Waitlisted registrations are not currently available through queries, and there is no way to query an event's wait list. The only place to see waitlisted contacts is the event's own Waitlist menu.
Transferred or substituted registrations cannot currently be reported as original-versus-replacement contacts. There is no queryable field that shows both who originally registered and who now holds the registration after a substitution. If you need that history, check the substitution record on the registration or contact directly instead of using a query.
A coupon fix that made coupon codes queryable on Event → Registrations questions applies only to registrations created from that point forward. Older registrations that used a coupon before the fix were not updated retroactively, so do not expect coupon fields to be populated on historical registrations. If registration-level coupon fields are not returning what you expect for an order, query Orders → Coupon Code Usages instead, filtered to records where Event ID (Order) is not blank, to find event-related orders where a coupon was used.
If an event-level Active Registrations figure or Registrations question is unreliable or returns incomplete results, use an Orders → Purchases (Order Line Items) question filtered by the event's ID as an alternate way to retrieve registrants. You can also cross-check completed registrations by running an Orders and Inventory question filtered by event name, then comparing the count of completed registrations there against the active-registration count shown in the event.
Rhythm cannot currently report a contact's last event attendance directly. There is no query that returns a contact-level "last registered" or "last attended" value. As a partial workaround, a Registration → Registrations question with criteria such as email is blank and registration date before a chosen date can approximate it, but it still returns registration rows instead of one row per contact.
If you are cleaning up historical duplicate registrations, change the duplicate records to Cancelled. Then filter your registration questions to Registration Status = Active so counts and reports exclude them going forward.
If a combined Name field on a guest registration is missing information, such as a last name, remove it from the question and add Registration → First Name and Registration → Last Name separately. When a guest question repeats the same guest fields across multiple result rows, adding the parent contact's ID as an output can help you group those rows back to the main registrant. It only groups rows, though; it does not fully separate one guest's answers from another's when there is more than one guest.
To track no-shows separately from cancelled registrations, add a custom field, such as a checkbox, to mark a no-show. Query on that field instead of cancelling the registration, so the registration stays active for other reporting while you can still identify who did not attend.
When you need attendee detail that must later be queried or filtered, use a queryable text custom field instead of a custom object. Custom objects support repeated, tabular data entry, but their values are not exposed to Rhythm's query tool the way custom field values are.
Ask About Reviews and Sponsorships from Other Applications
Abstract reviews and sponsorships belong to other Rhythm applications, but you can still ask about them from the Events Query Center. A dedicated Reviews query type appears under Abstracts at both the event level and the global level. It includes the review's own fields, such as score and status, alongside the abstract it belongs to. This replaced an older abstract-reviews query path, which is legacy and no longer supported. Use the current Reviews query type under Abstracts instead. A sponsorship without an event associated with it never appears in an Events sponsorship question.
Warning
An Abstracts > Abstracts question can omit abstracts in Draft status, even with no criteria and even when you filter specifically for Abstract Status equals Draft. If you need a complete list that includes drafts, check a contact's own Abstracts tab or the abstract search inside the event instead of relying on this query type for drafts.
Warning
An Abstracts > Reviews question can behave unexpectedly around its event filter. Adding the Abstract > Event criterion has been reported to save the question but fail to load it when you run it. If that happens, remove that criterion and filter by the abstract's other fields instead. Separately, an event-based criterion on this question type can still include results from other events or spaces instead of limiting results to the event you filtered on, so double-check results against the event you expect before relying on them.
Event-configured review criteria are not available as output fields on a Reviews question, even though review custom fields are. If you need a specific review criterion's values, add it as a custom field on the review instead of expecting the criterion itself to appear as a column.
Downloading the Reviews dashboard does not include review custom field values, so use a Reviews question to get those values into a list. Keep in mind that some users have review access only through Events and not through the Submissions application, which limits their other reporting options.
Rounds and judging belong to the review process in Submissions, not to Events. If you are running something like a workshop that needs only basic information collected, you can model it as an event and use custom fields to gather what you need. That approach does not give you application rounds or judging; for those, the review process itself is required.
If Something Goes Wrong
| What you see | What it means and what to do |
|---|---|
| An event-level Registrations question or its Active Registrations figure will not run, sometimes with an error mentioning a table alias length limit | Run a plain Registrations query from the global Meetings and Shows Query Center instead, using the same criteria you would use to filter to active registrations for that event. Use that query until the event-level view works again. |
| A track name field you expected is missing from a query type | Confirm which query type you are using. Track names are offered on Events questions that include session information, but not on every query type. Contact Support if a field you have used before is missing from the same type. |
| A session or ticket column does not appear | Session and ticket columns are added only to the Registrations type, and only when you ask the question from inside one event. |
| A sponsorship record you expect does not appear in results | A sponsorship with no event recorded on it never appears in an Events sponsorship question. |
| Coupon-related output fields on a Registrations question come back blank | This can happen even when the related registration order actually used a coupon. In this query context, the Order Coupon field is the one intended to expose coupon information. Other coupon-related fields are not meant to return data here. Confirm coupon use from the order or registration record itself if you need to double-check it. |
| The Queries breadcrumb from inside an event opens a query center that still looks scoped to that event | Selecting Queries there should take you to the global Events Query Center. If it does not, refresh the browser page for the Query Center as a temporary fix. | | An Abstracts question never finishes loading | Remove Review Process or Approval Process from the output if you added either one. Including them can leave the question stuck loading indefinitely. | | Session times in an exported query download look several hours off from what the console shows | Exports convert session times to match the console's display. If you still see a mismatch, check the session's own configured time and time zone. | | An Events question shows the correct Event Start Date on screen, but an Excel export shows the day after | This is a known issue with Excel-formatted exports specifically. Verify the date in the console or in a CSV export if the exact date matters. | | A numeric-looking field in query results doesn't match any order number you recognize | Some fields that look like business identifiers are internal sequence or timestamp values instead of an order ID. Do not rely on them to identify a specific order. | | Order Total or Order Amount Paid is blank or zero on a registration, while other financial fields look normal | Compare against Registration Total, Amount Paid, and Amount Paid (Orders). These fields have matched the associated order's real values in reviewed cases, even when the order-level amount fields did not. | | A field you expected, such as Group Order, is missing from the Registrations query builder | Some registration fields are for internal use only and are removed from the query builder once identified as such. They are not meant for customer reporting. Confirm the query type and contact Support if a different field you have used before goes missing. | | Choosing contains text for the Package ID criterion still shows a dropdown instead of a text box | This is a known interface issue. Use the dropdown's available values, or contact Support if the value you need is not listed. | | An exhibitor logo URL works in the console but breaks after exporting to Excel or CSV | An uploaded exhibitor logo's URL can export as an internal link that does not work in a browser. A logo added as a direct external URL is not affected. | | A single-select registration custom field shows correctly in a query but not on the registrant's own Custom Fields tab | This has been seen specifically for single-select picklist values submitted through the portal or an external integration. Checkbox and text fields have not shown the same gap. | | Session attendee counts look odd, such as the main registrant appearing more than once or a guest missing | This matches a known reporting issue where the primary registrant can be duplicated while the guest attendee is missing or inconsistent. | | A registration you know is complete is missing from an attendee or Registrations question | Query results can occasionally lag behind a registration until the underlying record is resaved or the query's data is refreshed. If only one registrant is affected well after registration, treat it as an isolated case. Creating a test registration in your sandbox can show whether a new registration appears normally before you assume a wider defect. | | Opening results from the Reserved Booths or Active Booths KPI on an event's Exhibitors area shows a blank, unresponsive pop-out | This is a known issue with those two booth KPIs specifically. Open the same data through a booths query instead. | | A criterion on a processing-fee or similar amount field seems to filter out records it shouldn't | Add the related fee field to your output columns and compare its values against your criteria. This confirms which record level the field is reading from before you conclude the filter is wrong. | | Filtering a Sessions → Speakers question by the event-specific Registered? field returns incomplete results, especially for No | This field can behave inconsistently in Speakers-question criteria. Treat results filtered to No with extra caution and cross-check with another question if the count matters. | | A query filtered on a registration field returns unexpected records, or a blank value seems to count as No | Confirm the field you filtered on belongs to the record you intended. A filter on a parent registration's field behaves differently from one on the specific registration or child record you meant to target. Do not treat a blank value as equivalent to No in your criteria. |