Event schema
Event powers the events carousel and Google's dedicated events vertical (search "events near me"). Done right, you get a date block, venue, time, and a price-from line directly in the SERP.
Required fields
- name — event name as you want it shown.
- startDate — ISO 8601 with timezone, e.g.
2026-09-15T19:30:00+01:00. - location — for in-person events,
Placewith aPostalAddress. For online,VirtualLocationwithurl.
Strongly recommended
- endDate — ISO 8601, same format.
- eventStatus —
EventScheduled,EventCancelled,EventMovedOnline,EventPostponed,EventRescheduled. Use the URL form (https://schema.org/EventScheduled). Critical post-2020 if dates change. - eventAttendanceMode —
OfflineEventAttendanceMode,OnlineEventAttendanceMode, orMixedEventAttendanceMode. - offers —
Offerwithprice,priceCurrency,availability, andurl(the ticket purchase link). Without this, no "From €X" in the SERP. - performer —
PersonorOrganization. - image — at least one URL.
- description — used as the snippet.
Rules
- Each event = one URL. Don't put a season of events on one page; create individual pages or a hub page that links to each.
- Update
eventStatusif anything changes. StaleEventScheduledon a cancelled event is grounds for Google removing your event listing entirely. - For recurring events, use the parent-child pattern: a series
EventwithsubEventchildren.
Common mistakes
- Missing timezone on
startDate. Treated as UTC, which may misalign with the venue's local time. location.addressmissingaddressCountry. Country code is required even if the city is universally recognised.- Marking up past events. Google indexes them but the events vertical excludes anything in the past, so the rich result vanishes the day after.
CMS notes
- WordPress (The Events Calendar): emits valid Event schema by default.
- Ticketing platforms (Eventbrite, Ticketmaster): they emit Event schema on their hosted pages. Don't duplicate it on your own listing page — Google merges them.
- Custom: generate startDate from the same field you display, including timezone offset.
Generate it below
Last verified: 2026-05-15. Found something inaccurate? Email hello@schemapreview.dev.