BYTETOOLS

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:00 tells 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

MistakeWhy it hurtsFix
No timezone on datesAmbiguous start time, warningsAppend the UTC offset to every date
Deleting cancelled eventsUsers see stale info elsewhereKeep the page, set eventStatus to EventCancelled
Markup not matching the pageViolates guidelines, risks manual actionMirror all details visibly on the page
Missing location for in-person eventsIneligible for rich resultsAdd a Place with name and address
Online event with a physical addressWrong attendance modeUse 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

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.