アクションを宣言する

schema.org のアクションは、構造化データに対して実行できる動詞またはアクティビティを表します。複数のタイプのアクションがサポートされており、すべて同様の構造化データで定義できます。

定番のアクション

schema.org エンティティを使用してコンテンツにマークアップを追加すると、それらに対応する Go-To アクションを追加できます。たとえば、EmailMessage エンティティに ViewAction の Go-To リンクを設定するには、次の例のようにメールの potentialAction プロパティを入力します。

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ViewAction",
    "target": "https://watch-movies.com/watch?movieId=abc123",
    "name": "Watch movie"
  },
  "description": "Watch the 'Avengers' movie online"
}
</script>

microdata

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
    <link itemprop="target" href="https://watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="name" content="Watch movie"/>
  </div>
  <meta itemprop="description" content="Watch the 'Avengers' movie online"/>
</div>

メールのスキーマをサポートしていない他のメール クライアントでは、上記のマークアップは自動的に無視されます。

モバイル ディープリンク

Go-To アクションをネイティブ モバイルアプリのコンテンツに直接リンクすることもできます。 AndroidiOS:リンク先のディープリンク 次のように、android-app:// スキームと ios-app:// スキームでエンコードされた target URL を追加します。

JSON-LD

"target": [
  “<web url>”,
  “android-app://<android package name>/<scheme>/<host>/<path+query>”,
  “ios-app://<App store ID>/<scheme>/<host><path+query>"
]

microdata

<link itemprop="target" href="<web url>"/>
<link itemprop="target" href="android-app://<android package name>/<scheme>/<host>/<path+query>”/>
<link itemprop="target" href="ios-app://<App store ID>/<scheme>/<host>/<path+query>"/>

前述の EmailMessage の例を拡張します。

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "name": "Watch movie",
  ... information about the movie ...
  "potentialAction": {
    "@type": "ViewAction",
    "target": [
      "https://watch-movies.com/watch?movieId=abc123",
      "android-app://com.watchmovies.app/http/watch-movies.com/watch?movieId=abc123",
      "ios-app://12345/movieapp/watch-movies.com/watch?movieId=abc123"
    ]
  }
}
</script>

microdata

<div itemscope itemtype="http://schema.org/EmailMessage">
  <meta itemprop="name" content="Watch movie"/>
  ... information about the movie ...
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
    <meta itemprop="target" content="https://watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="target" content="android-app://com.watchmovies.android/http/watch-movies.com/watch?movieId=abc123"/>
    <meta itemprop="target" content="ios://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
 </div>
</div>

ユーザーがアプリを持っていない場合、ユーザーは指定したウェブ URL に移動します。

アプリ内ユーザー行動の数

アプリ内コンバージョンは、ユーザーを別のウェブサイトに誘導することなく、Gmail 内でその場で処理されます。アプリ内アクションは、Go-To Actions と同様に宣言されますが、ユーザー エージェント(Gmail など)がアクションをインラインで処理しやすくなるような追加情報が含まれます。

target を使用してアクションを宣言するのではなく、適切な構成を持つアクションに対して HttpActionHandler を宣言する必要があります。

たとえば、ユーザーに何かしらの承認、確認、確認応答を求めるメールに確認ボタンを追加できます。ユーザーがボタンをクリックすると、Google からデベロッパーのサービスに HTTP リクエストが発行され、その確認が記録されます。ConfirmAction は 1 回だけ操作できます。

次の例では、経費報告書に関するメールに ConfirmAction ボタンを追加しています。

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Approve Expense",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "https://myexpenses.com/approve?expenseId=abc123"
    }
  },
  "description": "Approval request for John's $10.13 expense for office supplies"
}
</script>

microdata

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Approve Expense"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://myexpenses.com/approve?expenseId=abc123"/>
    </div>
  </div>
  <meta itemprop="description" content="Approval request for John's $10.13 expense for office supplies"/>
</div>

期限切れ間近のアクション

多くの場合、アクションは限られた期間にのみ関係します。旅行の予約など、日付がわかっているエンティティに関連付けられたアクションは自動的に期限切れになります。ルートが過ぎた後のアクションは Gmail に表示されません。

有効期限は、アクションに明示的に追加することもできます。たとえば、クーポンのクリップやクーポンコードを保存するアクションは、限られた期間しか有効でない場合があります。アクションを表示する時間枠を設定するには、アクションの startTime プロパティと endTime プロパティを設定します。

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Save coupon",
    "handler":  {
       "@type": "HttpActionHandler",
       "url": "https://my-coupons.com/approve?couponId=abc123"
    },
    "startTime": "2015-06-01T12:00:00Z",
    "endTime": "2015-06-05T12:00:00Z"
  }
}
</script>

microdata

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Save coupon"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://my-coupons.com/approve?couponId=abc123"/>
    </div>
    <meta itemprop="startTime" content="2015-06-01T12:00:00Z" />
    <meta itemprop="endTime" content="2015-06-05T12:00:00Z" />
  </div>
</div>

関連情報

アクションの詳細については、以下をご覧ください。

で確認できます。