How do I mark an online event's attendance mode and location?

The Citead team, updated

In short. Use OnlineEventAttendanceMode with a VirtualLocation containing the attendance URL, while applying Google's physical-location rule for its event experience.

Definition: Online event markup uses Schema.org's eventAttendanceMode property to describe online participation and a VirtualLocation object to describe the online venue. The attendance value is https://schema.org/OnlineEventAttendanceMode; the virtual location contains a url for attending the event.

Key facts

  • As of 17 October 2026, Google's Event structured data documentation requires a physical location and excludes virtual experiences with no real-world component from its event experience.
  • Schema.org's attendance mode enumeration lists OnlineEventAttendanceMode, OfflineEventAttendanceMode, and MixedEventAttendanceMode as possible values.
  • Schema.org's VirtualLocation example puts the stream URL inside location.url and a ticket offer URL inside offers.url.

Which attendance mode describes the event?

Schema.org's eventAttendanceMode documentation defines the property as indicating whether an event occurs online, offline, or as a mix. Its online example uses the full value https://schema.org/OnlineEventAttendanceMode. Its mixed example uses https://schema.org/MixedEventAttendanceMode.

For an event with both physical and online participation, the same documentation shows a location array containing a VirtualLocation and a Place. The physical venue includes its name and a PostalAddress object. The online venue has its own stream URL. Both locations belong to the same event object.

What belongs in the virtual location?

Schema.org defines a VirtualLocation as an online or virtual location for attending events, with an online seminar as an example. Its url property identifies that virtual location.

The following JSON-LD fragment reproduces the attendance and location fields from Schema.org's online event example. JSON-LD is the JSON format used by that example to express structured data. The fragment shows only the fields relevant to this question:

{
  "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
  "location": {
    "@type": "VirtualLocation",
    "url": "https://stream.storytimereadings.com/"
  }
}

The stream address is part of Schema.org's illustrative example. An implementation replaces it with the event's actual online attendance URL and includes these fields within the complete event object. The source example separately supplies the event name, start and end dates, and scheduled status.

How does this relate to Google's event requirements?

Google's required properties table specifies Place for location and a detailed street address for location.address. A purely online event falls outside the physical-location condition in its content guidelines. Schema.org's virtual event examples therefore describe the vocabulary without establishing eligibility for Google's event experience.

For an event with a physical component, the same Google documentation requires a unique event URL with markup on that page, and the page must focus on a single event. Its implementation workflow calls for the Rich Results Test to identify critical errors, followed by URL Inspection to check how Google sees the deployed page.

FAQ

Can I use the ticket purchase URL as the virtual location?

Use the URL that identifies the online venue. The VirtualLocation example separates the stream URL in location.url from the ticket offer URL in offers.url.

How do I describe an event with a venue and a livestream?

Use https://schema.org/MixedEventAttendanceMode. Schema.org's mixed event example includes both a Place and a VirtualLocation in the location array.

Does passing Google's test make an online-only event eligible?

Google's content guidelines require a physical location. Its troubleshooting guidance also explains that the Rich Results Test can miss guideline compliance issues.

Sources

  1. Google Search Central, "Event (Event) structured data", updated 8 September 2026
  2. Schema.org, "EventAttendanceModeEnumeration", accessed 17 October 2026
  3. Schema.org, "eventAttendanceMode", accessed 17 October 2026
  4. Schema.org, "VirtualLocation", accessed 17 October 2026

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark