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.


The image on the right shows event search results for "jazz concerts this weekend". See JSON-LD code for this example in the Structured Data Testing Tool. You can also use Microdata or RDFa syntax.


You must follow the general structured data quality guidelines and technical guidelines for your event to be eligible to be shown in Search results. In addition, the following guidelines apply to event structured data.

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 on Schema.org.

Required properties

The following properties are required for your structured data to display in search results. Any event missing the required fields will not be considered for enhanced Search results. In your JSON-LD, set the @context to "http://schema.org/" and @type to "Event". For example:

"@context": "http://schema.org",
"@type": "Event"

You can use Google’s Structured Data Testing Tool to validate and preview the appearance of your page in search. Here is an example of previewing an event in search.

Preview the Event example using the Structured Data Testing Tool
Required properties
location Place

A nested Place. For example:

"location": {
  "@type": "Place",
  "name": "Santa Clara City Library, Central Park Library"
location.address PostalAddress

The venue's detailed address. For example:

"location": {
  "@type": "Place",
  "name": "Santa Clara City Library, Central Park Library",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "2635 Homestead Rd",
    "addressLocality": "Santa Clara",
    "postalCode": "95051",
    "addressRegion": "CA",
    "addressCountry": "US"

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

Title of the event. For example:

"name": "Jan Lieberman Concert Series: Journey in Jazz"

Best practices:

  • Mention the full title of the event.
  • 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").
  • Don't add prices in the title. Instead, use the price property.
startDate DateTime

The start date and start time of the event in the local timezone. For example:

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

You can also add time in the UTC zone using ISO-8601 format. For example:

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

Best practices:

If you don't know the start time, don't enter fake time or 00:00. Instead, only specify the start date. For example:

"startDate": "2018-03-21"

Google recommends the following properties. Adding recommended fields might be factored into ranking in the enhanced Search results.

Recommended properties
description Text

Description of the event. For example:

"description": "Join us for an afternoon of Jazz with
  Santa Clara resident and pianist Andy Lagunoff. This concert
  series is in honor of Jan Lieberman, former Santa Clara City
  children's librarian, mentor, and friend. The series is
  sponsored by the Foundation and Friends of the Santa Clara
  City Library."

Best practices:

  • Describe all details of the events to make it easier for users to understand and attend the event.
endDate DateTime

The end date and end time of the event. Use the same format as startDate. For example:

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

Don't enter fake time or 00:00 if the end time isn't known. Instead, only specify the end 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. 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": [
location.name Text

The venue's detailed name. For example:

"location": {
  "@type": "Place",
  "name": "Santa Clara City Library, Central Park Library"
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": "http://schema.org/InStock"
offers.price Number

The lowest available price, including service charges and fees, of this type of ticket. 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/12345_201803180430"

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
A nested PerformingGroup or Person, one for each performer. For example:
"performer": {
  "@type": "PerformingGroup"
performer.name Text
The performer's name. For example:
"performer": {
  "@type": "PerformingGroup",
  "name": "Andy Lagunoff"


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.

Оставить отзыв о...

Текущей странице