beginner6 min read·Schema Markup

Event Schema

Event schema marks up upcoming events with date, location, organizer, offers, and mode - triggering event rich results and AI event-query citations.

Event Schema: Structured Data for Conferences, Webinars, and Hybrid Events

Event schema enables event pages to appear in Google's dedicated Events search experience - showing event date, location, ticket price, and attendance mode in rich result formats that stand out from standard organic listings. For in-person conferences, virtual webinars, and hybrid events alike, Event schema is the prerequisite for Google Events carousel inclusion, event-specific voice query answers, and structured AI Overview citations for event-discovery queries.

The introduction of eventAttendanceMode values (OnlineEventAttendanceMode, MixedEventAttendanceMode) in 2020 - necessitated by the pandemic pivot to virtual events - created a permanent structured data layer for virtual event discovery that Google has continued investing in. Properly declaring eventAttendanceMode is now one of the most common implementation errors, causing virtual events to fail virtual event filter eligibility.

For related schema context, see Organization Schema and FAQ Schema.

Event Rich Result Preview - In-Person, Virtual, and Hybrid

Toggle between event types to see how each displays in Google's rich result format - including the key structural differences:

Event Rich Result Preview
In-Person

AEO & AI Search Summit 2026

April 15–17, 2026

Moscone Center, San Francisco, CA

Ticket options

Early Bird: $499 (ends Feb 28)

General Admission: $799

VIP + Workshop: $1,299

Event schema enables the event date, location, and ticket price information to display in Google Search rich results and Google Events carousel

Complete JSON-LD Examples - In-Person and Virtual Events

Annotated, production-ready Event schema for both event formats - with key field differences highlighted:

Event Schema JSON-LD - Complete Examples
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "AEO & AI Search Summit 2026",
  "startDate": "2026-04-15T09:00:00-07:00",
  "endDate": "2026-04-17T18:00:00-07:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "Moscone Center",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "747 Howard St",
      "addressLocality": "San Francisco",
      "addressRegion": "CA",
      "postalCode": "94103",
      "addressCountry": "US"
    }
  },
  "image": "https://example.com/events/aeo-summit-2026.jpg",
  "description": "The premier conference for AEO practitioners...",
  "organizer": {
    "@type": "Organization",
    "name": "AEO Practitioner Network",
    "url": "https://example.com"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/tickets",
    "price": "799",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "validFrom": "2026-01-15T00:00:00-07:00"
  }
}

eventAttendanceMode

In-person: OfflineEventAttendanceMode

Virtual: OnlineEventAttendanceMode

Critical for hybrid/virtual eligibility

location @type

In-person: Place + PostalAddress

Virtual: VirtualLocation with url

Different @type required per mode

eventStatus

In-person: EventScheduled

Virtual: EventScheduled

Update if event status changes

eventStatus Reference - All Status Values and Usage

The five eventStatus values and when to use each - including the critical update workflow for cancelled and rescheduled events:

eventStatus Values - When to Use Each
EventScheduled

Event will proceed as planned. Default status - must be explicitly declared.

Required
EventCancelled

Event has been cancelled. Google may still show the event listing with a cancelled label. Update as soon as possible.

EventMovedOnline

What was an in-person event has moved to online delivery. Keep original in-person details + add VirtualLocation.

EventPostponed

Event postponed without a confirmed new date. Do not use EventRescheduled until new date is confirmed.

EventRescheduled

Event has a confirmed new date. Update startDate and endDate with new values alongside this status.

Event Schema Implementation Checklist

Event Schema Implementation Checklist0%

Frequently Asked Questions

Related Topics