Merchant Promotions API の概要

プロモーションを使用して、Google で販売する商品のスペシャル オファーをアピールしましょう。プロモーションは、Google 検索、ショッピング、Chrome などのさまざまな Google サービスに表示されます。

商品にプロモーションを追加すると、ユーザーに「15% オフ」や「送料無料」などのスペシャル オファーのリンクが表示されます。商品リンクを使用すると、商品の魅力を高め、買い物客に購入を促すことができます。

詳しくは、プロモーションの基本をご覧ください。

前提条件

プロモーションを表示するには、お客様のビジネスと商品に関して具体的な情報を提供していただく必要があります。次の要件を満たしている必要があります。

また、販売者のアカウントをプロモーション プログラムに登録する必要があります。すでに登録されているかどうか不明な場合は、Merchant Center で確認してください。

登録されていない場合は、リクエスト フォームに入力します。実装を始める準備が整うと、プロモーション チームから通知が届きます。

詳しくは、参加条件とポリシーをご覧ください。

データソースを作成する

プロモーション フィードを作成するには、datasource.create API を使用します。既存のプロモーション フィードが利用可能な場合は、accounts.dataSources.get メソッドを使用してデータソースの名前を取得します。

リクエストの形式は次のとおりです。

POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{account}/dataSources

以下の例は、一般的なリクエストとレスポンスを示しています。

リクエスト:

POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "promotionDataSource":{"targetCountry":"US", "contentLanguage":"en"}}

対応:

{
  "name": "accounts/123/dataSources/1000000573361824",
  "dataSourceId": "1000000573361824",
  "displayName": "test api feed",
  "promotionDataSource": {
    "targetCountry": "US",
    "contentLanguage": "en"
  },
  "input": "API"
}

プロモーションを実施する

プロモーションを作成または更新するには、accounts.promotions.insert メソッドを使用します。accounts.promotions.insert メソッドは、promotions リソースとデータソース名を入力として受け取ります。成功した場合は、新規または更新されたプロモーションが返されます。

プロモーションを作成するには、データソースの名前が必要です。

Google がプロモーションの審査と承認を行って配信します。詳細については、プロモーションの承認プロセスをご覧ください。

リクエストの形式:

POST https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*/}promotions:insert

以下のサンプル プロモーションを参考にしてください。

例 1: すべての商品とすべての店舗に適用されるローカル プロモーション

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions:insert

{
  "promotion": {
    "promotionId": "buy_2_get_10_off",
    "contentLanguage": "en",
    "targetCountry": "US",
    "redemptionChannel": [
      "IN_STORE"
    ],
    "attributes": {
      "longTitle": "Buy 2 and get 10$ OFF purchase",
      "productApplicability": "ALL_PRODUCTS",
      "offerType": "NO_CODE",
      "couponValueType": "BUY_M_GET_MONEY_OFF",
      "promotionDisplayTimePeriod": {
        "startTime": "2024-2-06T00:47:44Z",
        "endTime": "2024-5-06T00:47:44Z"
      },
      "promotionEffectiveTimePeriod": {
        "startTime": "2024-2-06T00:47:44Z",
        "endTime": "2024-5-06T00:47:44Z"
      },
      "moneyOffAmount": {
        "amountMicros": "1000000",
        "currencyCode": "USD"
      },
      "minimumPurchaseQuantity": 2,
      "storeApplicability": "ALL_STORES",
      "promotionUrl": "http://promotionnew4url.com/",
      "promotionDestinations": [
        "LOCAL_INVENTORY_ADS"
      ],
    }
  },
  "dataSource": "accounts/123/dataSources/1000000573361824"
}

例 2: クーポンコードが付与された一部の商品に適用されるオンライン プロモーション

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions:insert

{
 "promotion": {
   "promotionId": "25_pct_off",
   "contentLanguage": "en",
   "targetCountry": "US",
   "redemptionChannel": [
     "ONLINE"
   ],
   "attributes": {
     "longTitle": "10% off on selected items",
     "productApplicability": "SPECIFIC_PRODUCTS",
     "offerType": "GENERIC_CODE",
     "genericRedemptionCode": "SPRINGSALE",
     "couponValueType": "PERCENT_OFF",
     "promotionDisplayTimePeriod": {
       "startTime": "2024-2-06T00:47:44Z",
       "endTime": "2024-5-06T00:47:44Z"
     },
     "promotionEffectiveTimePeriod": {
       "startTime": "2024-2-06T00:47:44Z",
       "endTime": "2024-5-06T00:47:44Z"
     },
     "percentOff": 25,
     "promotionDestinations": [
       "FREE_LISTINGS"
     ],
     "itemIdInclusion": [
       "1499860100",
       "1499860101",
       "1499860102",
       "1499860103",
       "1499860104"
     ],
   }
 },
 "dataSource": "accounts/123/dataSources/1000000573361824"
}

特別な注意事項

プロモーションを作成した後、ショッピング データベースにプロモーションが反映されるまでに数分かかることがあります。

