When a user creates an event in the app, it is automatically added to the Google Calendar and also appears in Google search. We also setup and verify a Google My Business (Business Profile Manager) account.

However, events are no longer listed in Google Search as of a few months ago.

In the body tag, we've added structured format using event schema. Also, run the 'Rich Results Test'. The final outcome is as follows:

  1. This event does not appear in a Google search. https://search.google.com/test/rich-results/result?id=hdcpQmkTmjzhQvj0LPr0Uw
  2. Event appear in google search results: https://search.google.com/test/rich-results/result?id=NvX-EWQtQeENb0U2hJREzw

Except for the event name, time, and location, above both the events are different.

Could someone please assist me? How can I fix it?


SERP Features are Inherently Volatile

It's not really a perfect science. The extent of our control here is limited. All we can really do is add the right structured data to our content and hope for the best. It's not uncommon to have issues even with perfect markup. Happens to me all of the time.

Especially for events, I'd recommend implementing your schema markup about a month ahead of time to allow you to debug/test. I've looked through your code and have a couple recommendations for where to start based on my experience.

Add Optional Parameters (When Appropriate)

You're missing two optional fields - Organizer and/or Performer, and while both are optional, to ensure that your rich results consistently show you should use all of the properties that Google recommends.

So in your case, it looks like Organizer is appropriate. Let's go ahead and add that.

Include Images Sized to Google's Specifications

Google recommends that images are 1920px wide (the minimum width is 720px). Below is the dimensions of the image that you're currently using.

enter image description here

Also, you need to provide more than just one image. As you'll see below, Google needs 3 with specific aspect ratios; one for desktop, one for tablet, and one for mobile.

Additional image guidelines (via Google):

  • Every page must contain at least one image (whether or not you include markup). Google will pick the best image to display in Search results based on the aspect ratio and resolution.

  • Image URLs must be crawlable and indexable. To check if Google can access your URLs, use the URL Inspection tool.

  • Images must represent the marked up content.

  • Images must be in a file format that's supported by Google Images. For best results, provide multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1. For example:

"image": [


Your payment api keys and product identifiers are publicly visible in your source code. These keys should not be visible on the client side. These calls should originate from the server.

This is in <script> tags in your html.

window.OCCSN = {"api_key":"[your-api-key]","host_url":"https://app.getoccasion.com","product_id":"SvXrSdVW","spreedly_key":"[your-api-key]","square_key":"[your-api-key]","stripe_key":"[your-api-key"};
    window.OCCSN.onOrderComplete = function(order) {
      OccsnTrck.triggerEvent('completeOrder', {
        txn_id: order.verificationCode,
        value: order.price.toNumber(),
        currency: order.product().merchant().currency().name,
        affiliation: order.product().venue().name,

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.