Skip to content

Event Schema Generator

Create Event JSON-LD structured data with dates, location, and tickets

Boosting Event Visibility with Schema Markup

Event schema markup powers one of Google's most interactive search features — the Events experience. Our event schema generator creates valid JSON-LD markup that enables rich results showing your event's date, location, ticket price, and status directly in search results, Google Maps, and the dedicated Events search tab.

Event Rich Results in Google

Google displays event data in multiple surfaces: regular search results with event cards, the Events search tab, Google Maps local results, and Google Assistant responses. Event rich results show the event name, date, time, venue, and a direct link to tickets — giving users everything they need to decide and act without visiting additional pages.

Location and Virtual Events

For in-person events, include a Place with name and address. For online events, use VirtualLocation with a URL to the streaming or meeting platform. Hybrid events can include both a physical Place and VirtualLocation. The eventAttendanceMode property tells Google which format to expect and helps users filter events by whether they can attend remotely or need to be present.

Managing Event Status Changes

The eventStatus property is critical for communicating changes. When an event is cancelled, update the status to EventCancelled rather than removing the page — this ensures people who already found the event see the cancellation notice. EventPostponed indicates a delay without a new date, while EventRescheduled should include the new startDate. Keeping event structured data current prevents confusion and builds trust.

Ticket and Pricing Information

Including Offer data with price and availability makes your event listing actionable. Users can see the ticket price and click directly to purchase. For free events, set the price to 0 — this is a strong draw in search results. For events with tiered pricing, include the lowest price as the primary Offer and note the range in the description.

Event Schema Best Practices

Always use ISO 8601 format for dates with timezone information. Include an image at least 720px wide for visual event cards. The event name should be the specific event title, not a generic description. Do not use Event schema for sales, promotions, or store hours — Google may issue manual actions for misuse. Each event occurrence should have its own schema with specific dates.

$ faq

What is Event schema markup?
Event schema markup is structured data that describes an event with details like name, date, location, ticket information, and performers. Google uses this data to display event rich results with dates, venue, and ticket links directly in search results, Google Maps, and the Events search experience.
What types of events support rich results?
Google supports rich results for concerts, festivals, conferences, workshops, sporting events, theater performances, meetups, webinars, and other organized gatherings. Both in-person and online events are supported. Social media posts, sales, promotions, and business hours are not considered events for schema purposes.
What is eventAttendanceMode?
eventAttendanceMode indicates whether the event is offline (in-person), online (virtual), or mixed (hybrid). Use OfflineEventAttendanceMode for physical events, OnlineEventAttendanceMode for virtual events, and MixedEventAttendanceMode for hybrid events. This became especially important for filtering events by format in search results.
How do I handle recurring events?
Each occurrence of a recurring event should have its own Event schema with specific dates. Do not use a single schema for all occurrences. If a weekly meetup runs for 10 weeks, create 10 separate Event entries each with their own startDate and endDate. Google needs individual dates to display events in chronological search results.
Should I include ticket pricing?
Yes, including Offer data with price, currency, availability, and a ticket URL enables Google to show pricing and a direct link to purchase tickets in event rich results. For free events, set the price to 0. For events with multiple ticket tiers, you can include multiple Offer objects.
What is eventStatus used for?
eventStatus communicates whether the event is scheduled, cancelled, postponed, or moved to online. Use EventScheduled for confirmed events, EventCancelled for cancelled ones, EventPostponed when rescheduled to an unknown date, EventMovedOnline when shifted from physical to virtual, and EventRescheduled with a new date.