Event Schema Markup: How to Get Your Events in Search

When you search for a concert, workshop or webinar, Google often shows a rich block with the date, venue and a ticket link, sometimes in a dedicated events carousel. That is powered by event schema markup. Adding this structured data to your event pages helps Google understand and feature your events, which can drive real attendance. This guide explains what event schema is, the properties that matter, and how to add it correctly.

What event schema is

Event schema is structured data (usually JSON-LD) using Schema.org’s Event type. It describes an event in machine-readable form: its name, start and end times, location (physical or virtual), organiser, and ticket or offer details. When Google reads valid event markup, your event becomes eligible for enhanced displays, the rich event snippet and Google’s event search experiences, that stand out far more than a plain listing.

The properties that matter

A few properties are essential for eligibility:

Property Role
name The event’s name (required)
startDate Start date and time, in ISO 8601 (required)
location Physical venue address or virtual URL (required)
endDate When it finishes
offers Ticket price, currency and availability
organizer, performer Who runs it / who appears

Getting the startDate format and the location right is where most implementations succeed or fail.

Physical, virtual and hybrid events

Since online events became common, Google expects event markup to be clear about where an event happens. For an in-person event, location is a Place with a physical address. For an online event, use a VirtualLocation with the URL where people attend. A hybrid event, part in-person, part online, can include both. Marking this correctly matters because Google surfaces online events to people searching from anywhere, so a webinar mislabelled with only a physical address, or missing its virtual URL, loses the very audience it could reach. Always match the location type to how people actually attend.

Keep dates and availability accurate

Event markup is time-sensitive, which makes accuracy critical. The startDate and endDate must match the real event, and if a date changes, or the event is postponed or cancelled, your markup should reflect it (Schema.org has an eventStatus property for postponed, rescheduled and cancelled states). Stale or wrong event data is not just unhelpful, it can get your rich results suppressed and frustrate people who show up at the wrong time. If your events come and go, generate the markup from your live event data rather than hard-coding it, so it never drifts out of sync with reality.

Why it is worth doing

Event rich results are visually prominent and information-dense, date, venue and tickets right there in search, which lifts visibility and click-through compared with a plain link. Eligibility for Google’s event experiences can put you in front of people actively looking for something to attend. For any organiser, venue or business that runs events, that is high-value free exposure, and the markup also helps AI assistants answer “what’s on near me” style queries accurately.

Generate and validate your event schema

Hand-writing Event JSON-LD, with correctly formatted dates and nested location and offer objects, is error-prone. Our free event schema generator builds valid markup from your event details, name, dates, location, tickets, ready to paste into your page. Always confirm it parses with our schema validator before relying on it. For the fundamentals of structured data, see our guide to what schema markup is.

The takeaway

Event schema puts your date, venue and ticket details into Google’s rich event displays, valuable free visibility for anyone running events. Include the required name, startDate and location, mark physical versus virtual attendance correctly, and keep dates and status accurate as things change. Generate valid markup with our event schema generator, validate it with the schema validator, and explore the rest of our free SEO tools.

Questions? Chat with us