Free Event Schema Generator
Generate Event JSON-LD structured data to display your events with dates, venues, and ticket pricing in Google Search results. Increase event attendance with rich search appearances.
What is Event Schema?
Event schema is structured data markup that describes an occurrence happening at a specific time and place. It tells search engines about your event's name, dates, location, performers, ticket pricing, and organizer information. Google uses this data to display event rich results, including dedicated event carousels, event packs in local search, and detailed event cards with dates and venues.
Event schema covers a wide range of event types: concerts, conferences, workshops, webinars, sporting events, festivals, meetups, and more. Both in-person and virtual events are supported, with specific properties for online event URLs, attendance modes, and hybrid formats. The schema helps users discover events through search, Google Maps, and AI-powered event recommendation features.
Why Use Event Schema? Benefits for SEO and AI Visibility
Event schema provides distinct advantages for anyone promoting events online:
- Event rich results: Google displays event cards with dates, times, and venues that stand out prominently in search results.
- Google Events experience: Your events can appear in Google's dedicated events search feature, reaching users actively looking for things to do.
- Google Maps integration: Events with proper schema and location data can appear in Google Maps when users search for local activities.
- AI event recommendations: AI assistants use Event schema to recommend relevant events to users based on their interests, location, and schedule.
- Ticket sales visibility: Showing ticket prices and availability directly in search results can drive immediate ticket purchases.
Required and Recommended Properties
Required Properties
@type: Must be "Event"name: The event titlestartDate: Event start date/time in ISO 8601 formatlocation: Where the event takes place (Place, VirtualLocation, or both)
Recommended Properties
endDate: When the event concludesdescription: Full description of the eventimage: Event promotional imageperformer: Artists, speakers, or performersorganizer: Organization or person hosting the eventoffers: Ticket pricing and availabilityeventAttendanceMode: Online, Offline, or MixedeventStatus: Scheduled, Cancelled, Postponed, or MovedOnline
JSON-LD Code Example for Event Schema
Here is a complete Event schema example for a conference:
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Digital Marketing Summit 2026",
"description": "Join 500+ marketers for two days of talks, workshops, and networking focused on AI-powered marketing strategies.",
"startDate": "2026-09-15T09:00:00-07:00",
"endDate": "2026-09-16T17:00:00-07:00",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"image": "https://example.com/images/marketing-summit-2026.jpg",
"location": {
"@type": "Place",
"name": "Portland Convention Center",
"address": {
"@type": "PostalAddress",
"streetAddress": "777 NE Martin Luther King Jr Blvd",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97232",
"addressCountry": "US"
}
},
"performer": [
{
"@type": "Person",
"name": "Jane Mitchell",
"jobTitle": "VP of Marketing, TechCorp"
}
],
"organizer": {
"@type": "Organization",
"name": "Marketing Pros Association",
"url": "https://example.com"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/tickets",
"price": "299",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2026-05-01T00:00:00-07:00"
}
}
Common Mistakes to Avoid
Missing timezone in dates
Always include timezone offset in your startDate and endDate values. Without it, Google may display incorrect times to users in different regions, causing confusion and missed attendance.
Not updating eventStatus when plans change
If your event is postponed, cancelled, or moved online, update the eventStatus property immediately. Leaving it as "EventScheduled" when the event has changed misleads both users and search engines.
Using Event schema for non-event content
Sales, promotions, and product launches are not events in the schema.org sense. Event schema is for gatherings people attend, whether physically or virtually. Misuse can trigger manual actions.
Forgetting to remove past events
Event schema for past events clutters your structured data and may confuse AI systems. Remove or archive event markup once an event has concluded, or at minimum update the status.
Want to optimize your event pages for AI discovery? Use our free Agent readiness check to analyze your AI search performance.
Frequently Asked Questions
How do I mark up a virtual or online event?
For online events, set eventAttendanceMode to "OnlineEventAttendanceMode" and use VirtualLocation as the location type with the event URL. For hybrid events, use "MixedEventAttendanceMode" and include both a Place and VirtualLocation.
Can I use Event schema for recurring events?
Yes, but each occurrence should have its own Event markup with specific dates. Do not use a single Event object for a recurring series. Create separate events for each date so Google can display accurate scheduling information for each occurrence.
What happens if my event is free?
For free events, include an Offer with price set to "0" and availability set to "InStock". This tells Google the event is free and open for registration, which can be displayed in rich results to attract more attendees.
Should I include multiple ticket tiers in Event schema?
Yes. If you have multiple ticket types (early bird, general admission, VIP), include each as a separate Offer object within an offers array. This gives Google complete pricing information and helps users understand their options directly from search results.