Event Markup

  • October 06, 2020
  • Nirlep Patel
  • 7 min read

With the help of the Event Feature on Google, You can discover and attend several events taking place in your city. The Events feature is similar to other Google Features like Google Products and Google Maps. Using the feature for enlisting your event on Google, provides you with many benefits like:

  • Many People can discover your events leading to increased click-through and conversion rate on your website.
  • Your events are displayed directly on Google with the event logo, description, etc.


PRO TIP: Due To CO-VID 19, Google has added several new features like organizer, event status, eventAttendanceMode and previousStartDate for helping people understand the status of your event and mode of attendance.


  • When Using Third-Party websites to post your event, make sure that your publisher is already participating in Google’s event search experience. If your publisher is integrated with Google, then you do not need to worry and continue posting on the said site.
  • When Using CMS and not having access to an HTML, check if your CMS has a plugin that can be used for adding structured data to your website. You can also use the Data Highlighter for letting Google know about your events without editing the HTML of your website.
  • When editing your HTML, use structured data for directly integrating it with Google. You will have to edit the HTML of the event pages



  • Make Sure that Googlebot can crawl your event pages.
  • Make Sure that your server can handle increased crawl rates.
  • Follow the structured data Guideline
  • Use canonical URLs on each page copy, if having several copies of the same event posting on your site hosted under different URLs.
  • Ensure you add structured data to your event pages. Currently, the event feature on Google only supports pages focussing on a single event. It is recommended to add a markup to your events posting pages instead of pages listing schedules or multiple events.
  •  Test and Preview the structured data.
  • Check your URLs index status and request for your URL to be crawled with the URL inspection tool. Use the Live Test Feature, for abling crawlers to access structured data on your page.
  • Always keep Google informed of new event pages or changes with existing event pages. Use a sitemap for it.



The Guidelines to follow for adding the Event Schema structured data to your website or webpage are as follows:

  1. Technical Guidelines:
  • The target page must contain the various structured data items of the Event Markup.
  • Every event should have a unique URL and the markup on the URL.
  • Currently, the event feature on Google only supports pages focussing on a single event. It is necessary to add a markup to your events posting pages instead of those pages which list schedules or multiple events.


       2.  Content Guidelines:

  • Every event has to be described accurately with the specific event name, start date, location, etc.
  • Always avoid marking non-events events as events.
  •  Always Markup multi-day events correctly.


       3. Date And Time Guidelines:

  • Use structured data properties like startDate, endDate and previousStartDate for specifying important information like The Starting date, The ending date and Previous Start Date of the event respectively.
  •  Always specify the time zone of the place where the said event is taking place irrespective of its attendance mode.
  • Always indicate the start date and end date for events taking place for multiple days. Do not indicate the time if you do not know it.
  • If event starters at a specific hour, specify the said hour or time. Include the said UTC offset.
  • It is not necessary to specify the time for an all-day event. You can use the said event date as both the Start Date and End Date.



  • Event: The entity holds the said event. Example: Concert Event, Educational Event.
  • Location: The location of the said event, the event can either be a
  • Online Event: For an online event set the event @type to virtualLocation, ensure to add the location.URL property.

Required Properties for an online event:

  • location.URL: The said URL of the online event.


  • Physical Event: For a physical event set the event @type to place. Ensure to add the location.address and location.name properly.

Required properties for a physical event:

  • A.location.address: The detailed street address of the said venue.

For events happening across several streets, state the starting location and mention full details in the description.

Use the city name or another well-defined name for events without a well-defined location.

If the event occurs at multiple locations at the same time, then create different events for each location.

location. name: The said name of the place or venue where the event is taking place.

Include a city name only when it is a city-wide event. Do not use the property if you are unaware of the name of the location.


The event is a mix of online and physical event: include both the online and physical nested location properties in a nested array.

  • Name: The full title of the said event.

Do not use the type of event as the event’s name.

Do not add other properties like price, performer’s name, URLs, etc in the name property.

Always highlight a unique aspect of the event.

Avoid adding short term promotions to the event name.

  • startDate: The said start date and start time of the event in ISO-8601 Format. Always specify the timezone for online events.
  • Description: The property holds the full description of the event.

Always add a detailed and concise description of the event.

Always focus on the event details, not your website’s features.

