On The Stage uses ecommerce tracking events to understand how patrons interact with production sites during the ticket purchasing process.
These events allow analytics platforms to capture key actions such as:
Viewing performances
Selecting ticket types
Adding tickets or donations to the cart
Beginning checkout
Entering payment information
Completing a purchase
Tracking these events helps identify areas where patrons may encounter friction in the purchasing process and allows organizations to better understand conversion behavior.
Event data is sent to Google Analytics (GA4) and mapped to advertising platforms including Meta Pixel, TikTok Pixel, and Reddit conversion tracking.
Item Parameters
Item parameters provide detailed information about the items a patron interacts with, such as tickets, donations, or merchandise.
Name | Type | Example Value | Definition |
| string | The SpongeBob Musical: Youth Edition or Page Middle School | event title (fit for humans) if the item is a donation, |
| string |
| a unique identifier for the item (fit for machines) |
| string | Page Middle School | organization name |
| string | General Admission | ticket type (General, Reserved, etc.) |
| string | Tickets | type of purchase (tickets, donation, merchandise, promo, etc.) |
| string | Senior | ticket name (can vary by customer - Senior/Student or Balcony/VIP/Orchestra) |
| string | Walkup | sale type (Online, Walkup, agent, API, etc.) |
| string |
| <reserved for future use> |
| string |
| <reserved for future use> |
| string | schedule | the unique name of the list of items. we may show multiple lists on a single page (e.g. when a user views a list of ticket types to choose from and an upsell carousel for merchandise) and the items viewed in each list should be passed as part of the array for each |
| string | Schedule | the “pretty” name of the list of items being shown to the user. |
| number | 4 | item quantity, regardless of category |
| string | A7 | The seat the user selected from the seat map. (This would be a custom dimension.) |
| number | 10 | the price of the item prior to any discounts |
| string | free_tix | the name of the promotion code used. this should be used when the promotion code only applies to a specific item rather than the entire order (e.g. free ticket vs. 10% off your entire order.) |
| number | 3.33 | the discount applied to the order based on the coupon code. this should always be a dollar amount applied to the item and not a percentage. |
Checkout Parameters
These parameters relevant to the checkout process.
Name | Type | Example Value | Definition |
| string | GBP | the currency of the transaction |
| number | 4 | item quantity, regardless of category |
| number | 134.75 | the total of the order, after any discounts |
| number | 7.38 | total of ticket fees |
| number | 4.33 | total of credit card fees |
| number | 1.22 | any taxes collected (VAT, sales tax, etc.) |
| string | summer_fun | the name of the promotion code used |
| number | 2.37 | the discount applied to the order based on the coupon code |
| number | 12.77 | Shipping cost |
|
|
| returned from stripe on the success page |
| array<Item> |
| the items that are in the user’s cart |
Analytics Event Mapping
Google Analytics ecommerce events are mapped to advertising platform events so that conversions can be tracked across marketing channels.
Meta Pixel Mapping
Google Analytics events are mapped to Meta Pixel events.
GA4 Event | Meta Pixel Event | Description |
view_item | ViewContent | Patron views a product or event page |
add_to_cart | AddToCart | Patron adds an item to their cart |
begin_checkout | InitiateCheckout | Patron begins the checkout process |
add_payment_info | AddPaymentInfo | Patron enters payment information |
purchase | Purchase | Patron completes a transaction |
refund | Refund | Refund is processed for an order |
TikTok Pixel Mapping
Google Analytics events are mapped to TikTok events and sent with the same payload contents.
GA4 Event | TikTok Event | Notes |
view_item | ViewContent | Used for product or event pages |
add_to_cart | AddToCart | Direct mapping |
begin_checkout | InitiateCheckout | Direct mapping |
add_payment_info | AddPaymentInfo | Optional event |
purchase | CompletePayment | TikTok’s purchase conversion event |
view_item_list | ViewContent | Used for list views |
select_item | ClickButton / ViewContent | Optional depending on funnel depth |
Reddit Event Mapping
Google Analytics events are mapped to Reddit events and sent with the same payload contents.
GA4 Event | Reddit Pixel Event | Notes |
|
| Primary mapping for product or event detail pages. |
|
| Reddit does not distinguish list vs detail; use |
|
| Direct mapping. |
|
| Common proxy since Reddit has no checkout-start event. |
|
| Core conversion event. |
Example Events
When a user views a list of performances:
gtag("event", "view_item_list", { item_list_id: "schedule", item_list_name: "Schedule", items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets" }, { item_id: "SKU_12346", item_name: "The SpongeBob Musical: Youth Edition - Sat Mar 30 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets" }, { item_id: "SKU_12346", item_name: "The SpongeBob Musical: Youth Edition - Sun Mar 31 2023, 2:00 PM", item_brand: "Page Middle School", item_category: "Tickets" } ] });
When a user selects a performance from the list of performances:
gtag("event", "select_item", { item_list_id: "schedule", item_list_name: "Schedule", items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets" } ] });
When a user is shown a list of ticket types to choose from for a given performance:
gtag("event", "view_item_list", { item_list_id: "ticket_type_list", item_list_name: "Ticket Types", items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets", item_variant: "General Admission", item_category2: "Student", item_category3: "Online", price: 5.00, quantity: 0 }, { item_id: "SKU_12346", item_name: "The SpongeBob Musical: Youth Edition - Sat Mar 30 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets", item_variant: "General Admission", item_category2: "Senior", item_category3: "Online", price: 5.00, quantity: 0 }, { item_id: "SKU_12346", item_name: "The SpongeBob Musical: Youth Edition - Sun Mar 31 2023, 2:00 PM", item_brand: "Page Middle School", item_category: "Tickets", item_variant: "General Admission", item_category2: "Adult", item_category3: "Online", price: 10.00, quantity: 0 } ] });
When a user clicks the “Purchase” button and moves forward to their cart:
gtag("event", "add_to_cart", { currency: "USD", value: 20.00, items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets", item_category2: "Adult", item_variant: "General Admission", item_category3: "Online" price: 10.00, quantity: 2 } ] });
If the user then added a donation to their cart:
gtag("event", "add_to_cart", { currency: "USD", value: 18.00, items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Donation", price: 18.00, quantity: 1 } ] });
If the user then removes the donation:
gtag("event", "remove_from_cart", { currency: "USD", value: 18.00, items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Donation", price: 18.00, quantity: 1 } ] });
And then clicked the checkout button:
gtag("event", "begin_checkout", { currency: "USD", value: 38.00, fees: 3.58 items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets", item_category2: "Adult", item_variant: "General Admission", price: 20.00, quantity: 2 } { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Donation", price: 18.00, quantity: 1 } ] });
And then adds their contact info and payment details:
gtag("event", "begin_checkout", { currency: "USD", value: 38.00, payment_type: "credit card", items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets", item_category2: "Student", item_variant: "General Admission", price: 10.00, quantity: 2 } { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Donation", price: 18.00, quantity: 1 } ] });
And then after on the success page after being charged by Stripe:
gtag("event", "purchase", { currency: "USD", value: 38.00, fees: 1.38, tax: 6.33, transaction_id: T_1234, payment_type: "credit card", items: [ { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Tickets", item_category2: "Student", item_variant: "General Admission", price: 10.00, quantity: 2 } { item_id: "SKU_12345", item_name: "The SpongeBob Musical: Youth Edition - Fri Mar 29 2023, 7:00 PM", item_brand: "Page Middle School", item_category: "Donation", price: 18.00, quantity: 1 } ] });
