> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ticketspotapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sell Shopify products with event tickets

> Import Shopify merchandise, assign products and variants to an event, and let guests buy products with their tickets in Shopify checkout.

Offer merchandise during ticket booking. Guests choose a variant and quantity in the **Products** step, then pay for their tickets and products together through Shopify.

Products use Shopify's prices, inventory, shipping, discounts, and payment checkout. A product purchase is saved with the Ticket Spot ticket order after Shopify confirms payment.

## Import products

1. Connect your [Shopify store](https://docs.ticketspotapp.com/plugins/connect-shopify.md).
2. Open **Products** in Ticket Spot and click **Import from Shopify**.
3. Search for your merchandise, select products, and click **Import products**. You can import up to 20 products at a time.

Ticket and membership products have their own setup and do not appear as merchandise. Choose active products that support a one-time purchase. Subscription-only products and bundle variants that require components are not supported in this version.

![Shopify product import picker with an event merchandise product and three variants](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-import.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=8029f4f9290032df43ef40227964c858)

Import merchandise from the connected Shopify store. These screenshots use an isolated development-store QA product.

Importing puts a product in your catalog. Choose **Refresh** to update its saved details after editing it in Shopify. Checkout always validates the selected variants, prices, and availability again.

![Products catalog showing the imported Event Essentials Tee with three variants and a Shopify price](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-catalog.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=964a16c6b9b4e142a72d42224c5776b3)

Imported products show their image, variants, price, and availability.

![Mobile products catalog with the product image, price, availability, and Refresh action](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-catalog-mobile.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=8d8f9f68b218d7efeee598f6031d1d7a)

On a phone, product cards keep price, availability, and refresh controls visible.

## Assign products to an event

1. Open a saved event that sells tickets and choose **Products**.
2. Turn on **Show products during checkout**.
3. Click **Add products**, choose catalog products, then click **Done**.
4. Choose the variants to offer and set **Maximum per order** for each product. The limit applies across all its variants combined.
5. Use the arrow buttons to change the product order, or turn off **Visible** to hide a product.
6. Use **Save** in the event header to save your changes, or **Publish** when the event is ready to go live. Product settings are included in both actions.

A success notification confirms the event action. Choose at least one variant for each assigned product and enter a whole-number maximum from 1 to 99. Missing or invalid values show guidance beside the field and stop Save or Publish. Product errors keep your selections available to correct and retry. Switching event tabs also keeps unsaved product changes.

![Live demo event Products tab with header Save and Publish actions, three selected size variants, a maximum of three, and visibility enabled](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-assignment.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=91008293f0f1072f0b3218c53a6134c7)

Use the event header’s Save or Publish to apply product settings. This demo event offers three sizes and allows up to three items per order.

![Live mobile demo event with shared Save and Publish actions and product assignment controls](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-assignment-mobile.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=4e0def090bcb396e1d43c51fd98b4b91)

On a phone, Save and Publish stay in the event header and product controls remain grouped together.

You can assign up to 20 products to an event. An occurrence follows its parent's products until you save its own product settings.

## Check the buyer flow

Publish your event to Shopify and use the [Ticket Selector app block](https://docs.ticketspotapp.com/plugins/shopify-ticket-selector.md). Guests select tickets, then see **Products** after any event add-ons and before attendee details. They can continue without adding products.

For a product with several variants, guests must choose an option before adding it. They can change quantities and remove items. The summary displays selected products with their images, variants, quantities, and prices.

![Products step with two Medium tees selected, product images, and a combined total of 25 dollars](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-selection.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=6f592b6d83e722aa76923a003677c797)

One $1 admission ticket and two $12 Medium tees appear together in the summary.

![Mobile product selection with variant choice, quantity controls, and the ticket and product summary](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-mobile.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=c0e96393893ae0ac81fe296a7d7b0144)

The same selection and summary adapt to a phone screen.

The product step keeps its selected variant and quantity when guests return from attendee details. Product labels and button wording come from the checkout text settings and follow the widget's translation settings.

![Spanish product checkout with translated heading, variant prompt, add button, and order summary](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-spanish-mobile.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=5096d836b2fdeb598e0bd07642753e5d)

Product interface text follows the selected widget language. Product names and variant titles come from your Shopify catalog.

Shipping, taxes, and discounts are finalized by Shopify. Check the Shopify checkout summary before paying. If a product becomes unavailable or Shopify changes the requested quantity, guests must review their selection and retry.

![Shopify test checkout with one admission ticket, two Medium tees, and a 25 dollar total](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-checkout.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=5b7c781c02a966c159bfe6d780b58984)

The real Shopify development checkout contains both the admission ticket and the selected merchandise. The Test Payment Gateway is used for this example.

Products are offered in the Shopify ticket flow. Membership-only purchases, waitlist registration, and pay-what-you-want ticket purchases do not include this step.

## View purchased products

After Shopify confirms payment, open the ticket order in Ticket Spot. The **Products** section shows the merchandise, variant, quantity, paid line amount, and Shopify order ID alongside the attendees and any event add-ons.

![Confirmed Shopify test order 1016 with one completed admission ticket, two confirmed Medium tees, and a total of 25 dollars](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-confirmation.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=7cab6180d02fbe08c23bab9cffbc5a7d)

The completed Shopify test order contains both tickets and products. Ticket fulfillment and merchandise fulfillment stay separate.

![Ticket Spot order showing the admission ticket and its associated two purchased Medium tees](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-order.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=fbd34e99e4e5ca3122d1dd9826f664f7)

The paid ticket order stores two Medium tees with their Shopify order reference and a separate merchandise subtotal.

![Mobile ticket order with the Medium tee quantity, Shopify reference, 24 dollar product amount and subtotal fully visible](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-order-mobile.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=16768063cef45263dbc17cd7ba2c0708)

Purchased products and their amounts remain readable on a phone. The attendee table scrolls separately.

Ticket totals cover ticket revenue. The **Products subtotal** shows the purchased merchandise separately; Shopify remains the source for the complete payment and product refunds.

The association uses the widget's deferred checkout reference and Shopify's purchased line items. Products added independently elsewhere in the Shopify cart are not recorded as widget-selected merchandise. Shopify continues to manage product fulfillment.

## Match your widget colors

In the widget design settings, open the checkout **Products** controls. Customize product titles, descriptions, prices, card backgrounds and borders, selected states, variant controls, quantity controls, and add buttons.

The defaults follow your existing widget palette: **color-5** supplies text and **color-6** supplies accents. Product copy is also available in the checkout text settings.

![Widget Products design controls for text, price, card background, borders, and selected states](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-colors.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=5e32a0f7085553024e44c0e710b0ad6c)

Product controls follow the existing widget design settings. This example saves a green price override.

![Product design preview with green prices and a dark variant selector with a matching light arrow](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-color-override.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=707df38f9a664da1711322ec9e4cc536)

Product color settings style prices and the variant selector while retaining the widget accent colors.

![Mobile product color preview with inset variant arrow, readable selector text, quantity controls, and merchandise summary](https://mintcdn.com/ticketspot/7A6ay1OZocN6SOlK/assets/refresh/plugins/shopify-products-color-mobile.png?fit=max\&auto=format\&n=7A6ay1OZocN6SOlK\&q=85\&s=14079b8fca58f221452f54c8c1190e5d)

The variant arrow and text follow the selector text color on mobile, with space reserved on either side.

## Troubleshooting

| Problem | What to check |
| - | - |
| Import is unavailable | Connect Shopify and use a site owner or admin account. |
| A product is missing | Check that it is active, supports one-time purchasing, and is not a Ticket Spot ticket or membership product. |
| Products do not appear in the widget | Enable checkout products, assign a visible product with an available allowed variant, and use the Shopify Ticket Selector flow. |
| Shopify rejects a selection | Refresh the product and check its publication, inventory, currency, and variant availability in Shopify. |
| Settings changed in another browser | Reload the event's Products tab before saving again. |
| A purchase is not yet associated | Confirm that Shopify marks the order paid and that the ticket order has finished processing. Retried paid webhooks preserve a single association per purchased product line. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.