Shopify’s order confirmation email can’t include attachments, so it doesn’t deliver tickets. The Event Ticketing app sends its own Order receipt email after purchase, with each customer’s tickets attached as a PDF and/or Apple Wallet pass.
This email used to be called the ticket attachment email, and it had its own page in the app settings. It is now the Order receipt entry in Settings → System emails, alongside the other emails your store sends automatically.
Requirements: Event Ticketing app installed · Advanced plan or higher.
Enable the email
-
In the Event Ticketing app, go to Settings.
-
Under Emails, open System emails.
-
Find the Order receipt row and turn on its toggle. The badge on the row changes from Off to On.
Customers now receive their tickets by email after purchase.
Ticket attachments need the Advanced plan or higher. On a plan that doesn’t include them, the setting is switched back off automatically when your subscription is next verified, so check your plan first if it won’t stay on.
When the email sends
The Order receipt goes out with the tickets attached once the order is fulfilled. Fulfillment timing is a separate setting, under Settings → Store → Order fulfillment:
- Default — follows your Shopify order processing setting.
- Auto fulfill upon order creation — tickets send when the order is created.
- Auto fulfill upon order paid — tickets send once the order is paid.
If tickets aren’t going out at all, check this setting first. See Order fulfillment.
The email also adapts to what it can actually deliver. When tickets attach, the default subject says the tickets are attached. When nothing can attach yet (for example, a ticket still needs its attendee registration completed), it sends as an order confirmation instead, and the tickets follow once registration is done.
Customize the email
On the System emails page, click the Order receipt row’s name to open its editor. It has three fields:
- Subject
- Heading
- Custom blurb, extra copy added to the body of the email.
Subject and Custom blurb accept Liquid merge fields, for example {{ order.number }}. Heading is plain text.
Leave a field empty to use the app’s built-in wording. Clearing a field you previously edited restores that default, so there is no template to paste back.
Your logo, banner, and accent color come from Settings → Brand. The from name and reply-to address are store-wide, under Settings → Sender preferences.
Customize it for one event
The steps above set your store-wide default. To change the wording for a single event instead, open the event, expand the Emails section, and click Customize on Order receipt. That opens the same three fields, scoped to that event only.
Every event uses your company defaults until you customize it there, and the section’s badge shows how many of its emails have been changed. The Order receipt row also warns you here if the email is switched off store-wide, or if your plan doesn’t include ticket attachments.
Liquid merge fields
This email’s Liquid variables are not the same as Shopify’s. To list every variable available, add {{ order }} to the custom blurb, send yourself a test (see below), and read the dump in the received email. A test send builds a sample order, so the values are placeholders, but the variable names are the real ones.
Tickets are an array on order.tickets (an order can hold several tickets). There is no top-level ticket variable. ticket exists only inside a {% for ticket in order.tickets %} loop. To reference one ticket’s value outside a loop, index the array: {{ order.tickets[0].name }}.
Show different content per event in one template
If you’d rather keep a single store-wide template than customize each event, branch on the event with a Liquid conditional in the Custom blurb. Match by name:
{% if ticket.event.name == 'My event name' %}
Info about this event
{% else %}
Info about a different event
{% endif %}
Or match by event ID:
{% assign event_ids = order.events | map: "id" | string %}
{% if event_ids contains " 1093287 " %}
<p>Event-specific content here</p>
{% endif %}
Related articles
- System emails — every automatic email the app sends, and the fields each one exposes.
- Apple Wallet setup and ticket delivery.
- Ticket delivery setup.
- Order fulfillment.
FAQ
I’m on a paid plan but I can’t find the setting.
Turning the email on or off is store-wide, and it isn’t a page of its own any more. Go to Settings → System emails and look for the Order receipt row, which is the first one.
An event’s own Emails section has an Order receipt row too, but that one only customizes the wording for that event. It has no on/off switch, so it’s not where you enable the email.
How do I test the email without paying the per-order fee?
Use the Send test action on the Order receipt row in Settings → System emails to send yourself a copy. To exercise the full purchase flow instead, create a $0 order with a 100%-off discount code, or resend an existing test order.
My Liquid variables show up blank — why?
This email’s variables differ from Shopify’s and from the Guest Manager backend email. Edit the copy in Settings → System emails → Order receipt, and reference tickets through order.tickets (there is no top-level ticket outside a loop). Note that only Subject and Custom blurb render Liquid.
How do I remove the Transfer button from the email?
Edit the ticket type and turn off the Transferable option. The transfer link disappears from that ticket type’s emails.
Why don’t I see the “Update details” link?
That link appears only when the ticket type has registration questions attached. Add registration questions to the ticket type to show it.
What can’t I customize?
The editable copy is the three fields above: Subject, Heading, and Custom blurb. The rest of the layout, the button colors, and the footer carrying your company name and address are not editable here. The voided-ticket email isn’t editable at all. The ticket transfer emails are, as their own entries on the System emails page.
Layout looks broken in Outlook — how do I fix it?
Outlook has limited CSS support, so a long custom blurb with its own markup can wrap awkwardly there. Keep the blurb simple, and send yourself a test to check it before going live. If you need a layout the three fields can’t produce, contact support.