Event schema markup
Describes a scheduled event with a date, a venue and a way to attend.
Does Google still show a rich result for this?
Supported, and one of the more visible remaining types. Worth knowing: the current documentation states that virtual experiences with no real-world component are not supported, and the COVID-era online-event guidance is no longer present.
When to use it
For events the general public can attend. Not for trip packages, discounts, coupons or your opening hours.
Required properties
locationlocation.addressnamestartDate
Recommended properties
descriptionendDateeventStatusimageoffersorganizerperformer
Example
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Leeds Small Business SEO Workshop",
"startDate": "2026-09-14T18:30:00+01:00",
"endDate": "2026-09-14T20:30:00+01:00",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "Place",
"name": "Leeds Central Library",
"address": {
"@type": "PostalAddress",
"streetAddress": "Calverley Street",
"addressLocality": "Leeds",
"postalCode": "LS1 3AB",
"addressCountry": "GB"
}
}
}Common mistakes
- Putting the venue name in the event name. The name is the event; the venue goes in location.name.
- A generic name such as "Concert". It needs to identify the specific event.
- Writing a date-only value as T00:00:00 when the time is unknown. Use a date-only value instead.
- Removing startDate when an event is cancelled. Keep it and set eventStatus.
- Marking up members-only or invitation-only events. They must be open to the general public.
- Recommending eventAttendanceMode from older guidance. It does not appear in the current documentation.
Check what your own pages are missing
Our free checker reads the markup already on a page and names the types it is missing for its page type. No account needed.
Run the schema checker →Verified against Google’s structured data documentation and its changelog on 28/07/2026. Google changes what it supports without much notice — if you are reading this long afterwards, check the current documentation before acting on it. Background on why this markup matters beyond rich results is in the answer engine optimisation guide.