Implement and Validate Event Schema for Rich Results | OpsBlu Docs

Implement and Validate Event Schema for Rich Results

Build correct Event JSON-LD structured data with required properties for dates, venues, and offers, and troubleshoot common validation errors.

Why Event Schema Matters

Event structured data enables rich results in Google Search that display dates, times, venue information, ticket prices, and availability directly in the search listing. For event-driven businesses (venues, conferences, ticketing platforms, performing arts), this markup is essential. Events with rich results see significantly higher click-through rates because users can evaluate the event details without clicking through first.

Google supports Event schema for concerts, festivals, conferences, workshops, sporting events, meetups, and other scheduled gatherings. It does not support coupons or vouchers, business hours, or short-term sales as "events."

Required JSON-LD Structure

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Austin Tech Conference 2026",
  "startDate": "2026-05-15T09:00:00-05:00",
  "endDate": "2026-05-17T17:00:00-05:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "Austin Convention Center",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "500 E Cesar Chavez St",
      "addressLocality": "Austin",
      "addressRegion": "TX",
      "postalCode": "78701",
      "addressCountry": "US"
    }
  },
  "image": "https://example.com/events/austin-tech-2026.jpg",
  "description": "Three-day technology conference featuring 200+ speakers on AI, cloud infrastructure, and cybersecurity.",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/events/austin-tech-2026/tickets",
    "price": "499.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "validFrom": "2026-01-15T08:00:00-05:00"
  },
  "performer": {
    "@type": "Person",
    "name": "Keynote Speaker Name"
  },
  "organizer": {
    "@type": "Organization",
    "name": "TechEvents Inc.",
    "url": "https://example.com"
  }
}

Required: name, startDate, location (or location.url for online events), eventAttendanceMode

Strongly recommended: endDate, eventStatus, image, description, offers, organizer

Omitting recommended properties will not cause validation errors but significantly reduces your chance of appearing as a rich result.

Handling Event Status Changes

Use eventStatus to communicate schedule changes without removing the schema:

  • EventScheduled - proceeding as planned (default)
  • EventPostponed - delayed, new date not yet confirmed (keep original startDate and add previousStartDate)
  • EventRescheduled - moved to a new date (update startDate and add previousStartDate)
  • EventCancelled - no longer happening (keep the markup, change status only)
  • EventMovedOnline - changed from in-person to virtual

Virtual and Hybrid Events

For online events, set eventAttendanceMode to OnlineEventAttendanceMode and replace the Place location with:

"location": {
  "@type": "VirtualLocation",
  "url": "https://example.com/events/virtual-stream-url"
}

For hybrid events, use MixedEventAttendanceMode and include both a Place and a VirtualLocation in an array.

Common Validation Errors

  • Missing startDate: The most common error. Must be in ISO 8601 format with timezone offset.
  • Past events: Google does not show rich results for events whose startDate has passed. Remove or update expired event markup.
  • Missing location for offline events: You must include a full Place with address for in-person events.
  • Invalid eventStatus URL: Must use the full https://schema.org/ prefix, not just the value name.

Testing and Monitoring

Validate with Google's Rich Results Test before deployment. After launch, monitor the Events enhancement report in Google Search Console for valid items, warnings, and errors. Check the Performance report filtered by "Event rich results" search appearance to measure impressions, clicks, and CTR improvements.