Event Schema (Event)
Event schema is structured data based on the Schema.org Event type, used to mark up a date, concert, course, or trade fair in a machine-readable format. It lets search engines and AI assistants extract the name, date, location, price, and ticket link without ambiguity, which makes it easier for your event to be surfaced accurately rather than guessed at.
Why event schema matters
A date on a page is a bundle of details — when, where, how much, whether it's still happening — and if all of that lives only in prose, a machine has to infer which date is real or whether the event is online or in person. Event schema states those facts plainly, which Google can use to build a rich snippet showing date and location directly in search results. It's worth being precise about what this buys you: Google's own guidance is clear that structured data is not a ranking factor and isn't required for a page to appear in AI Overviews or AI Mode. What it does is make extraction reliable — when an assistant like ChatGPT or Perplexity is asked what's happening in a city this weekend, clean markup is what lets it read your event correctly instead of skipping it or getting a detail wrong.
How it works technically
Event schema is usually added as JSON-LD, a block of data in the page's source that describes the event as an object of type Event. Typical fields include name, startDate, endDate, location, offers for ticket pricing, and eventAttendanceMode to say whether it's in-person, online, or hybrid. The eventStatus field matters too, since it tells a crawler whether the event is still on, postponed, or cancelled. None of this changes what a visitor sees on the page — it runs invisibly alongside the visible content, read by crawlers but not rendered for people.
Common mistakes
The most frequent error is a missing or malformed date — startDate needs full ISO format with a time zone, like 2026-09-12T19:00:00+02:00, or Google will simply discard the markup. Almost as common is skipping the full address for an in-person event, or the join URL for an online one. A subtler mistake is letting the markup drift out of sync with the visible page — a different date in the JSON-LD than what a visitor actually reads erodes trust once it's caught. And many sites mark up only the event name while leaving out price, availability, and organizer, which are exactly the fields that make a listing worth citing in the first place.
Relevance to AI recommendations
Assistants are increasingly asked time-sensitive questions — what concerts are on this month, is there a spot left in a class, when does a fair open — and answering those well requires facts the model can trust rather than guess at. Clean event schema doesn't buy you a ranking boost or a guaranteed citation; Google has been explicit that structured data isn't a ranking signal. What it does is reduce the odds of an assistant inventing or misstating a detail, because it's pulling a clean date and price instead of parsing loose text. Marking events up well is a low-cost way to make sure an assistant that does decide to mention you gets the facts right.
Example
A music school is promoting a summer concert. Rather than describing it only in prose, it adds event schema in the page's code: name Music School Summer Concert, startDate 2026-07-18T18:30:00+02:00, the town hall's address as location, an offers block listing 8 euros admission with a ticket link, and the organizer's name. When someone later asks an assistant what's happening in town on the evening of July 18, it can state the concert's date, location, and price correctly and link back to the page. Without the markup, the same event is far more likely to be missed or misdescribed.
Common questions
Do I need to know how to code to add event schema?
Not necessarily. Many content platforms and plugins generate the JSON-LD automatically once you fill in the date, location, and price through a form. For a custom-built page, a developer or a schema generator can produce it, and Google's Rich Results Test is a good way to confirm it's valid afterward.
What if an event gets cancelled or moved?
Update the eventStatus field, to EventCancelled or EventPostponed as appropriate, and set a new date if it's been rescheduled. Keeping this current avoids sending people, or an AI assistant, toward an event that no longer exists in the form it was described.