Ticket Order Form

Add the Ticket Order Form theme block to your product page so customers pick ticket quantities, see fees, and check out — instead of the default Shopify variant dropdown.

Jeff Blake
Written by Jeff Blake Updated May 28, 2026

The Ticket Order Form is a theme app block that replaces the default Shopify variant selector on an event’s product page. It lists each ticket as a row with a quantity selector and a checkout button, enforces the per-ticket purchase limits you set on the event, and can show the booking fee for each ticket.

Requirements: The Event Ticketing app installed. An Online Store 2.0 theme that supports app blocks. An event already created (the block reads the event from its product).

Add the block to your product page

  1. In Shopify admin, go to Online Store > Themes and open the theme editor for your theme.

  2. Open a product page in the editor (or a product template assigned to your event products).

  3. In the Product information area, add a block and choose Ticket Order Form.

  4. Remove the theme’s default purchase controls from the same template — the add-to-cart button, the quantity selector, and any dynamic checkout button. Those controls bypass the Ticket Order Form and ignore the event’s ticket limits and fees.

  5. Save the theme.

The product page now shows the ticket list with a quantity selector per ticket and a checkout button.

Don’t keep both the Ticket Order Form and the default buy buttons on the same page. Two purchase paths on one product cause inconsistent pricing and unenforced limits.

Block settings

Select the block in the theme editor to configure it. Each setting:

  • Color — the block’s accent color. Defaults to black.
  • Redirect to — where the checkout button sends the customer: Checkout (straight to Shopify checkout) or Cart. Defaults to Checkout.
  • Button Text — the label on the purchase button. Defaults to Check Out.
  • Sold out label — what shows in place of the quantity selector when a ticket is sold out. Defaults to -.
  • Show remaining inventory? — adds a “N remaining” label next to each ticket. Off by default.
  • Show fees column? — adds a fee column to the ticket table. Off by default.
  • Show total price? — adds a total-price column (price plus fee). Off by default.

How quantities and limits work

Each ticket row has its own quantity selector. The selectable range comes from the per-ticket purchase limits set on the event — minimum and maximum per order — and the selector never offers more than the ticket’s remaining inventory. When a ticket has no inventory left, its row shows the Sold out label instead of a selector.

Because the limits are enforced by the block, the default Shopify variant dropdown and quantity field can’t enforce them. Use the Ticket Order Form (or the Event Calendar) on any page where you want limits respected.

  • Event Calendar — a calendar-style alternative to the order form for multi-date and recurring events.
  • Purchase limits — set the per-ticket minimum and maximum the block enforces.
  • Storefront visibility — make sure the product is published so the block renders.
  • Booking fees — what the fee column shows.

FAQ

My theme doesn’t show the Ticket Order Form block — why?

The block requires an Online Store 2.0 theme with app block support. If the block doesn’t appear in the block picker, your theme doesn’t support app blocks; switch to a compatible theme or use a 2.0 theme template.

Customers land on the cart instead of checkout (or vice versa).

Set Redirect to in the block settings. Checkout sends customers straight to Shopify checkout after they pick tickets; Cart sends them to the cart first. Use Cart if you run upsell apps that need the cart page to fire.

The ticket table looks unstyled or broken on my product page.

The block renders a plain HTML table. If your theme has no base styling for tables, add CSS for the table in your template. The block doesn’t ship a full table style of its own.

Can I show how many tickets are left?

Turn on Show remaining inventory? in the block settings. Each ticket row then shows its remaining inventory count.