プロモーション関連の属性の一覧については、構造化データ属性を追加するをご覧ください。

プロモーションを作成して管理する前に、プロモーションのベスト プラクティスをご覧ください。

プロモーションを表示

プロモーションを表示するには、accounts.promotions.get を使用します。この get は読み取り専用です。merchantId とプロモーションの ID が必要です。get メソッドは、対応するプロモーション リソースを返します。

次に例を示します。

GET https://merchantapi.googleapis.com/promotions/v1beta/{name=accounts/*/promotions/*}

これらのサンプルをご確認ください。

サンプル 1: ローカル プロモーション

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions/in_store~en~US~buy_2_get_10_off

{
 "name": "accounts/123/promotions/in_store~en~US~buy_2_get_10_off",
 "promotionId": "buy_2_get_10_off",
 "contentLanguage": "en",
 "targetCountry": "US",
 "redemptionChannel": [
   "IN_STORE"
 ],
 "attributes": {
   "longTitle": "Buy 2 and get 10$ OFF purchase",
   "productApplicability": "ALL_PRODUCTS",
   "offerType": "NO_CODE",
   "couponValueType": "BUY_M_GET_MONEY_OFF",
   "promotionDisplayTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "promotionEffectiveTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "moneyOffAmount": {
     "amountMicros": "1000000",
     "currencyCode": "USD"
   },
   "minimumPurchaseQuantity": 2,
   "storeApplicability": "ALL_STORES",
   "promotionUrl": "http://promotionnew4url.com/",
   "promotionDestinations": [
     "LOCAL_INVENTORY_ADS"
   ],
 }
 "dataSource": "accounts/123/dataSources/1000000573361824"
}

Sample 2. オンライン プロモーション

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions/online~en~US~25_pct_off
{
 "name": "accounts/123/promotions/online~en~US~25_pct_off",
 "promotionId": "25_pct_off",
 "contentLanguage": "en",
 "targetCountry": "US",
 "redemptionChannel": [
   "ONLINE"
 ],
 "attributes": {
   "longTitle": "10% off on selected items",
   "productApplicability": "SPECIFIC_PRODUCTS",
   "offerType": "GENERIC_CODE",
   "genericRedemptionCode": "WINTERGIFT",
   "couponValueType": "PERCENT_OFF",
   "promotionDisplayTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "promotionEffectiveTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "percentOff": 25,
   "promotionDestinations": [
     "FREE_LISTINGS"
   ],
   "itemIdInclusion": [
     "1499860100",
     "1499860101",
     "1499860102",
     "1499860103",
     "1499860104"
   ],
 }
 "dataSource": "accounts/{account}/dataSources/{dataSource}"
}

プロモーションを一覧表示する

作成されたすべてのプロモーションを表示するには、promotions.list メソッドを使用します。

GET https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*}/promotions

プロモーション ステータス

プロモーションのステータスを確認するには、promotions.getpromotions.list によって返される promotionStatus 属性を表示します。

承認プロセスについては、プロモーションの承認プロセスをご覧ください。

プロモーション ステータスの例

次のサンプルは、成功したリクエストと失敗したリクエストの違いを示しています。

サンプル 1. 次のレスポンスの本文は、商品のマッピングがないため不承認となるオンライン プロモーションです。

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "REJECTED"
      }
    ],
    "itemLevelIssues": [
      {
        "code": "promotion_sku_unmapped",
        "severity": "DISAPPROVED",
        "resolution": "merchant_action",
        "reportingContext": "FREE_LISTINGS",
        "description": "Unmapped",
        "detail": "This promotion couldn't be tested during review because it doesn't apply to any products that are currently in your Products feed",
        "documentation": "https://support.google.com/merchants/answer/2906014",
        "applicableCountries": [
          "US"
        ]
      },
      {
        "code": "promotion_sku_additional_requirements",
        "severity": "DISAPPROVED",
        "resolution": "merchant_action",
        "reportingContext": "FREE_LISTINGS",
        "description": "Promotion conditions not allowed",
        "detail": "This promotion has additional requirements that are not allowed such as requiring customers to verify additional details like phone number or ID before showing the promotion details",
        "documentation": "https://support.google.com/merchants/answer/2906014",
        "applicableCountries": [
          "US"
        ]
      }
    ]
  }

Sample 2. 次のレスポンスの本文は、まだ評価中のプロモーションを示しています。

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "PENDING"
      },
      {
        "destination": "SHOPPING_ADS",
        "status": "PENDING"
      }
    ],
    "itemLevelIssues": []
  }

サンプル 3. 承認され、公開されているプロモーション

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "LIVE"
      },
      {
        "destination": "SHOPPING_ADS",
        "status": "LIVE"
 }  ],
    "itemLevelIssues": []
  }

その他の情報

詳しくは、プロモーション ヘルプセンターをご覧ください。

Content API for Shopping からの移行については、プロモーション管理を移行するをご覧ください。