Skip to content
50% OFF $299 $599
Lock in
§ 3.6 ARTICLE
Published VerifiedEvery 6 weeks Sources3 named Authored bySquareRank Team

Schema · § 3.6 · How-to

Event schema for Squarespace event pages

Event is one of the few schema types where Google still strongly rewards correct markup in 20261. Required fields: name, startDate, location. Recommended: description, endDate, eventStatus, image, offers, organizer. The feature is available in 8 markets (US, UK, Canada, Australia, Germany, Spain, Brazil, India), and virtual-only events without a real-world component aren't supported. Install per-page on Squarespace via Page Settings > Advanced > Page Header Code Injection.

Event schema is the highest-ROI install for a Squarespace site running a workshop, retreat, opening, or recurring class series. Done right, the event surfaces in Google's dated-event carousel above classical results and shows up clean in AI engine answers to “when is the next X in city Y” queries.

What Event schema is

Event is the Schema.org type for a dated occurrence — a workshop, a retreat, a concert, a class, an opening, a conference. The shape: a top-level Event object naming the event, its start and end dates in ISO 8601, its location (a Place object or a VirtualLocation), and optionally its organizer, offers (ticketing), performer, eventStatus, and eventAttendanceMode (offline, online, mixed). Schema.org defines specific subtypes (MusicEvent, BusinessEvent, ChildrensEvent, EducationEvent, ExhibitionEvent, Festival, SaleEvent, TheaterEvent, VisualArtsEvent) — use the narrowest match when it genuinely fits.

The mental model: Event describes one specific dated occurrence. A recurring weekly class is multiple Events (one per occurrence) or a single Event with a clear startDate and the recurrence noted in description. The cleaner pattern for AI engine extraction is one Event per occurrence with its own URL — harder to maintain but more accurate.

When to use Event schema

Use Event on any page describing a dated occurrence customers can attend or book. Workshops, retreats, classes, concerts, conferences, exhibitions, sales events. Do not use Event for ongoing services with no specific date (use Service), for product listings (use Product), or for general business information (use LocalBusiness). The hard test is whether the page has a specific start date — if yes, Event applies; if no, it doesn't.

A Squarespace-specific note: Squarespace's events block creates an event page automatically when you add an event in the events area. The auto-created page does NOT include Event JSON-LD in the head — you still need to add it via Page Settings Code Injection. The events block produces calendar widgets and listing pages, not structured data.

Rich-results status in 2026

Event structured data remains an actively supported Google rich-result type in 2026. Eligible events appear in the dated-event carousel above classical search results for queries like 'events in [city] this weekend' or '[event-type] near me'. The feature is available in 8 markets (US, UK, Canada, Australia, Germany, Spain, Brazil, India). Virtual events without a real-world component aren't supported — a webinar with no physical attendance option doesn't qualify, even with eventAttendanceMode set to online.

Google's documentation is explicit on a counter-intuitive rule worth memorising: when an event is cancelled or rescheduled, do not remove startDate. Update eventStatus to EventCancelled or EventRescheduled and (for rescheduled) update endDate — but the original startDate stays. Removing it produces validation errors and confuses the dated-event surface.

Event schema in 2026

3

required fields: name, startDate, location. The location must be a Place with real-world address for full eligibility.

Google Search Central · 2025-12-10
8

regions where the dated-event carousel feature is available: US, UK, Canada, Australia, Germany, Spain, Brazil, India.

Google Search Central · 2025-12-10
Yes

the rich-result is active in 2026 — Event is one of the few schema types that still consistently triggers a SERP enhancement.

Google Search Central · 2025-12-10

Required and recommended fields

Three required fields per Google's canonical Event documentation: name (the event title), startDate (ISO 8601 datetime with timezone), location (a Place object with name + PostalAddress). Strongly recommended: description, endDate, image, eventStatus, eventAttendanceMode, offers (an Offer with price, priceCurrency, url, availability, validFrom), organizer (an Organization or Person), performer (when applicable).

  • name — required. Event title.
  • startDate — required. ISO 8601 with timezone (e.g. 2026-09-12T19:00:00-04:00).
  • location — required. A Place object with name and address (PostalAddress with country code).
  • endDate — recommended. ISO 8601.
  • description — recommended. 1-2 sentence summary.
  • image — recommended. URL or array of URLs to representative images.
  • eventStatus — recommended. EventScheduled, EventCancelled, EventPostponed, EventRescheduled, EventMovedOnline.
  • eventAttendanceMode — recommended. OfflineEventAttendanceMode, OnlineEventAttendanceMode, MixedEventAttendanceMode.
  • offers — recommended when ticketed. An Offer with price, priceCurrency, url, availability, validFrom.
  • organizer — recommended. Organization or Person object with name and url.

