Event

Event example in search results

Mark up your organized events so that users can discover events through Google Search results and other Google products like Google Maps.

You can add all types of events through markup — from performances by famous artists, to a neighborhood salsa class. Adding markup to your events makes it easier for users to discover and attend your event.

If you only have a few events on your website, you can use the Data Highlighter.

Region and language availability

We are excited to bring the event search experience on Google to more regions around the world. The experience is currently available in the following regions and languages.

Example

Here's an example of Event in JSON-LD. You can also use Microdata or RDFa syntax.

Guidelines

You must follow these guidelines to be eligible to appear in the event search experience on Google.

Technical guidelines

  • The target page must contain structured data items from event types on schema.org.
  • Each event MUST have a unique URL (a leaf page) and markup on that URL.

Content guidelines

  • Each event must accurately describe the event name, start date, and location.
  • Avoid marking non-events as events:
    • Don’t promote non-event products or services such as "Trip package: San Diego/LA, 7 nights" as events.
    • Don’t add short-term discounts or purchase opportunities, such as: "Concert — buy your tickets now," or "Concert - 50% off until Saturday."
    • Don’t mark business hours as events, such as: "Adventure park open 8 AM to 5PM."
    • Don't mark coupons or vouchers as events, such as: "5% off your first order."
  • Mark up multi-day events correctly:
    • If your event or ticket info is for an event that runs over several days, specify both the start and end dates of the event.
    • If there are several different performances across different days, each with individual tickets, add a separate Event element for each performance.

Structured data type definitions

The full definition of Event is available at schema.org/Event.

You must include the required properties for your content to be eligible for display in enhanced search results. You can also include the recommended properties to add more information about your content, which could provide a better user experience.

Required properties
location

Place

A nested Place. For example:

"location": {
  "@type": "Place",
  "name": "Santa Clara City Library"
}
location.address

PostalAddress

The venue's detailed street address.

Not recommended: Sydney

Recommended: Bennelong Point, Sydney NSW 2000, Australia

Best practices:

  • If the event happens across several streets, define the starting location and mention the full details in description.
  • If the event happens without a well-defined location, use the city name or the most representative location.
  • If the event happens at multiple locations at the same time, create different events for each location.
name

Text

The full title of the event.

Not recommended: **LIMITED TIME SALE - Kesha and Macklemore Concert - $25**

Recommended: The Adventures of Kesha and Macklemore

Recommended: Meet and Greet: Kesha and Macklemore

Best practices:

  • Don't use the type of event as the name of the event.
  • Don't include extraneous information like URLs, prices, or performers. Instead, use the appropriate fields for those values.
  • Highlight a unique aspect of the event in the title. This helps users make faster decisions (for example, "feat. Q&A with the artist").
  • Don't add short-term promotions (for example, "buy your tickets now").
startDate

DateTime

The start date and start time of the event in the local timezone in UTC zone using ISO-8601 format. Add both the date and time so users can more easily find events that fit into their schedule. For example:

"startDate": "2018-03-21T16:00"

If you don't know the start time or the event is a day long event, don't enter fake time or 00:00 (00:00 means a midnight start time). Instead, only specify the start date. For example:

"startDate": "2018-03-21"
Recommended properties
description

Text

Description of the event. Describe all details of the event to make it easier for users to understand and attend the event.

Best practices:

  • Add a clear and concise description of the specific event.
  • Focus on the event details and not your site's features.
  • Don't repeat other facts like date and location, which should be marked up in the respective fields.
endDate

DateTime

The end date and end time of the event the local timezone in UTC zone using ISO-8601 format. Use the same format as startDate. Add both the date and time so users can more easily find events that fit into their schedule. For example:

"endDate": "2017-04-24T23:00"

If you don't know the start time or the event is a day long event, don't enter fake time or 00:00 (00:00 means a midnight start time). Instead, only specify the start date. For example:

"endDate": "2017-04-24"
image

Repeated field of ImageObject or URL

URL of an image or logo for the event or tour. Including an image helps users understand and engage with your event. We recommend that images are 1920px wide (the minimum width is 720px).

Additional image guidelines:

  • Every page must contain at least one image (whether or not you include markup). Google will pick the best image to display in Search results based on the aspect ratio and resolution.
  • Image URLs must be crawlable and indexable.
  • Images must represent the marked up content.
  • Images must be in .jpg, .png, or. gif format.
  • For best results, provide multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.

For example:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
location.name

Text

The detailed name of the place or venue where the event is being held.

Not recommended: San Francisco, CA

Recommended: Bill Graham Civic Auditorium

Best practices:

  • Don't include a city name unless it is a city-wide event.
  • The location.name field must be the name of the venue or location, not a repeat of the title of the event. If you don't know the name of the location, don't use this field.
offers

Offer

A nested Offer, one for each ticket type. For example:
"offers": {
  "@type": "Offer"
}
offers.availability

Text

One of the following:

For example:

"offers": {
  "@type": "Offer",
  "availability": "https://schema.org/InStock"
}
offers.price

Number

The lowest available price available for your tickets, including service charges and fees. Don’t forget to update it as prices change or tickets sell out. For example:

"offers": {
  "@type": "Offer",
  "price": "30"
}
offers.priceCurrency

Text

The 3-letter currency code. For example:

"offers": {
  "@type": "Offer",
  "priceCurrency": "USD"
}
offers.validFrom

DateTime

The date and time when tickets go on sale (only required on date-restricted offers), in ISO-8601 format. For example:

"offers": {
  "@type": "Offer",
  "validFrom": "2017-01-20T16:20-08:00"
}
offers.url

URL

The URL of a page providing the ability to buy tickets. For example:

"offers": {
  "@type": "Offer",
  "url": "https://www.example.com/event_offer/123"
}

This URL must meet the following requirements:

  • Direct to a landing page that clearly and predominantly provides the opportunity to buy a ticket offering admittance to that specific event to any user from the general public.
  • Be a link that a user could click on the web page that contains the event.
  • Be followable by the Googlebot (not blocked by robots.txt).
performer

Person

The participants performing at the event, such as artists and comedians. Use a nested PerformingGroup or Person, one for each performer. For example:

"performer": {
  "@type": "PerformingGroup"
}
performer.name

Text

The name of the participant performing at the event, such as the name of the artist or comedian. For example:

"performer": {
  "@type": "PerformingGroup",
  "name": "Andy Lagunoff"
}

Troubleshooting

If your site is not displaying as an option for purchasing tickets, follow the steps below:

  1. Make sure that your structured data includes the offers.url property.
  2. Ensure that your URL meets the URL requirements for offers.url.
  3. Ask Google to recrawl your site.
  4. Submit a request for (re)evaluation.

Send feedback about...