Choose the attendance mode
- In person — add the venue name and address.
- Online — add the URL where people join (VirtualLocation).
- Hybrid — both.
Times use your local date and time. If the event is cancelled or postponed, update eventStatus in the code to EventCancelled or EventPostponed instead of deleting the page.
Create one block per event date; a recurring event needs a separate entry for each occurrence.
Paste the generated <script type="application/ld+json"> block anywhere in the page's HTML (the head is common), then validate it with Google's Rich Results Test or our Structured Data Checker. Markup must describe content that is visible on the page.
Frequently asked questions
Can I mark up free events?
Yes, set the price to 0 or leave the ticket fields empty.
Is Event schema for promoting a sale?
No, Google does not allow Event markup for non-events such as sales or coupons.
What time zone is used?
The date and time as entered; add a UTC offset in the code if the audience is international.