Do not repeat facts like date and location, it should be marked up in the respective property.

  • EndDate: The entity holds the end date of the event in ISO-8601 Format.
  • EventAttendanceMode: States where the event occurs.

It can be online or in the physical world or if the event is a mix up of both the worlds.

If the property is not included, Google will assume that the event is taking place in an Offline mode at a physical location. Ensure to use one of the said values:

  • OfflineEvent Attendance
  • OnlineEventAttendance
  • MixedEventAttendance
  • EventStatus: The Status of the said event whether it has been:
  • Cancelled: EventCancelled
  • Moved Online: Event Moved Online
  • Postponed: EventPostponed
  • Rescheduled: EventRescheduled

Always update the end date and start date and mark the event as Event rescheduled and add the previous start date.

  • Scheduled: Eventscheduled states that the event is scheduled to happen and is the default status for all events. If you do not mention eventStatus, then Google will assume that the event is to be scheduled.
  • Image: URL of the Logo or Image of the said event or tour. Images must be 1920px wide.

Every page must contain one image.

Make Sure that All image URLs are crawlable and indexable.

All images must have a file format supported by Google Images.

Always provide high-resolution images

  • Offers: The entity holds a nested offer, one for every ticket type.

Offers.Availability: The entity holds one of the following contents:

  • Instock
  • SoldOut
  • PreOrder


In case the ticket is not yet on sale, you can omit the availability and specify validForm.

  • Offers.price: The entity holds the lowest price available for the tickets, including service charges. Always update as and when the tickets are sold out and price changes.
  • Offers.priceCurrency: The said 3-letter currency code.
  • Offers.validForm: the said date and time when tickets go on sale in ISO-8601 format.
  • Offers.URL: The URL of the page where tickets are sold.

The URL must directly take the user to the page which sells tickets for the specific event.

Can be a link containing the said event.

Can be crawled by Googlebot.

  • Organizer: The said person or organisation that is hosting the event. Important for online events. Add the following properties :
  • Organiser.name
  • organiser.URL
  • Organiser. name: The name of the said person or organisation hosting the event.
  • Organiser.URL: The said event’s URL.
  • Performer: The said participants performing at the event. They can be artists, musicians, etc.
  • PreviousStartDate: Use this entity to state the previously scheduled date for the event. Specify the time zone. The StartDate property is used for the newly scheduled start date.

PRO TIP: For monitoring and analysing guidelines, please refer to the previous structured data posts.


  1. If my event location is missing or incorrect:

Googlebot usually does not understand the values provided by various properties like eventLocation, addressLocality, addressRegion.

How do I fix the issue?

  • Ensure that the structured data includes the above state properties.
  • Make sure that the location. name mentions the said location’s name or leaves it empty if it does not specify any location name.
  • Validate the properties again:
  • Use the Rich Results Test
  • Enter the event URL in the Fetch URL box.
  •  Click on Validate.
  • Click on Preview.


If it is successful, then the Rich Results text displays the correct event location in the Google Search Preview Tool.

Otherwise, it displays try again for false event locations.

  1. My Website is not showing up as an option for tickets purchasing

The said situation occurs when the Offers.URL property is missing or does not meet the URL requirements.

How Do I Fix the issue?

  • Ensure that your structured data includes offers.URL property.
  • Make Sure that your said URL meets the URL requirements for offers.URL
  • Ensure to ask Google to recrawl your site.
  •  Submit a re-evaluation request.


  1. If the Time Or Date is Incorrect:

Errors include not specifying the correct start time or not offsetting for the time zone.


  • Mention the correct start time and end time.
  • Mention the appropriate local time offset.

In the next post of The ALL ABOUT DATA STRUCTURE series, I will throw light on the FAQ Schema Markup.

Nirlep Patel
I am an internet entrepreneur and also the Co-Founder of GBIM Technologies, India’s fastest growing internet marketing company. My forte lies in actively lending technical expertise in Search Engine Optimisation, SEM Google AdWords, SMM. Spanning about 14 years of focus on Digital Marketing, GBIM today has become one of the greatest digital marketing company. This could have been possible only because of the trust which our clients have on us, and the quality services we have delivered to them I have always believed that more is lost from indecision than wrong decisions and as a result, we have managed to create an environment where people are encouraged to challenge process and innovate. This culture has cultivated a highly motivated team with an open approach where anyone can share their thoughts and ideas freely.
recent posts