Copy-paste JSON-LD example

The block below is a complete Event schema for a Saturday-morning ceramics workshop at a Brooklyn studio. Replace name, dates, location, organizer, and ticket details with your real values. The eventAttendanceMode is OfflineEventAttendanceMode because attendees come in person; if you stream the workshop too, use MixedEventAttendanceMode.

JSON-LD Event schema for a Brooklyn ceramics workshop
 <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "EducationEvent", "name": "Beginner Wheel Throwing — Saturday Morning", "description": "Three-hour intro to the pottery wheel. Clay and tools provided; leave with two pieces ready for firing.", "startDate": "2026-09-12T10:00:00-04:00", "endDate": "2026-09-12T13:00:00-04:00", "eventStatus": "https://schema.org/EventScheduled", "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode", "image": "https://yourstudio.com/images/workshop-hero.jpg", "location": { "@type": "Place", "name": "Hollis Ceramics Studio", "address": { "@type": "PostalAddress", "streetAddress": "212 Greenpoint Avenue", "addressLocality": "Brooklyn", "addressRegion": "NY", "postalCode": "11222", "addressCountry": "US" } }, "organizer": { "@type": "Organization", "name": "Hollis Ceramics Studio", "url": "https://yourstudio.com/" }, "offers": { "@type": "Offer", "url": "https://yourstudio.com/workshops/beginner-wheel-throwing-sept-12", "price": "85", "priceCurrency": "USD", "availability": "https://schema.org/InStock", "validFrom": "2026-05-18T00:00:00-04:00" } } </script> 

Where to paste it on Squarespace

Event goes per-page in the event page's Code Injection. Open the event page in the Squarespace editor, Page Settings > Advanced > Page Header Code Injection, paste the script block, save. If the event lives on a dedicated event page (created manually) the install is straightforward. If the event is in Squarespace's events area, you still need to add the schema via the event-page Code Injection — the events feature does not auto-emit Event JSON-LD.

For a recurring weekly class, the cleanest pattern is one event page per occurrence (so each Saturday's workshop has its own URL with its own Event schema). The lazier alternative is one event page with the next occurrence's date in startDate and the recurrence pattern noted in description — structurally valid but less precise for AI engine attribution.

Validation steps

Run the event page URL through Google's Rich Results Test. Confirm Event is detected, dated-event carousel eligibility is reported, and zero errors are present. Common errors: startDate without timezone offset, address without country, eventAttendanceMode using a plain string instead of the Schema.org enum URL. Fix each error and re-run.

A second validation worth doing: confirm the dated-event surface actually shows the event by running a Google search for “[event name] [city]” from a location inside one of the 8 supported markets. The carousel typically appears 1-3 days after the schema is detected, longer for new sites without established crawl frequency.

Common gotchas on Squarespace

Three gotchas catch most Squarespace Event installs. First: removing startDate when an event cancels or reschedules — Google's documentation is explicit that startDate stays. Update eventStatus and endDate instead. Second: treating Squarespace's events block as automatic schema — it isn't, you still need per-page Code Injection. Third: virtual-only events without a physical attendance option — Google's dated-event surface doesn't support purely virtual events, so eventAttendanceMode OnlineEventAttendanceMode without a paired offline option won't trigger the carousel.

A fourth gotcha worth naming for multi-day events: a single Event with startDate on day one and endDate on the final day is correct, not a separate Event per day. The dated-event carousel treats this as one occurrence. Split into multiple Events only when each day has a meaningfully different agenda or location.

Event references Place (the location), Organization or Person (the organizer and optionally the performer), and Offer (for ticketing). When the host venue has its own LocalBusiness schema elsewhere on the site, the Event's location field can mirror that LocalBusiness's address. BreadcrumbList belongs on every event page.

  • LocalBusiness schema — the host venue often carries its own LocalBusiness elsewhere; Event's location can reference it.
  • Organization schema — the organizer field on Event usually references the site's Organization.
  • BreadcrumbList — install on every event page.