Can Event schema be used for Ecommerce promotion?

Many ecommerce teams ask whether Event schema can be used to promote sales, discounts, or seasonal campaigns. This question usually comes up when businesses want extra visibility in search results during high-traffic periods such as Black Friday or product launches.

The short answer: ecommerce promotions should not use Event schema. In most cases, Product and Offer schema are the correct and Google-compliant approach.

While Event schema can generate rich results in Google, it is not designed for most ecommerce promotions. 

In the majority of cases, using Event schema for a sale or discount is incorrect and can lead to ignored markup or eligibility issues. 

What is an Event schema?

Event schema is structured data used to describe events that people attend. These are activities with a defined schedule, a specific location, and a clear start and end time.

Google uses Event schema to surface information about concerts, conferences, workshops, and similar experiences directly in search results. 

The defining characteristic of Event schema is attendance intent. Users are expected to show up, either physically or virtually, at a particular time. Because of this, Event schema is evaluated very differently from structured data used to describe products or pricing.

Can you use Event schema for ecommerce promotions?

No, you can’t use event schema for ecommerce promotions.

Ecommerce promotions generally can’t use Event schema because they are designed to drive purchases, not attendance, and Event markup is intended to describe experiences people attend at a specific time and place.

According to Google’s content guideline, Event schema is not meant to advertise short-term discounts or buying opportunities. Google is very clear—if what you’re promoting is essentially “buy now”, Event markup is the wrong tool.

Google Event schema content guideline screenshot

That means you should not use Event schema for things like time-limited offers, price drops, or promotional messaging layered onto an otherwise normal page. 

Another common source of confusion is virtual events. Schema.org supports VirtualLocation as a valid value for an event’s location, and from a purely Schema.org perspective, that is perfectly acceptable. However, this is where theory and Google’s rich result eligibility diverge. Events that exist only as virtual experiences are not eligible for Google Event rich results. Google expects an event to take place in a physical, real-world location in order to qualify for event search experience.

When is an Event schema appropriate for Ecommerce?

In practice, Event schema should only be used when the event itself is the main focus. 

Event schema can be appropriate in ecommerce only when it is a genuine event with attendance intent. The page should describe a scheduled experience that users participate in, rather than an incentive to purchase products.

Event schema can be appropriate in limited ecommerce-related scenarios. For example:

  • An in-store product launch event open to the public
  • A live online webinar about a product that is open to anyone 
  • A brand-hosted virtual product demo open to the public (valid markup, no enhanced event visibility)

In these cases, the event itself is the main subject of the page, and products may be secondary. Google expects clear signals such as scheduled dates, a defined location, and content focused on participating in the event rather than browsing a catalog or comparing prices.

Virtual-only events are still valid for Event schema, and you can mark them up accurately using VirtualLocation. However, they will not be eligible for Google event search experiences.

So, how to mark up discounted pricing correctly?

The correct way to mark up ecommerce promotions is to follow established best practices for schema markup for ecommerce websites, using the Product and Offer property rather than treating discounts as events.

Product schema should be the primary structured data type on product detail pages, as it accurately represents what users are purchasing. Sale pricing is then handled through an Offer associated with the product while using StrikethroughPrice for the original price. 

For time-limited promotions, you can use the priceValidUntil property to indicate when a sale price ends. This should only be included when there is a genuine end date and should be updated or removed once the promotion expires. 

For category-wide or site-wide sales, each product should still have its own Offer markup, ensuring that structured data remains accurate and consistent with visible pricing. 

🔖 See also: How to Mark Up a Product with Regular and Discounted Prices

Practical Takeaway

Aligning schema types with user intent not only avoids eligibility issues but also unlocks the long-term benefits of schema markup, including clearer interpretation and more consistent visibility.

From experience, the biggest structured data issues don’t come from missing markup, but from using the wrong type. 

Ecommerce promotions often feel “event-like,” but they rarely meet the criteria of an actual event. Treat Event schema as a way to describe attendance, not urgency or discounts. When in doubt, focus on accurately marking up products and pricing—clarity consistently outperforms creative interpretations of schema.

Aubrey Yung

Aubrey Yung

Aubrey is an SEO Manager and Schema Markup Consultant with years of B2B and B2C marketing experience. Outside of work, she loves traveling and learning languages.