プロモーションを使用して、Google で販売する商品のスペシャル オファーを紹介できます。 プロモーションは、Google 検索、ショッピング、Chrome など、さまざまな Google サービスに表示されます。プロモーションが承認されるには、特定の条件を満たしている必要があります。詳しくは、プロモーションの条件をご覧ください。
商品にプロモーションを追加すると、買い物客にスペシャル オファーのリンクが表示されます。 たとえば、「15% オフ」や「送料無料」などです。オファーのリンクによって商品の魅力が高まり、買い物客に購入を促すことができます。すべてのプロモーションはご購入手続き時または POS で適用されます。
詳しくは、プロモーション の基本をご覧ください。
前提条件
プロモーションを掲載するには、お客様のビジネスと商品に関して具体的な情報を提供していただく必要があります。次のものが必要です。
- Google Merchant Center に有効な 商品 フィードがある。Google Merchant Center
- Google Merchant Center に有効な プロモーション フィードがある。
- Google 広告アカウント (ショッピング キャンペーン用)
また、Merchant Center アカウントをプロモーション プログラムに登録する必要があります。登録済みかどうか不明な場合は、Merchant Center でご確認ください。
登録していない場合は、リクエスト フォームに入力してください。実装を始める準備が整うと、プロモーション チームから通知が届きます。
詳しくは、参加条件と ポリシーをご覧ください。
データソースの作成
プロモーション データソースを作成するには、
accounts.dataSources.create
メソッドを使用します。既存のプロモーション データソース
がある場合は、
accounts.dataSources.list
メソッドを使用してすべてのデータソースを取得します。プロモーション データソースの name フィールドを使用して プロモーションを作成できます。
次のリクエストは、プロモーションを追加するためのデータソースを作成する方法を示しています。
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources
{
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"contentLanguage": "{CONTENT_LANGUAGE}",
"targetCountry": "{TARGET_COUNTRY}"
}
}
次のように置き換えます。
- {ACCOUNT_ID}: Merchant Center UI に表示されるアカウントの 一意の識別子。
- {DISPLAY_NAME}: データソースの表示名。
- {CONTENT_LANGUAGE}: データソース内の商品の 2 文字の ISO 639-1 言語コード。
- {TARGET_COUNTRY}: プロモーションを表示する ターゲット国の CLDR 地域コード。
リクエストが正常に実行されると、新しく作成されたプロモーション データソースの詳細を含む次のレスポンスが表示されます。
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"targetCountry": "{TARGET_COUNTRY}",
"contentLanguage": "{CONTENT_LANGUAGE}"
},
"input": "API"
}
プロモーションを実施する
accounts.promotions.insert
メソッドを使用して、プロモーションを作成または更新できます。The accounts.promotions.insert メソッド
は、
promotions
リソースとデータソース名を入力として受け取ります。成功した場合は、新規または更新されたプロモーションを返します。
プロモーションを作成するには、データ ソースの名前が必要です。 リクエストで次のフィールドの値も指定する必要があります。
contentLanguageredemptionChannelpromotionIdtargetCountryattributes.offerTypeattributes.genericRedemptionCodeattributes.couponValueTypeattributes.productApplicabilityattributes.promotionEffectiveTimePeriod.endTimeattributes.promotionEffectiveTimePeriod.startTimeattributes.longTitle
プロモーション フィードと商品フィードの処理が完了すると、Google がプロモーションの審査と承認を行って配信します。詳しくは、プロモーションの承認プロセスをご覧ください。
プロモーション ポリシーを確認して、作成するプロモーションが価値を高め、ショッピング広告のポリシーに準拠していることを確認することをおすすめします。
次のリクエストは、オンライン プロモーションを作成する方法を示しています。
HTTP
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert
{
"promotion": {
"name": "{PROMOTION_NAME}",
"promotionId": "{PROMOTION_ID}",
"targetCountry": "{TARGET_COUNTRY}",
"redemptionChannel": [
"ONLINE"
],
"contentLanguage": "{CONTENT_LANGUAGE}",
"attributes": {
"promotionDisplayTimePeriod": {
"endTime": "{PROMOTION_END_TIME}",
"startTime": "{PROMOTION_START_TIME}"
},
"offerType": "{OFFER_TYPE}",
"longTitle": "{LONG_TITLE}"
}
},
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}
cURL
curl --request POST \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"dataSource":"{DATASOURCE_ID}","promotion":{"name":"accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}y","promotionId":"abc","contentLanguage":"en","targetCountry":"US","redemptionChannel":["ONLINE"]}}' \
--compressed
プロモーション ID の設定に適用されるルールについては、 プロモーション ID 属性の最小要件 をご覧ください。
必須の offerType フィールドの有効な値は NO_CODE と GENERIC_CODE
です。これらの値のいずれかを指定しない場合、API リクエストは失敗し
HTTP 400 レスポンス [offer_type] validation/missing_required: Invalid or
missing required attribute: offer_type が返されます。必須フィールドを指定しない場合も、同様のエラー メッセージが返されます。
attributes.genericRedemptionCode フィールドに値を指定しない場合、
リクエストは失敗し、HTTP 400 レスポンス [genericRedemptionCode] No
redemption code provided が返されます。
promotion.attributes.promotionDisplayTimePeriod.startTime
フィールドと promotion.attributes.promotionDisplayTimePeriod.endTime フィールドの値は、
yyyy-mm-ddThh:mm:ssZ 形式にする必要があります。これらのフィールドの値は、将来の日付に置き換えてください。
詳しくは、プロモーション データ 仕様をご覧ください。
プロモーションの作成に関するベスト プラクティスについては、プロモーションのベスト プラクティスをご覧ください。
プロモーション関連の属性の一覧については、構造化データ 属性の追加をご覧ください。
プロモーション作成リクエストが正常に実行された後、API を使用してプロモーションを取得したり、Merchant Center にプロモーションを表示したりできるようになるまでには数分かかることがあります。
複数のプロモーションを非同期で挿入するために使用できるサンプルを次に示します。
Java
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutureCallback;
import com.google.api.core.ApiFutures;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Timestamp;
import com.google.shopping.merchant.promotions.v1.Attributes;
import com.google.shopping.merchant.promotions.v1.CouponValueType;
import com.google.shopping.merchant.promotions.v1.InsertPromotionRequest;
import com.google.shopping.merchant.promotions.v1.OfferType;
import com.google.shopping.merchant.promotions.v1.ProductApplicability;
import com.google.shopping.merchant.promotions.v1.Promotion;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceClient;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceSettings;
import com.google.shopping.merchant.promotions.v1.RedemptionChannel;
import com.google.shopping.type.CustomAttribute;
import com.google.shopping.type.Destination.DestinationEnum;
import com.google.type.Interval;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to insert multiple promotions asynchronously. */
public class InsertPromotionsAsyncSample {
private static String generateRandomString() {
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuilder sb = new StringBuilder(8);
for (int i = 0; i < 8; i++) {
sb.append(characters.charAt(random.nextInt(characters.length())));
}
return sb.toString();
}
private static Promotion createPromotion(String accountId) {
String merchantPromotionId = generateRandomString();
Attributes attributes =
Attributes.newBuilder()
.setProductApplicability(ProductApplicability.ALL_PRODUCTS)
.setOfferType(OfferType.GENERIC_CODE)
.setGenericRedemptionCode("ABCD1234")
.setLongTitle("My promotion")
.setCouponValueType(CouponValueType.PERCENT_OFF)
.addPromotionDestinations(DestinationEnum.SHOPPING_ADS)
.setPercentOff(10)
// Note that promotions have a 6-month limit.
// For more information, read here: https://support.google.com/merchants/answer/2906014
// Also note that only promotions valid within the past 365 days are shown in the UI.
.setPromotionEffectiveTimePeriod(
Interval.newBuilder()
.setStartTime(Timestamp.newBuilder().setSeconds(1726842472))
.setEndTime(Timestamp.newBuilder().setSeconds(1726842473))
.build())
.build();
return Promotion.newBuilder()
.setName(String.format("accounts/%s/merchantPromotions/%s", accountId, merchantPromotionId))
.setPromotionId(merchantPromotionId)
.setContentLanguage("fr")
.setTargetCountry("CH")
.addRedemptionChannel(RedemptionChannel.ONLINE)
.setAttributes(attributes)
// Custom attributes allow you to add additional information which is not available in
// Attributes. For example, you might want to pilot experimental functionality.
.addCustomAttributes(
CustomAttribute.newBuilder()
.setName("another example name")
.setValue("another example value")
.build())
.build();
}
public static void asyncInsertPromotions(String accountId, String dataSourceId) throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
// Creates a channel provider. This provider manages a pool of gRPC channels
// to enhance throughput for bulk operations. Each individual channel in the pool
// can handle up to approximately 100 concurrent requests.
//
// Channel: A single connection pathway to the service.
// Pool: A collection of multiple channels managed by this provider.
// Requests are distributed across the channels in the pool.
//
// We recommend estimating the number of concurrent requests you'll make, divide by 50 (50%
// utilization of channel capacity), and set the pool size to that number.
InstantiatingGrpcChannelProvider channelProvider =
InstantiatingGrpcChannelProvider.newBuilder().setPoolSize(30).build();
PromotionsServiceSettings merchantPromotionsServiceSettings =
PromotionsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.setTransportChannelProvider(channelProvider)
.build();
try (PromotionsServiceClient merchantPromotionsServiceClient =
PromotionsServiceClient.create(merchantPromotionsServiceSettings)) {
// Arbitrarily creates five merchant promotions with random IDs.
List<InsertPromotionRequest> requests = new ArrayList<>();
for (int i = 0; i < 5; i++) {
InsertPromotionRequest request =
InsertPromotionRequest.newBuilder()
.setParent(String.format("accounts/%s", accountId))
.setPromotion(createPromotion(accountId))
.setDataSource(String.format("accounts/%s/dataSources/%s", accountId, dataSourceId))
.build();
requests.add(request);
}
// Inserts the merchant promotions.
List<ApiFuture<Promotion>> futures =
requests.stream()
.map(
request ->
merchantPromotionsServiceClient.insertPromotionCallable().futureCall(request))
.collect(Collectors.toList());
// Creates callback to handle the responses when all are ready.
ApiFuture<List<Promotion>> responses = ApiFutures.allAsList(futures);
ApiFutures.addCallback(
responses,
new ApiFutureCallback<List<Promotion>>() {
@Override
public void onSuccess(List<Promotion> results) {
System.out.println("Inserted merchant promotions below:");
System.out.println(results);
}
@Override
public void onFailure(Throwable throwable) {
System.out.println(throwable);
}
},
MoreExecutors.directExecutor());
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
asyncInsertPromotions(config.getAccountId().toString(), "<YOUR_DATA_SOURCE_ID>");
}
}
以下に、使用を開始する際に役立つプロモーションの例をいくつか示します。
すべての商品とすべての店舗に適用されるローカル プロモーション
次のリクエストの例は、Merchant Center アカウント内のすべての商品と、リンクされた ビジネス プロフィールアカウントに追加されたすべての店舗に適用されるローカル プロモーションを作成する方法を示しています。
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/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/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}
productApplicability
フィールドは必須です。プロモーションがすべての商品に適用されるのか、特定の商品にのみ適用されるのかを示します。サポートされている値は
ALL_PRODUCTS と SPECIFIC_PRODUCTS
です。詳しくは、プロモーションの商品を選択する
をご覧ください。
couponValueType
フィールドは必須です。実行しているプロモーションのタイプを示します。サポートされている値の一覧については、クーポン値
タイプをご覧ください。選択したクーポン値のタイプによっては、必須の属性があります。
minimumPurchaseQuantity フィールドを使用すると、プロモーションの特典を利用するために必要な最低購入数量の値を設定できます。詳しくは、プロモーションの最低購入数量をご覧ください。
同様に、minimumPurchaseAmount フィールドを使用して、プロモーションの特典を<span translate="no">利用</span>するために必要な<span translate="no">最小購入金額</span>を設定できます。詳しくは、
最小購入金額をご覧ください。
ローカル プロモーションの作成に必要な値について詳しくは、ローカル プロモーションのデータソース仕様をご覧ください。
クーポンコードを使用して選択した商品に適用されるオンライン プロモーション
次のサンプル リクエストは、クーポンコードを使用して選択した商品に適用されるオンライン プロモーションを作成する方法を示しています。
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/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/{ACCOUNT_ID}/dataSources/1000000573361824"
}
プロモーションを表示
プロモーションを表示するには、
accounts.promotions.get を使用します。
この GET
リクエストは読み取り専用です。merchantId とプロモーションの ID が必要です。GET
メソッドは、対応するプロモーション リソースを返します。
次に例を示します。
HTTP
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}
cURL
curl \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
次のように置き換えます。
- {ACCOUNT_ID}: Merchant Center アカウントの一意の識別子 。
- {PROMOTION_ID}: 取得する プロモーションの一意の識別子。形式は {CHANNEL} ~{CONTENT_LANGUAGE}~ {TARGET_COUNTRY}~{PROMOTION_ID} です。
新しく作成したプロモーションを API で取得できるようになるまでには数分かかります。
ローカル プロモーションを表示する
次のリクエストの例は、プロモーション ID が in_store~en~US~buy_2_get_10_off のローカル
プロモーションを取得します。
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/in_store~en~US~buy_2_get_10_off
リクエストが成功すると、次のレスポンスが表示されます。
{
"name": "accounts/{ACCOUNT_ID}/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/{ACCOUNT_ID}/dataSources/1000000573361824"
}
このサンプルの moneyOffAmount
フィールドは、プロモーションで提供される割引額を示しています。詳しくは、プロモーションの
割引額をご覧ください。
このサンプルの promotionUrl
フィールドは、買い物客がプロモーションの詳細を確認できる店舗のウェブサイトへのリンクを示しています。ローカル在庫広告のプロモーションで
promotionUrl フィールドを含めないと、エラーが返されます。
オンライン プロモーションを表示する
次のリクエストの例は、プロモーション ID が online~en~US~25_pct_off のオンライン
プロモーションを取得します。
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/online~en~US~25_pct_off
{
"name": "accounts/{ACCOUNT_ID}/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_ID}/dataSources/{dataSource}"
}
このサンプルで使用されている itemIdInclusion
フィールドは、プロモーションの対象となる商品を示しています。詳しくは、プロモーションの
商品 ID をご覧ください。
プロモーションを一覧表示する
promotions.list
メソッドを使用して、作成したすべてのプロモーションを表示できます。
リクエストの例を次に示します。
HTTP
GET https://merchantapi.googleapis.com/promotions/v1/{ACCOUNT_ID}/promotions
cURL
curl \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
レスポンスには、アカウント内のすべてのプロモーションのリストが含まれます。各プロモーションについて、promotionId、redemptionChannel、dataSource、promotionStatus
などの詳細を確認できます。
プロモーションのステータスを表示する
プロモーションのステータスを確認するには、promotionStatus 属性を
promotions.get
または
promotions.list
メソッドから返される属性を確認します。
promotionStatus フィールドには次の値を指定できます。
IN_REVIEW: プロモーションは審査中です。REJECTED: プロモーションは不承認です。LIVE: プロモーションは承認され、有効になっています。STOPPED: プロモーションはアカウントによって停止されています。EXPIRED: プロモーションは有効期限が切れています。PENDING: プロモーションは停止されておらず、すべての審査が承認されていますが、有効日は将来です。STATE_UNSPECIFIED: プロモーションの状態が不明です。
作成したプロモーションの承認プロセスについては、 プロモーションの承認 プロセスをご覧ください。
プロモーション ステータスの例
次の例は、リクエストが成功した場合と失敗した場合の違いを示しています。
商品マッピングがない
次のレスポンスの本文は、商品マッピングがないために不承認となったオンライン プロモーションを示しています。
"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"
]
}
]
}
不承認となったプロモーションのトラブルシューティングと、今後不承認にならないようにする方法については、不承認となったプロモーションの問題を解決するをご覧ください。
作成したプロモーションが承認されない場合は、不承認の理由と問題を解決するための手順が記載されたメールが届きます。
プロモーションは審査中です
次のレスポンスの本文は、審査中のプロモーションを示しています。
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
承認され、有効なプロモーション
次のレスポンスの本文は、買い物客に表示されるプロモーションを示しています。
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
詳しくは、プロモーション ステータス に関するよくある質問をご覧ください。
プロモーションの削除
API を使用してプロモーションを削除することはできません。プロモーションを削除するには、Merchant Center UI にアクセスする必要があります。詳しくは、プロモーションを編集するまたはプロモーション ステータスを変更するをご覧ください。
既存のプロモーションを終了するには、
accounts.promotions.insert
メソッドを使用して、attributes.promotionEffectiveTimePeriod.endTimeフィールドを
過去の時刻に更新します。
詳細
- 詳しくは、プロモーションのヘルプ センターをご覧ください。
- 一般的な問題のトラブルシューティングについては、プロモーション サブ API に関連する問題のトラブルシューティングをご覧ください。
- Content API for Shopping から移行する方法については、プロモーション管理を移行する をご覧ください。