판매자 프로모션 API 개요

프로모션을 사용하여 Google에서 판매하는 제품의 특별 이벤트를 표시하세요. 프로모션은 Google 검색, 쇼핑, Chrome 등 다양한 Google 서비스에 표시됩니다.

제품에 프로모션을 추가하면 쇼핑객에게 '15% 할인' 또는 '무료 배송'과 같은 특별 이벤트 링크가 표시됩니다. 제품 링크를 사용하면 제품에 대한 관심을 끌고 쇼핑객의 구매를 유도할 수 있습니다.

자세한 내용은 프로모션 기본사항을 참고하세요.

기본 요건

프로모션을 표시하려면 먼저 비즈니스와 제품에 대한 구체적인 정보를 Google에 제공해야 합니다. 다음이 있어야 합니다.

또한 프로모션 프로그램에 판매자 계정을 등록해야 합니다. 이미 등록되었는지 확실하지 않다면 판매자 센터를 확인하세요.

등록하지 않은 경우 요청 양식을 작성합니다. 구현할 준비가 되면 프로모션팀에서 알려 드립니다.

자세한 내용은 참여 기준 및 정책을 참고하세요.

데이터 소스 만들기

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를 사용합니다. 이 가져오기는 읽기 전용입니다. 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"
}

샘플 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"
        ]
      }
    ]
  }

샘플 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에서 이전하는 방법을 알아보려면 프로모션 관리 이전을 참고하세요.