Loading page
Free Event tool
Marks up events — webinars, conferences, local meetups — for Google's event rich result carousel and Maps event listings. Rich result eligible. No signup. No credit card.
Marks up events — webinars, conferences, local meetups — for Google's event rich result carousel and Maps event listings.
{
"@context": "https://schema.org",
"@type": "Event",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode"
}Validation
★ Rich result eligible — validate at Google Rich Results Test
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "SterlingWeb GEO Workshop",
"startDate": "2026-07-15T09:00:00+05:30",
"location": {
"@type": "VirtualLocation",
"url": "https://example.com/events/geo-workshop"
},
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled"
}
</script>Understanding the format
Event schema tells Google about real-world and online events — name, start date, location, organiser, and ticketing. Google uses it to show events in a dedicated carousel in SERPs, in Google Maps for local events, and in Google Discover. Online events (webinars, virtual conferences) use 'eventAttendanceMode: OnlineEventAttendanceMode' and a 'VirtualLocation' with a URL. In-person events use 'Place' with a PostalAddress. If your event has tickets, adding an 'Offer' with price and availability can unlock ticket pricing in the rich result.
Displaying webinars and conferences in Google's event carousel rich result
Surfacing local in-person events in Google Maps and the Events tab
Providing structured ticket pricing and availability to AI event-finder tools
Using a plain string for 'location' instead of a Place or VirtualLocation object
Omitting eventStatus — required; use https://schema.org/EventScheduled, EventCancelled, or EventPostponed
Setting startDate without a timezone offset — always include +HH:MM or Z
Missing eventAttendanceMode for online events — required for Google's online event treatment
Using a past startDate — Google only shows upcoming events in the carousel
Need expert implementation?
Our team audits your existing schema, fixes errors, and deploys a complete structured data strategy — Organisation, Service, FAQ, Article, and BreadcrumbList — for Google Rich Results and AI Overviews.
FAQ
Event schema tells Google about real-world and online events — name, start date, location, organiser, and ticketing. Google uses it to show events in a dedicated carousel in SERPs, in Google Maps for local events, and in Google Discover. Online events (webinars, virtual conferences) use 'eventAttendanceMode: OnlineEventAttendanceMode' and a 'VirtualLocation' with a URL. In-person events use 'Place' with a PostalAddress. If your event has tickets, adding an 'Offer' with price and availability can unlock ticket pricing in the rich result.
Displaying webinars and conferences in Google's event carousel rich result Surfacing local in-person events in Google Maps and the Events tab Providing structured ticket pricing and availability to AI event-finder tools
Yes — Event schema is eligible for rich results. You can validate your generated JSON-LD using Google's Rich Results Test at search.google.com/test/rich-results.
Using a plain string for 'location' instead of a Place or VirtualLocation object Omitting eventStatus — required; use https://schema.org/EventScheduled, EventCancelled, or EventPostponed Setting startDate without a timezone offset — always include +HH:MM or Z Missing eventAttendanceMode for online events — required for Google's online event treatment Using a past startDate — Google only shows upcoming events in the carousel
In WordPress, you can add JSON-LD schema by inserting a Custom HTML block at the top of your page containing a <script type="application/ld+json"> tag, or by using Yoast SEO's Schema tab to add custom schema. You can also paste the script into your theme's header.php file.
In Shopify, paste the JSON-LD script block inside the <head> section of your theme.liquid file. For Online Store 2.0 themes, you can also add it via a JSON section or App Block if your theme supports it.
In Next.js (App Router), add the schema directly in your page.tsx server component using: <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(schemaObject) }} />. Place it at the top of the returned JSX alongside other metadata.
This tool was built by Sterlingweb Growth Labs Private Limited, an India-based Shopify, WordPress, and SEO/AEO/GEO agency headquartered in Nashik. Learn more at /about or see our technical SEO services at /services/technical-seo-aeo-geo-services.