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 description
  • image - Event image or poster
  • endDate - Event end date/time
  • eventStatus - Event status (Scheduled, Cancelled, etc.)

Attendance Mode

  • eventAttendanceMode - Online, offline, or mixed
  • maximumAttendeeCapacity - Venue capacity
  • remainingAttendeeCapacity - Available spots

People & Organizations

  • organizer - Event organizer
  • performer - Artists, speakers, performers
  • contributor - Additional contributors

Tickets & Pricing

  • offers - Ticket pricing and availability
  • doorTime - Venue opening time
  • typicalAgeRange - Age restrictions

Event Status Values

Active Events

  • https://schema.org/EventScheduled - Event is scheduled
  • https://schema.org/EventPostponed - Event postponed
  • https://schema.org/EventRescheduled - Event rescheduled

Cancelled Events

  • https://schema.org/EventCancelled - Event cancelled
  • https://schema.org/EventMovedOnline - Moved online

Event Attendance Modes

Offline

Physical, in-person events

OfflineEventAttendanceMode

Online

Virtual events, webinars

OnlineEventAttendanceMode

Mixed

Hybrid events

MixedEventAttendanceMode

Date and Time Formatting

Event dates must use ISO 8601 format. Include time zone information for accurate display:

ISO 8601 Examples

Local Time:
"2024-07-15T18:00"
With Timezone:
"2024-07-15T18:00-05:00"
UTC Time:
"2024-07-15T23:00Z"
Date Only:
"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

Incorrect: Missing startDate property entirely

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

Complete Event schema for a music concert with performer information and ticket details:
<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

Event schema for virtual/online events like webinars and virtual conferences:
<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