Gmail的 EventReservation JSON-LD能渲染卡片,但reservationFor.image和 potentialAction未被渲染

前端开发 2026-07-09

我正在为一个交易型预订邮件实现Gmail的结构化数据,使用JSON-LD。

在Gmail标记测试器中,该标记验证通过,Gmail也能正确呈现 EventReservation 卡片。然而,Gmail不会呈现:

  • 事件图片

  • 标有“Buy More”的行动号召按钮

下面是一个最小示例:

{
  "@context": "http://schema.org",
  "@type": "EventReservation",
  "underName": {
    "@type": "Person",
    "name": "Evan Audet"
  },
  "reservationFor": {
    "@type": "MusicEvent",
    "name": "AURA: An immersive experience larger than life",
    "url": "https://example.com/event",
    "image": "https://example.com/event-image.png",
    "startDate": "2026-03-28T19:15:00-04:00",
    "location": {
      "@type": "Place",
      "name": "Église Saint-Roch",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "555 Rue Saint-François E #1",
        "addressLocality": "Québec",
        "addressCountry": "CA"
      }
    }
  },
  "modifyReservationUrl": "https://example.com/reschedule",
  "venueSection": "2x Adult (16+)",
  "potentialAction": {
    "@type": "ViewAction",
    "name": "Buy More",
    "target": "https://example.com/buy-more"
  }
}

解决方案

是的,在Gmail里这是预期的——你的JSON-LD没有错。

Gmail并不支持所有的Schema.org属性,即使它们通过了标记测试器。对于 EventReservation,实际呈现的字段只有一个有限的集合,其他的都会被忽略。

这就是为什么:

  • reservationFor.image 不会出现——Gmail只是不会在预订卡中显示图片。
  • potentialAction 也不会显示——像“Buy More”这样的CTA按钮在此模式类型中不被支持。

所以即便你的标记是正确的,Gmail在渲染时会去掉这些额外部分。卡片仍会显示基本信息,如活动名称、时间和地点,但不会显示图片或自定义操作。

如果你需要像“Buy More”这样的CTA,你就必须在邮件中把它作为普通的HTML按钮来实现——这是Gmail能可靠呈现的唯一方式。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章