Event Schema

Generate Event JSON-LD for concerts, conferences, webinars. Online, offline or mixed attendance modes supported. Free tool, no sign-up.

About the tool

What is the SBMM Event Schema Generator?

The SBMM Event Schema Generator is a free online tool that builds Event JSON-LD for any event you are promoting: a concert, a conference, a webinar, a workshop, a course session, a meet-up, a product launch, or any other date-bound experience users can register for or attend. Fill in the event name, start and end dates, location, attendance mode, organizer, performer, and offers; get back a clean schema.org Event block ready to paste into the head of your event page.

Event schema is required for Google Events rich-result eligibility, which is the carousel of event cards that appears in Search and in the dedicated Google Events tab. Pages with valid Event schema appear in those surfaces; pages without it do not, regardless of how well they rank organically. The same schema also powers event listings in the Google Maps Events tab for local events.

In 2026 Event schema also feeds AI search assistants when users ask about upcoming events in their area or on a topic. ChatGPT, Claude, Gemini, and Perplexity all read Event schema to populate their event-discovery answers. Publishing a complete Event block per event is one of the highest-leverage marketing investments per hour of work for organisers, promoters, and education businesses running cohort-based courses.

Step by step

How to use this tool in 3 steps

  1. Step 01

    Enter event name and dates

    Type the event name and a short description. Add the start date and end date in ISO 8601 format (YYYY-MM-DDTHH:MM:SS with the local time zone). Multi-day events are supported; recurring events should be declared as separate Event nodes per occurrence.

  2. Step 02

    Pick the attendance mode + location

    Choose Offline (physical venue), Online (virtual event), or Mixed (hybrid). Offline events need a Place with PostalAddress and optional geo coordinates. Online events need a VirtualLocation with the join URL. Mixed events need both.

  3. Step 03

    Add organizer, offers, and install

    Add the organizer Organization or Person, optional performer (Person or Organization), and Offer nodes for ticket pricing with availability. Copy the generated JSON-LD and paste it inside a script type application ld json tag in the event page head.

Why this tool

Why use this tool

  • Online / offline / mixed modes

    eventAttendanceMode supports OfflineEventAttendanceMode (in-person only), OnlineEventAttendanceMode (virtual only), and MixedEventAttendanceMode (hybrid). The right value unlocks the matching rich-result treatment in Google Events surfaces.

  • Place + VirtualLocation correctly typed

    Physical events get a Place node with PostalAddress and optional geoCoordinates. Virtual events get a VirtualLocation with the join URL. Hybrid events get both, so Google can render either attendance option depending on the user query.

  • eventStatus signaling

    Declare EventScheduled (default), EventCancelled, EventPostponed, EventRescheduled, or EventMovedOnline so Google can update the rich-result listing in real time after the original event date if circumstances change. Critical for post-COVID event marketing.

  • Organizer + performer support

    organizer accepts an Organization or Person; performer accepts an array of Person or Organization nodes for multi-speaker events. Both attach the event entity to the brand and personality entities Google needs for Knowledge Graph linking.

  • Offer pricing + availability

    Add one or more Offer nodes with price, currency, availability (InStock / SoldOut), validFrom and validThrough dates, and a ticket URL. AggregateOffer wraps multiple Offers when ticket tiers vary, so Google reads the price range correctly.

  • Free, no sign-up, no cap

    Generate Event schema for every event in your calendar. SBMM Pro adds bulk generation from a CSV of event metadata, recurring-event templating, and a calendar-integration mode for Eventbrite, Meetup, and Universe organisers.

FAQ

Frequently asked questions

What is Event schema?

Event schema is a structured-data block in JSON-LD format that identifies a page as the listing for a specific event and declares the name, start and end dates, location, attendance mode, organizer, performer, and ticket offers. Google uses it to populate the Events rich result, the Events tab, and Maps event listings.

Do I need Event schema to appear in Google Events?

Yes. The Google Events rich result, the Events tab on Search, and the Events tab on Maps all require valid Event schema as the source of truth. Pages without Event schema can rank organically but never enter the dedicated event-discovery surfaces, where most event-intent traffic now lives.

How do I declare an online-only event?

Set eventAttendanceMode to OnlineEventAttendanceMode and provide a VirtualLocation with the join URL (Zoom, Google Meet, Hopin, or your platform of choice). The location field stays as VirtualLocation; Google understands the event has no physical venue and renders the rich result accordingly.

How do I handle a hybrid (in-person plus online) event?

Set eventAttendanceMode to MixedEventAttendanceMode and declare both a Place node (with PostalAddress for the physical venue) and a VirtualLocation node (with the join URL). Google renders the rich result with both attendance options so users can pick which mode they prefer.

What if the event is cancelled or postponed?

Update the schema with eventStatus set to EventCancelled or EventPostponed and republish. Google reads the updated status on the next crawl and updates the rich-result listing accordingly. Users searching after the change see the cancelled or postponed badge instead of an outdated upcoming-event card.

Can I use one Event schema block for a recurring event?

No. Each occurrence needs its own Event block with its own startDate. Schema.org has a EventSeries type for recurring events but Google does not currently render EventSeries as a rich result, so the per-occurrence pattern is the practical choice.

Where do I install the Event schema?

On the dedicated event landing page, inside a script type application ld json tag in the head. Eventbrite, Meetup, Hopin, and most ticketing platforms inject Event schema automatically on the event page they host; if you also publish a landing page on your own site, install matching schema there as well.

Are offers required for the Event rich result?

Not required, but strongly recommended. Adding Offer nodes with price, currency, and availability turns the basic Event rich result into a richer card that shows ticket pricing inline in the SERP. The CTR uplift versus a bare Event listing is meaningful for any paid event. Pair Event schema with Organization schema for the organiser and validate the whole stack through our Schema Intelligence Analyzer.