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
eventAttendanceModeproperty to describe online participation and aVirtualLocationobject to describe the online venue. The attendance value ishttps://schema.org/OnlineEventAttendanceMode; the virtual location contains aurlfor 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, andMixedEventAttendanceModeas possible values. - Schema.org's VirtualLocation example puts the stream URL inside
location.urland a ticket offer URL insideoffers.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.
Related terms
- Structured data
- JSON-LD
- How do I test a URL or code snippet with Google's Rich Results Test?
- How do I mark a cancelled event in structured data?
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
- Google Search Central, "Event (Event) structured data", updated 8 September 2026
- Schema.org, "EventAttendanceModeEnumeration", accessed 17 October 2026
- Schema.org, "eventAttendanceMode", accessed 17 October 2026
- Schema.org, "VirtualLocation", accessed 17 October 2026
Check how a page reads to answer engines. Open the GEO score analyzer