In short. Use one Event object per separately ticketed performance when performances occur on different days.
Definition: Yes. When performances take place on different days and each has individual tickets, Google says to add a separate
Eventelement for each performance. Each object describes one dated performance and its own ticket information.
Key facts
- Google's Event structured data documentation says each event must have a unique URL and markup on that URL.
- Google says its event experience supports pages focused on a single event and recommends event posting pages instead of pages listing schedules or multiple events.
- For several performances across different days with individual tickets, Google requires a separate
Eventelement for each performance. - A multi-day event is represented with both
startDateandendDatewhen the event or ticket information covers the whole date range. - Schema.org defines an
Eventas something happening at a certain time and location. Its Event type says repeated events may be structured as separateEventobjects.
When does one performance become one Event object?
Google's rule is tied to two conditions: the performances occur across different days, and each performance has individual tickets. When both conditions apply, one object for the whole run does not describe the ticketed units that Google asks the site to mark up. Each performance gets its own Event object, date values, ticket offer, and detail URL.
The same documentation also says the event experience supports pages that focus on a single event. Each event must have a unique URL, described as a leaf page, with markup on that URL. A schedule page can link to the performance pages, but it is not the page Google identifies for the single-event markup.
What date and ticket data belongs in each object?
Each object should describe the performance name, start date, and location accurately. Google's date guidance says a multi-day event uses both startDate and endDate; a performance with a known starting hour uses a date-time value with the appropriate UTC offset. When the hour is unknown, the documented form is a date without a granular hour.
The ticket details belong to the performance they describe. Google's example uses an offers object with an offer URL, price, currency, availability, and validFrom. A separate performance object can therefore carry the ticket URL and availability for that performance, while its startDate identifies the corresponding show.
How does this differ from a repeated schedule?
Schema.org's eventSchedule property associates an Event with a Schedule. The Schema.org definition says a schedule can be preferable for a series of repeating events when a site wants to publish schedule data instead of data for each individual event. It also says an Event associated with a Schedule should not have startDate or endDate on that object because those values belong in the Schedule.
That vocabulary option does not replace Google's specific instruction for performances on different days with individual tickets. For Google's event experience, the documented pattern is separate Event elements for those performances, each with its own detail URL and markup.
What should the markup look like?
A page for one performance can use the documented Event properties below. The placeholders stand for the values of that performance.
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Performance name",
"startDate": "PERFORMANCE_DATE_TIME_WITH_UTC_OFFSET",
"endDate": "PERFORMANCE_END_DATE_TIME_WITH_UTC_OFFSET",
"location": {
"@type": "Place",
"name": "Venue name"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/events/performance-a/tickets"
}
}
The next performance uses another Event object on its own leaf URL. The date, location, and offer values must match the visible details for that performance, because Google's content guidance requires each event to accurately describe its event name, start date, and location.
Related terms
- Does each event need its own detail page for Google?
- How are multi-day events represented with startDate and endDate?
- How can event markup show when ticket sales begin?
- How should an event's time zone be expressed in structured data?
FAQ
Does every event that runs over several days need separate objects?
No. Google distinguishes an event that runs over several days from several different performances across different days with individual tickets. The former uses both startDate and endDate; the latter uses a separate Event element for each performance.
What if the ticket page sells access to several performances?
Google's documented separate-object condition is individual tickets for performances on different days. The documentation does not state a separate markup pattern for performances sold through one shared ticket offer.
What should you do when the start hour is unknown?
Use a date-only startDate value rather than adding a granular hour. Google's example uses 2025-07-21 for a date whose starting hour is unknown.
Sources
- Google Search Central, "Event structured data", 8 September 2026
- Schema.org, "Event", 16 September 2026
Check how a page reads to answer engines. Open the GEO score analyzer