eventAttendanceMode
eventAttendanceMode · Not mentioned by Google
Appears in
What is it?
Indicates whether an event takes place in person, online, or as a hybrid of both. This property was added to schema.org during the COVID-19 pandemic and has become standard for any event that offers a virtual attendance option. It uses a fixed set of enumeration values from EventAttendanceModeEnumeration.
Why this matters for AEO
When a user asks "can I attend [event] remotely" or "is [conference] virtual this year," AI answer engines read eventAttendanceMode to give a direct yes or no. Without this field, the AI must parse the event description for phrases like "join online" or "virtual option available," which is unreliable and often missed.
What the specs say
Schema.org: EventAttendanceModeEnumeration. The eventAttendanceMode of an event indicates whether it occurs online, offline, or a mix. schema.org/eventAttendanceMode
Google: Not explicitly listed as a named property in Google's Event structured data documentation, but used in Google's examples for online and virtual events. Google Event docs
How to find your value
- In-person only —
https://schema.org/OfflineEventAttendanceMode - Online only (livestream, webinar, virtual) —
https://schema.org/OnlineEventAttendanceMode - Hybrid (both in-person and online) —
https://schema.org/MixedEventAttendanceMode
Use the full URL form with the https://schema.org/ prefix for each value.
Format and code
In-person event:
{
"@type": "Event",
"name": "Data Saturday Oslo 2025",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"name": "Oslo Convention Center"
}
}
Online event:
{
"@type": "Event",
"name": "Next.js Conf 2024",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://nextjs.org/conf"
}
}
Hybrid event:
{
"@type": "Event",
"name": "Figma Config 2024",
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"location": [
{
"@type": "Place",
"name": "Moscone Center, San Francisco"
},
{
"@type": "VirtualLocation",
"url": "https://config.figma.com"
}
]
}
Pair eventAttendanceMode with the appropriate location type: Place for offline, VirtualLocation for online, both for mixed.
Webflow implementation
Static pages
Add eventAttendanceMode to the Event JSON-LD in Page Settings > Custom Code (Before ):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Webflow Conf 2024",
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"startDate": "2024-10-09T09:00:00",
"location": [
{
"@type": "Place",
"name": "Palace of Fine Arts, San Francisco"
},
{
"@type": "VirtualLocation",
"url": "https://webflow.com/conf"
}
]
}
</script>
CMS template pages
Create a CMS option field or plain text field with one of the three values. Use conditional logic in the embed to set the matching location type.
In Schema HQ
Configuration allows you to select the attendance mode from a dropdown and automatically pairs it with the correct location structure in the published JSON-LD.
Real examples
Eventbrite (Data Saturday Oslo 2025):
"eventAttendanceMode": "OfflineEventAttendanceMode"
JamBase (Kennedy Center):
"eventAttendanceMode": "OfflineEventAttendanceMode"
Related fields
- location — physical or virtual venue (pair with attendance mode)
- eventStatus — whether the event is scheduled, cancelled, or rescheduled
- startDate — when the event begins
- organizer — who is hosting the event
FAQ
Do I need eventAttendanceMode if my event is in person?
It is not required, but adding OfflineEventAttendanceMode makes the format explicit for structured data consumers. For in-person-only events, omitting the field is acceptable since offline is the implied default.
How does eventAttendanceMode interact with location?
The attendance mode and location type should match. Use Place for offline, VirtualLocation for online, and an array of both for mixed. Mismatched values (online mode with a physical Place) create contradictory signals.
Was this property created for the pandemic?
Schema.org added eventAttendanceMode and VirtualLocation in response to the COVID-19 shift to virtual events. Both are now permanent parts of the vocabulary and widely adopted by ticketing platforms and event sites.