How to Validate Event Schema
Technical reference for Schema.org Event structured data. Used by Google for event rich results, calendar integration, and enhanced search visibility.
Schema.org Event
Event schema represents any type of event including concerts, conferences, webinars, festivals, and performances. Google supports Event rich results showing event details, dates, locations, and ticket information directly in search results.
Rich Results Support: Google displays Event data in search results with date/time, location, and ticket information. Events may also appear in Google Calendar and Maps integration.
Ready to validate your Event schema? Test your event details and calendar markup.
✓Validate Event Schema→JSON-LD Implementation
Physical Event Example
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Summer Music Festival 2024",
"description": "Three-day outdoor music festival featuring top indie artists with food trucks and craft beer garden",
"image": [
"https://festival.com/hero-image.jpg",
"https://festival.com/stage-photo.jpg"
],
"startDate": "2025-07-15T18:00",
"endDate": "2025-07-17T23:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"name": "Riverside Park",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 River Road",
"addressLocality": "Springfield",
"addressRegion": "IL",
"postalCode": "62701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 39.7817,
"longitude": -89.6501
}
},
"organizer": {
"@type": "Organization",
"name": "MusicFest Productions",
"url": "https://musicfest.com"
},
"performer": [
{
"@type": "MusicGroup",
"name": "The Indie Collective"
},
{
"@type": "Person",
"name": "Sarah Johnson"
}
],
"offers": {
"@type": "Offer",
"url": "https://festival.com/tickets",
"price": "89.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2026-01-01"
}
}Virtual Event Example (Webinar)
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Advanced SEO Techniques Webinar",
"description": "Learn advanced SEO strategies for 2024 from industry experts. Live Q&A session included.",
"startDate": "2025-02-15T14:00",
"endDate": "2025-02-15T16:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://zoom.us/j/123456789"
},
"organizer": {
"@type": "Organization",
"name": "SEO Institute",
"url": "https://seoinstitute.com"
},
"performer": {
"@type": "Person",
"name": "Dr. Jane Smith",
"jobTitle": "SEO Director"
},
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2026-01-01"
}
}Required Properties
@context
Must be "https://schema.org"
@type
Must be "Event"
name
Event title or name
startDate
Event start date and time in ISO 8601 format
Example: "2024-07-15T18:00"
location
Event location (Place for physical, VirtualLocation for online)
- • Physical events: Use Place with address and geo coordinates
- • Virtual events: Use VirtualLocation with URL
Recommended Properties for Rich Results
Event Details
description- Event descriptionimage- Event image or posterendDate- Event end date/timeeventStatus- Event status (Scheduled, Cancelled, etc.)
Attendance Mode
eventAttendanceMode- Online, offline, or mixedmaximumAttendeeCapacity- Venue capacityremainingAttendeeCapacity- Available spots
People & Organizations
organizer- Event organizerperformer- Artists, speakers, performerscontributor- Additional contributors
Tickets & Pricing
offers- Ticket pricing and availabilitydoorTime- Venue opening timetypicalAgeRange- Age restrictions
Event Status Values
Active Events
https://schema.org/EventScheduled- Event is scheduledhttps://schema.org/EventPostponed- Event postponedhttps://schema.org/EventRescheduled- Event rescheduled
Cancelled Events
https://schema.org/EventCancelled- Event cancelledhttps://schema.org/EventMovedOnline- Moved online
Event Attendance Modes
Offline
Physical, in-person events
OfflineEventAttendanceModeOnline
Virtual events, webinars
OnlineEventAttendanceModeMixed
Hybrid events
MixedEventAttendanceModeDate and Time Formatting
Event dates must use ISO 8601 format. Include time zone information for accurate display:
ISO 8601 Examples
"2024-07-15T18:00""2024-07-15T18:00-05:00""2024-07-15T23:00Z""2024-07-15"Common Date Mistakes
- • Using MM/DD/YYYY format instead of ISO 8601
- • Missing time component for timed events
- • Incorrect timezone formatting
- • Using 12-hour time format
Common Validation Errors
Missing startDate
Error: startDate is required for all Event schemas
Invalid date format
Error: Dates must use ISO 8601 format
"startDate": "July 15, 2024" // Wrong format
Missing location details
Warning: Location should include complete address for physical events
{
"location": {
"name": "Convention Center" // Missing address
}
}Inconsistent attendance mode
Warning: Virtual events should use VirtualLocation, not physical addresses
{
"eventAttendanceMode": "OnlineEventAttendanceMode",
"location": {
"@type": "Place", // Should be VirtualLocation
"address": "123 Main St"
}
}Event Subtypes
BusinessEvent
Conferences, trade shows, seminars
MusicEvent
Concerts, festivals, performances
SportsEvent
Games, matches, tournaments
EducationEvent
Workshops, courses, training
ExhibitionEvent
Art shows, exhibitions, fairs
Festival
Cultural festivals, celebrations
Validation & Testing
Test Event implementation using these validation tools:
Frequently Asked Questions
What is Event schema used for?
Event schema describes upcoming or past events like concerts, conferences, webinars, sports games, and performances. It helps search engines display event information in rich results with dates, locations, and ticket information.
How do I add Event schema to my event pages?
Add JSON-LD structured data to event pages with required properties like name, startDate, and location. Include optional properties like description, offers (tickets), and performer for enhanced rich results.
What are the required properties for Event schema?
The minimum required properties are name (event title) and startDate (when the event begins). For rich results, you'll also need location information. endDate is recommended for multi-day events.
How do I format event dates in Event schema?
Use startDate and endDate in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). For all-day events, use date-only format (YYYY-MM-DD). Always include timezone information for accurate display.
Can Event schema include ticket information?
Yes, use the offers property with Offer schema including price, priceCurrency, availability, and url for ticket purchasing. This enables rich results with "Buy Tickets" buttons.
How do I add event location information?
Use the location property with Place schema including name, address, and geo coordinates. For online events, use VirtualLocation with url. For hybrid events, include both physical and virtual locations.
Does Event schema help with Google Events?
Event schema provides structured data that helps Google understand and display events. While it doesn't directly integrate with Google Events, it improves event visibility in search results and may enhance Google Discover features.
Can I use Event schema for virtual events?
Yes! Use eventAttendanceMode: "OnlineEventAttendanceMode" and location with VirtualLocation including the event URL. This is perfect for webinars, virtual conferences, and online performances.
How do I handle recurring events?
For recurring events, create separate Event schemas for each occurrence with unique dates. Use eventSchedule for series information, but most implementations use individual events for better clarity.
What's the difference between Event and BusinessEvent schemas?
BusinessEvent is a subtype of Event specifically for business-related events like conferences and trade shows. Use BusinessEvent when the event is primarily business-oriented, Event for general entertainment or social events.
Can Event schema include performer information?
Yes, use the performer property with Person or Organization schemas. Include MusicGroup for bands, Person for speakers, or Organization for theater companies. This enhances event rich results.
How do I add event images and descriptions?
Include image as an array of URLs and description as detailed event information. Images should be high-quality and representative of the event. Description should be engaging and informative.
What's the impact of Event schema on event discoverability?
Event schema significantly improves search visibility with rich event cards showing dates, locations, and ticket availability. Events with proper markup are more likely to appear in event-specific search features.
How often should I update Event schema?
Update immediately when event details change (dates, locations, ticket prices). Remove or update status for canceled/postponed events. Keep attendee counts and ratings current for past events.
Additional JSON-LD Examples
Music Concert Event
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MusicEvent",
"@id": "https://example.com/events/summer-music-festival/#event",
"name": "Summer Music Festival 2024",
"description": "Three-day outdoor music festival featuring top indie and rock bands. Camping available on-site with food vendors and craft beer garden.",
"image": [
"https://example.com/events/summer-festival-main.jpg",
"https://example.com/events/festival-stage.jpg",
"https://example.com/events/festival-crowd.jpg"
],
"startDate": "2025-07-15T18:00:00-07:00",
"endDate": "2025-07-17T23:00:00-07:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"@id": "https://example.com/venues/river-park/#place",
"name": "River Park Amphitheater",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 River Road",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97201",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "45.5155",
"longitude": "-122.6789"
}
},
"organizer": {
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Summer Sounds Productions",
"url": "https://example.com"
},
"performer": [
{
"@type": "MusicGroup",
"name": "The Indie Waves",
"genre": "Indie Rock",
"sameAs": "https://www.facebook.com/theindiewaves"
},
{
"@type": "MusicGroup",
"name": "Blue Horizon",
"genre": "Alternative Rock",
"sameAs": "https://www.instagram.com/bluehorizonband"
},
{
"@type": "MusicGroup",
"name": "Midnight Collective",
"genre": "Electronic",
"sameAs": "https://www.youtube.com/midnightcollective"
}
],
"offers": [
{
"@type": "Offer",
"@id": "https://example.com/events/summer-festival/tickets/general/#offer",
"name": "General Admission - 3-Day Pass",
"description": "Access to all three days of the festival",
"price": "149.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2026-01-01T00:00:00Z",
"url": "https://example.com/events/summer-festival/tickets",
"seller": {
"@type": "Organization",
"name": "TicketMaster"
}
},
{
"@type": "Offer",
"@id": "https://example.com/events/summer-festival/tickets/vip/#offer",
"name": "VIP Experience Pass",
"description": "VIP area access, exclusive merchandise, and premium viewing",
"price": "299.00",
"priceCurrency": "USD",
"availability": "https://schema.org/LimitedAvailability",
"validFrom": "2026-01-01T00:00:00Z",
"url": "https://example.com/events/summer-festival/vip-tickets",
"seller": {
"@type": "Organization",
"name": "TicketMaster"
}
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.3",
"ratingCount": "1250",
"bestRating": "5",
"worstRating": "1"
},
"typicalAgeRange": "18-65",
"isAccessibleForFree": false,
"maximumAttendeeCapacity": 5000,
"remainingAttendeeCapacity": 1200,
"doorTime": "17:30",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/events/summer-music-festival"
},
"sameAs": [
"https://www.facebook.com/events/summer-music-festival-2024",
"https://www.instagram.com/summermusicfest",
"https://www.eventbrite.com/summer-festival-2024"
]
}
</script>Virtual Webinar Event
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "EducationEvent",
"@id": "https://example.com/webinars/digital-marketing-masterclass/#event",
"name": "Digital Marketing Masterclass: SEO & Content Strategy",
"description": "Comprehensive 2-hour webinar covering advanced SEO techniques, content marketing strategies, and data-driven digital marketing approaches for 2024.",
"image": "https://example.com/webinars/digital-marketing-webinar.jpg",
"startDate": "2025-02-15T14:00:00-05:00",
"endDate": "2025-02-15T16:00:00-05:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://zoom.us/webinar/register/example123"
},
"organizer": {
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Digital Marketing Institute",
"url": "https://example.com"
},
"performer": [
{
"@type": "Person",
"name": "Dr. Sarah Chen",
"jobTitle": "Digital Marketing Director",
"worksFor": {
"@type": "Organization",
"name": "TechCorp Solutions"
}
},
{
"@type": "Person",
"name": "Marcus Johnson",
"jobTitle": "SEO Specialist",
"worksFor": {
"@type": "Organization",
"name": "Content Marketing Agency"
}
}
],
"offers": {
"@type": "Offer",
"@id": "https://example.com/webinars/digital-marketing/registration/#offer",
"name": "Webinar Registration",
"description": "Live webinar access with Q&A session and downloadable resources",
"price": "49.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2026-01-01T00:00:00Z",
"url": "https://example.com/webinars/digital-marketing/register",
"seller": {
"@type": "Organization",
"name": "Digital Marketing Institute"
}
},
"educationalUse": "professionalDevelopment",
"teaches": [
"Search Engine Optimization",
"Content Marketing Strategy",
"Digital Analytics",
"Social Media Marketing"
],
"about": [
{
"@type": "DefinedTerm",
"name": "SEO",
"description": "Search Engine Optimization techniques and best practices"
},
{
"@type": "DefinedTerm",
"name": "Content Marketing",
"description": "Strategic approach to creating and distributing valuable content"
}
],
"maximumAttendeeCapacity": 500,
"isAccessibleForFree": false,
"recordedIn": {
"@type": "BroadcastEvent",
"isLiveBroadcast": true,
"videoFormat": "Zoom Webinar"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/webinars/digital-marketing-masterclass"
},
"sameAs": [
"https://www.linkedin.com/events/digitalmarketingmasterclass2024",
"https://www.facebook.com/events/digital-marketing-webinar"
]
}
</script>SEO & Rich Results Notes
SEO Benefits
Event schema dramatically improves event discoverability and attendance:
- • Rich Event Cards: Eye-catching event displays in search results with dates and locations
- • Enhanced Visibility: Events appear in Google Discover and event-specific searches
- • Direct Ticket Sales: "Buy Tickets" buttons in search results drive conversions
- • Voice Search Optimization: Better performance for "events near me" queries
- • Competitive Advantage: Stand out from events without structured markup
Rich Results Eligibility
Event schema enables several Google rich result features:
- • Event Rich Cards: Visual event information with images and details
- • Ticket Purchase Integration: Direct links to buy tickets
- • Calendar Integration: Add to calendar functionality
- • Location-Based Features: Maps and directions integration
- • Event Collections: Grouping of related events
Google Events Integration: Proper Event markup enhances visibility in Google's event discovery features.
Important Warnings
- Date Accuracy: Event dates and times must be accurate and current. Outdated or incorrect dates harm user experience and trust.
- Status Updates: Update eventStatus for canceled or postponed events immediately. Never leave inaccurate event information live.
- Location Verification: Physical addresses must be accurate and match Google Maps listings. Incorrect locations confuse users and search engines.
- Ticket Information: Pricing and availability must reflect real-time data. Misleading ticket information can result in penalties.
- Content Ownership: Only markup events you have permission to promote. Using Event schema for events you don't control violates guidelines.
Official Documentation
- Schema.org: Event specification
- Google Search Central: Event markup guide
- Google Events: Google Events platform
- Rich Results Test: Validate Event markup