Event Schema Best Practices and Mistakes to Avoid
The best-practice essentials for Event schema are: use ISO 8601 dates with a timezone, keep structured data consistent with visible page content, model offers with price and availability, and set the correct eventAttendanceMode for online or hybrid events. Most events that fail to earn rich results trip on one of a handful of avoidable mistakes.
Here are the settings that matter, the errors that quietly kill eligibility, and how to troubleshoot a listing that will not appear.
Best practices that earn rich results
- Always include a timezone offset. A date like
2026-07-06T19:00:00-04:00tells Google the exact moment. Bare local times cause confusion for attendees in other regions. - Add an endDate. It helps Google show duration and stops the event from being treated as instantaneous or expired too early.
- Model offers fully. Include price, priceCurrency, availability and a ticket URL. Even for free events, an offer with price 0 is clearer than none.
- Set eventAttendanceMode. Mark online, offline or hybrid explicitly so Google labels the listing correctly.
- Keep markup and page in sync. The visible page must show the same name, date, venue and price as the JSON-LD.
Common mistakes and fixes
| Mistake | Why it hurts | Fix |
|---|---|---|
| No timezone on dates | Ambiguous start time, warnings | Append the UTC offset to every date |
| Deleting cancelled events | Users see stale info elsewhere | Keep the page, set eventStatus to EventCancelled |
| Markup not matching the page | Violates guidelines, risks manual action | Mirror all details visibly on the page |
| Missing location for in-person events | Ineligible for rich results | Add a Place with name and address |
| Online event with a physical address | Wrong attendance mode | Use VirtualLocation + online mode |
Handling changes: cancelled, postponed, moved online
When plans change, do not delete the page. Update eventStatus to EventCancelled, EventPostponed or EventRescheduled, and for events that shift to virtual, switch the location to a VirtualLocation and update the attendance mode. Google uses these signals to keep the displayed card accurate, which protects attendee trust.
Troubleshooting a listing that won't show
If your event isn't appearing, check in this order: run the Rich Results Test for hard errors, confirm the startDate has a valid ISO format and timezone, verify a location (physical or virtual) is present, and make sure the page details match the markup. Rich results are never guaranteed, but clearing errors and warnings maximizes your eligibility.
Try the Event Schema Generator — free and 100% in your browser.
FAQ
Why is my valid event schema still not showing rich results?
Valid markup makes you eligible, not guaranteed. Google weighs page quality, content match and its own thresholds. Ensure the details are visible on the page and the event is in the future.
Do I need an offer for a free event?
It is not strictly required, but adding an offer with a price of 0 signals clearly that the event is free and can improve how the listing is treated.
What timezone format does Google expect?
ISO 8601 with a UTC offset, such as 2026-09-12T18:30:00+01:00. This removes any ambiguity about when the event actually starts.
Should I remove a page after the event ends?
You can keep it for SEO value, but it will no longer show as an upcoming event. For cancellations before the date, update eventStatus rather than deleting.
How do I mark up a hybrid event?
Set eventAttendanceMode to the mixed/hybrid value and provide both a physical Place and a VirtualLocation with the online URL, so both audiences are represented.
Related free tools
- JSON-LD Generator — general structured data builder.
- FAQ Schema Generator — add FAQ markup to event pages.
- Local Business Schema Generator — mark up your venue.
- Article Schema Generator — for event previews and recaps.
Built by ByteVancer
ByteTools is a free product of ByteVancer, a software and web development studio building web apps, SaaS and custom software. For sites engineered to rank and convert, explore how ByteVancer can help.
Recommended reading
How to Generate Event JSON-LD Schema for Google
Step-by-step guide to generating Event JSON-LD: add name, dates, location and offers, then copy valid markup into your page for event rich results.
Event Schema Use Cases: Concerts, Webinars and More
Real event schema use cases with examples: concerts, webinars, workshops, conferences and free meetups — how each maps to Event JSON-LD fields.
Yes or No Generator: Real Use Cases and Examples
From beating decision paralysis to games and classrooms, see real use cases and examples for a random yes or no generator.
Yes or No Generator Tips and Common Mistakes
Get better decisions from a random yes or no generator. Pro tips, when to add Maybe, and the common mistakes to avoid when picking answers.