S SCHEMA.BIZ
Event Extends: Thing

Event Schema Markup

Event markup tells Google about happenings at specific times and places — from concerts and conferences to workshops and community gatherings. Valid Event markup enables rich event listings in Google Search with date, location, and ticket information.

Eligible Rich Results

Event Rich Result Event Listing Event Pack

When to Use Event

Conferences Concerts Workshops Webinars Community meetups Festivals

Properties

Property Type Status Description
name Text required The event name or title.
startDate Date or DateTime required When the event starts.
endDate Date or DateTime recommended When the event ends.
location Place or VirtualLocation required Where the event takes place.
description Text recommended Description of the event.
image URL or ImageObject recommended Event promotional image.
offers Offer recommended Ticket pricing and availability.
performer Person or Organization optional Who is performing or presenting.
organizer Person or Organization recommended Who organized the event.
eventStatus EventStatusType recommended Scheduled, Cancelled, Postponed, etc.
eventAttendanceMode EventAttendanceModeEnumeration recommended Online, Offline, or Mixed.
url URL recommended Event page URL.
previousStartDate Date optional Original start date if rescheduled.

JSON-LD Examples

Conference

A multi-day tech conference with ticket information.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "DevCon 2024",
  "startDate": "2024-09-15T09:00:00-07:00",
  "endDate": "2024-09-17T17:00:00-07:00",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "Place",
    "name": "Convention Center",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "San Francisco",
      "addressRegion": "CA",
      "addressCountry": "US"
    }
  },
  "image": "https://devcon.com/2024-poster.jpg",
  "description": "Three days of cutting-edge tech talks, workshops, and networking.",
  "offers": {
    "@type": "Offer",
    "url": "https://devcon.com/tickets",
    "price": "599",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "validFrom": "2024-03-01"
  },
  "organizer": {
    "@type": "Organization",
    "name": "DevCon Inc.",
    "url": "https://devcon.com"
  }
}

Online Webinar

A free virtual event with online attendance.

{
  "@context": "https://schema.org",
  "@type": "EducationEvent",
  "name": "Introduction to Machine Learning",
  "startDate": "2024-05-20T14:00:00-04:00",
  "endDate": "2024-05-20T15:30:00-04:00",
  "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "VirtualLocation",
    "url": "https://zoom.us/j/123456789"
  },
  "description": "A beginner-friendly introduction to machine learning concepts.",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "organizer": {
    "@type": "Organization",
    "name": "AI Learning Hub"
  }
}

Common Mistakes

Not including timezone offset in startDate — '2024-09-15T09:00:00' is ambiguous; use '2024-09-15T09:00:00-07:00'.

Forgetting to update eventStatus when an event is cancelled or postponed.

Using a string for location instead of a Place object with an address.

Not specifying eventAttendanceMode for virtual or hybrid events.

Setting offers.price to 'Free' instead of '0' — price must be a number.

Complete Guide to Event Schema Markup

Event schema markup enables your events to appear in Google's event listings — a dedicated search feature that shows upcoming events with dates, locations, and ticket information. For event organizers, this can be a major source of ticket sales and attendance.

The three essential properties are name, startDate, and location. Without all three, Google won't display the event rich result. For dates, always include the timezone offset to avoid ambiguity — an event at '2024-09-15T09:00:00-07:00' is unambiguous, while '2024-09-15T09:00:00' could be interpreted differently by different systems.

Since 2020, the eventAttendanceMode property has become important. Google uses it to distinguish between in-person, online, and hybrid events, and displays this information prominently in search results. For online events, use VirtualLocation with a URL for the location instead of a Place.

The eventStatus property is critical for managing cancellations and postponements. When an event is cancelled, update the status to EventCancelled but leave the event markup in place — this helps Google communicate the cancellation to people who have already seen the event listing. For rescheduled events, use EventRescheduled and add previousStartDate.

Related Types

Ready to Create Event Markup?

Use our free generator to create valid Event JSON-LD markup with a visual form. No coding required.

Open Generator