Get your event on Google

The event experience on Google makes it easier for people to discover and attend events through Google Search results and other Google products, like Google Maps. This feature brings many benefits:

  • More interactive results: Your events can be eligible to be displayed in the event experience on Google, featuring your logo, description of the event, and more.
  • Increased chances of discovery and conversion: People have a new way to interact with your event posting and click through to your site. Learn how Eventbrite saw a 100% increase in the typical year-over-year growth of traffic from Google Search.
Event example in search results

There are three options to make your events eligible to appear on Google:

  • If you use a third-party website to post events (for example, you post events on ticketing websites or social platforms), check to see if your event publisher is already participating in the event search experience on Google. If your event publisher is integrated with Google, continue to post your events on the third-party website. You can stop reading here.
  • If you use a CMS (for example, WordPress) and you don't have access to your HTML, check with your CMS to see if there's a plugin that can add structured data to your site for you. Alternatively, you can use the Data Highlighter to tell Google about your events without editing the HTML of your site.
  • If you're comfortable editing your HTML, use structured data to directly integrate with Google. You’ll need to edit the HTML of the event pages.


Standard event

Here's an example of standard Event in JSON-LD. A standard event means that the event is happening at a physical location only and the event is happened as scheduled. You can also use Microdata or RDFa syntax.

    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
      "@context": "",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00",
      "endDate": "2025-07-21T23:00",
      "eventAttendanceMode": "",
      "eventStatus": "",
      "location": {
        "@type": "Place",
        "name": "Snickerpark Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "100 West Snickerpark Dr",
          "addressLocality": "Snickertown",
          "postalCode": "19019",
          "addressRegion": "PA",
          "addressCountry": "US"
      "image": [
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can’t miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "",
        "validFrom": "2024-05-21T12:00"
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"

Online event

Here's an example of an event that's happening online.

Mixed online and offline event

Here's an example of an event that has parts that are online and parts that are happening at a physical location.

Event with an updated status

There are multiple ways to set the status of an event. Here are some common examples of events that have an updated status. For more information, refer to the eventStatus property.


Here's an example of an event that's been canceled.


Here's an example of an event that's been rescheduled.

Moved online and rescheduled

Here's an example of an event that's been rescheduled and moved online.

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.

Integrate with the event experience on Google

Here's an overview of how to integrate with the event experience on Google:

  1. Ensure that Googlebot can crawl your event pages (meaning, your pages aren't protected by a robots.txt file or robots meta tag).
  2. Ensure that your server can handle increased crawl rate.
  3. Make sure you follow our guidelines.
  4. If you have several copies of the same event posting on your site hosted under different URLs, use canonical URLs on each copy of the page.
  5. Add structured data to your event pages. Currently, the event experience on Google only supports pages that focus on a single event. We recommend focusing on adding markup to your event posting pages instead of pages that list schedules or multiple events.
  6. Test and preview your structured data.
  7. Check the index status of your URLs and request for your URL to be crawled with the URL inspection tool in Search Console. To confirm if crawlers are able to access structured data on your page, use the Live Test feature.
  8. Keep Google informed of new event pages or changes to existing event pages.

Monitor performance in Search

To understand how users interact with your event postings, use the following Google tools:


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
  • Each event MUST have a unique URL (a leaf page) and markup on that URL.
  • Currently, the event experience on Google only supports pages that focus on a single event. We recommend focusing on adding markup to your event posting pages instead of pages that list schedules or multiple events.

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.

Date and time guidelines

When implementing the startDate, endDate, and previousStartDate properties, follow these date and time guidelines.

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.

Recommended: "startDate": "2025-07-21"

Not recommended: "startDate": "2019-08-15T00:00:00+00:00"

Not recommended: "startDate": "2019-07-20T00:00:00"

How to specify timezones

Specify the timezone by including the offset to UTC or GMT. If the event starts at 7pm on September 5 in New York, the startDate value would be GMT/UTC-5 during standard time and GMT/UTC-4 during daylight savings time. During standard time, startDate value would be "2019-09-05T19:00:00-05:00" or "2019-09-05T19:00:00-04:00" respectively. If no timezone is provided, Google uses the timezone of the event's location as specified in location.

Best practices

  • Event takes place over a range of dates: If the event takes place over the course of multiple days, indicate both the start and end date. Don't indicate the time if you don't know the time.


    "startDate": "2019-07-01T10:00:00",
    "endDate": "2019-07-26T17:00:00"


    "startDate": "2019-07-01",
    "endDate": "2019-07-26"

    Not recommended

    "startDate": "2019-07-01T00:00:00+00:00",
    "endDate": "2019-07-26T23:59:59+00:00"
  • Event starts at a specific hour: If the event starts at a specific time, such as 5pm locally, use 2019-07-20T17:00:00. Include the appropriate UTC offset (for example, use 2019-07-20T17:00:00-07:00 if the event is in California).
  • Event is a day long event: If the event is happening all day, don't specify a granular hour for the start date. For example, you can use 2019-08-15 as both the startDate and endDate for a day-long event.
  • Event start hour isn't known: If you don't know the hour for the start time, don't specify a granular hour. For example, you can use 2019-08-15 as both the startDate and endDate.

Examples of how Google interprets dates

Here are some examples of how Google interprets start date and time:

Structured data Interpretation
2019-08-15T00:00:00+00:00 Google interprets the startTime to be 2019-08-14T17:00:00-07:00 (if location is set to California) or 2019-08-15T09:00:00 (if location is set to Korea).
2019-08-15T23:59:59+00:00 This doesn't mean the end of 2019-08-15 unless the event happens in the GMT timezone. Google interprets the startTime to be 2019-08-15T16:59:59-07:00 (if location is set to California) or 2019-08-16T08:59:59 (if location is set to Korea).
2019-07-10 This means the date regardless of the timezone. When used in startDate, it means the event starts in the location from sometime in that day. When used in endDate, it means the event ends in the location from sometime in that day.
2019-07-20T00:00:00 This means midnight on 2019-07-20 for the timezone where the event happens. This is also likely wrong unless the event was meant to start at midnight.

Structured data type definitions

The full definition of Event is available at

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

Place or VirtualLocation

The location of the event. There are different requirements depending on if the event is happening online or at a physical location:

  • Physical location: If the event is happening at a physical location, set the @type to Place. Add the location.address and properties.
  • Online event: If the event is happening online, set the @type to VirtualLocation. Add the location.url property.
  • Mix of online and physical locations: If an event has a mix of online and physical location components, include both online and physical nested location properties in a nested array. For example:

Physical locations

If an event is happening at a physical location, nest the following properties for location. For example:

Required properties


The venue's detailed street address. This property is only required for events that take place at a physical location.

Not recommended: Sydney

Recommended: Bennelong Point, Sydney NSW 2000, Australia

Best practices for addresses:

  • 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.

Recommended properties


The detailed name of the place or venue where the event is being held. This property is only recommended for events that take place at a physical location.

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 property 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 property.

Online events

If an event is happening online, nest the following property in location.

Required properties


The URL of the online event, where people can join. This property is required if your event is happening online.



The full title of the event.

Not recommended: Bill Graham Civic Auditorium

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. For example, "Concert" is not a descriptive name for an event.
  • Don't include extraneous information like URLs, prices, or performers. Instead, use the appropriate properties 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").


The start date and start time of the event in ISO-8601 format. Add both the date and time so users can more easily find events that fit into their schedule.

Recommended properties


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 properties.


The end date and end time of the event in 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.



Indicates whether the event occurs online, offline at a physical location, or a mix of both online and offline. If you don't include this property, Google understands the event mode to be OfflineEventAttendanceMode, which means Google understands that the event is happening at a physical location. Use one of the following values:

eventStatus EventStatusType

The status of the event. If you don't use this field, Google understands the eventStatus to be EventScheduled. Here are the supported values. You can use multiple statuses, if applicable (for example, if an event was both rescheduled and moved online).


The event has been canceled.


The event has been moved from in-person attendance to online attendance.


The event has been postponed to a later date, but the date isn't known yet. Keep the original date in the startDate of the event until you know when the event will take place. Once you know the new date information, change the eventStatus to EventRescheduled and update the startDate and endDate with the new date information.


The event has been rescheduled to a later date. Update the startDate and endDate with the relevant new dates. Optionally, you can also mark the eventStatus field as rescheduled and add the previousStartDate.


The event is scheduled to happen. This value is the default status for events. If you don't set eventStatus, Google understands the event to be happening on schedule.


Repeated 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).

إرشادات إضافية للصور:

  • يجب أن تحتوي كل صفحة على صورة واحدة على الأقل (سواء استخدمت الترميز فيها أو لا). سيختار Google أفضل صورة لعرضها في نتائج "بحث Google" استنادًا إلى نسبة العرض إلى الارتفاع ودرجة الدقة.
  • يجب أن تكون جميع عناوين URL للصور قابلة للزحف والفهرسة.
  • يجب أن تمثل الصور المحتوى محل الترميز.
  • يجب أن تكون الصور بالتنسيق .jpg أو .png أو .gif.
  • للحصول على أفضل النتائج، قدِّم عدة صور عالية الدقة (بحد أدنى 50 ألف بكسل عند ضرب العرض في الارتفاع) وبنسب العرض إلى الارتفاع التالية: 16×9 و4×3 و1×1.


"image": [


A nested Offer, one for each ticket type.


One of the following:



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.



The 3-letter currency code.



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



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

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).


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


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



The previously scheduled start date for the event if an event has been rescheduled. If you add previousStartDate, you must also add the eventStatus property and set the eventStatus to EventRescheduled.

For rescheduled events, the startDate property must only be used for the newly scheduled start date. In the (rare) case of an event that has been postponed and rescheduled multiple times, this field may be repeated.


If your event isn't appearing in the event experience on Google or if you've received a manual action for Spammy Structured Markup in Search Console, resolve the most common issues listed below and review our guidelines. If you're still experiencing issues, check the Event FAQ or post in the Webmaster forum.

Event location is missing or incorrect

error What caused the issue: Googlebot doesn't understand the values provided for the eventLocation, addressLocality, or addressRegion properties. Google tries to match the location information to a physical location, and the location provided is either missing or incorrect.

done Fix the issue

  1. Make sure the structured data includes values for eventLocation, addressLocality, or addressRegion (depending on the location, since not all of the location properties are applicable).
  2. Check that the field uses the location name, or leave it blank if it does not have a name. A common issue is accidentally placing the event name in the field.
  3. Validate the fix:
    1. Open the Rich Results Test.
    2. Enter the event posting URL in the Fetch URL box.
    3. Click Validate.
    4. Click Preview.

      Success: The Rich Results Test displays the correct eventLocation in the Google Search Preview Tool.

      Try again: The Rich Results Test displays "false" where the event location should be in the Google Search Preview Tool. Make sure the location is a real location.

My site isn't showing up as an option for purchasing tickets

error What caused the issue: The offers.url property is missing or doesn't meet the URL requirements.

done Fix the issue

  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.

Time or date is incorrect

error What caused the issue: The time or date is incorrect. Common errors include not offsetting for the time zone or specifying an incorrect start time (for example, midnight as a start time).

done Fix the issue

  1. Specify the correct local time offset. For example, if your event starts at 7pm in New York (UTC - 5) and ends at 9pm, then the value for startDate is 2019-08-15T19:00:00-05:00 and the value for endDate is 2019-08-15T21:00:00-05:00. If you are unable to fill in the offset for your events, don't offset the time (for example, use 2019-08-15T19:00:00).
  2. Make sure the start or end time is accurate. One common mistake is setting an event to start at midnight when the event doesn't actually start at midnight. If the event is a day long event, or the start hour hasn't been announced, only specify the day. For example:

    Recommended: 2019-07-20

    Not recommended: 2019-07-20T00:00:00

    Not recommended: 2019-08-15T00:00:01+00:00

    Not recommended2019-08-15T00:00:00+00:00