Korzystaj z promocji, aby prezentować oferty specjalne na produkty, które sprzedajesz w Google. Promocje wyświetlają się w różnych usługach Google, m.in. w wyszukiwarce Google, Zakupach i Chrome.
Gdy dodasz promocje do swoich produktów, kupujący zobaczą link do oferty specjalnej, na przykład „15% zniżki” lub „Bezpłatna dostawa”. Linki do ofert mogą zwiększyć atrakcyjność produktów i zachęcić klientów do zakupu.
Więcej informacji znajdziesz w artykule Podstawowe informacje o promocjach.
Wymagania wstępne
Przed wyświetleniem promocji musisz podać konkretne informacje o swojej firmie i jej produktach. Musisz mieć:
- Aktywny plik danych o produktach w Google Merchant Center.
- aktywny plik danych o promocjach w Google Merchant Center;
- Konto Google Ads do kampanii produktowych.
Dodatkowo musisz zarejestrować swoje konto sprzedawcy w programie Promocje. Jeśli nie wiesz, czy jesteś już zarejestrowanym użytkownikiem, zajrzyj do Merchant Center.
Jeśli nie jesteś jeszcze zarejestrowanym użytkownikiem, wypełnij formularz prośby. Zespół ds. promocji poinformuje Cię, kiedy będzie można rozpocząć implementację.
Więcej informacji znajdziesz w artykule Kryteria i zasady uczestnictwa.
Utwórz źródło danych
Użyj interfejsu API datasource.create, aby utworzyć plik danych o promocjach. Jeśli istniejący plik danych o promocjach jest dostępny, użyj polecenia datasource.get, aby pobrać datasource.name.
Formularz prośby jest następujący:
POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/{account}/dataSources/{datasource}
Przykład
Przykład przedstawia typowe żądanie i odpowiedź.
Prośba:
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "promotionDataSource":{"targetCountry":"US", "contentLanguage":"en"}}
Odpowiedź:
{
"name": "accounts/123/dataSources/1000000573361824",
"dataSourceId": "1000000573361824",
"displayName": "test api feed",
"promotionDataSource": {
"targetCountry": "US",
"contentLanguage": "en"
},
"input": "API"
}
Zorganizuj promocję
Do tworzenia lub aktualizowania promocji możesz użyć metody accounts.promotions.insert
. Metoda accounts.promotions.insert
pobiera jako dane wejściowe zasób promotions
i nazwę źródła danych. W przypadku powodzenia zwraca nową lub zaktualizowaną promocję.
Do utworzenia promocji potrzebny jest plik datasource.name.
Google sprawdza i zatwierdza Twoje promocje przed ich dystrybucją. Więcej informacji znajdziesz w artykule Proces zatwierdzania promocji.
Forma żądania:
POST https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*/}promotions:insert
Zapoznaj się z tymi przykładowymi promocjami.
Przykład 1. Promocja lokalna obejmująca wszystkie produkty i wszystkie sklepy
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"
},
"minimum_purchase_quantity": 2,
"storeApplicability": "ALL_STORES",
"promotionUrl": "http://promotionnew4url.com/",
"promotionDestinations": [
"LOCAL_INVENTORY_ADS"
],
}
},
"dataSource": "accounts/123/dataSources/1000000573361824"
}
Przykład 2. Promocja online dotycząca wybranych produktów z kodem promocyjnym
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"
}
Uwagi specjalne
Po utworzeniu promocji może minąć kilka minut.
Listę atrybutów związanych z promocjami znajdziesz w artykule Dodawanie atrybutów uporządkowanych danych.
Zanim zaczniesz tworzyć promocje i nimi zarządzać, zapoznaj się ze sprawdzonymi metodami dotyczącymi promocji.
Wyświetl promocje
Aby wyświetlić promocję, użyj adresu accounts.promotions.get
.
Ta funkcja jest tylko do odczytu. Wymaga to Twojego atrybutu merchantId
oraz identyfikatora promocji. Metoda get
zwraca odpowiedni zasób promocji.
Na przykład:
GET https://merchantapi.googleapis.com/promotions/v1beta/{name=accounts/*/promotions/*}
Przeanalizuj przykłady.
Przykład 1. Promocja lokalna
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"
},
"minimum_purchase_quantity": 2,
"storeApplicability": "ALL_STORES",
"promotionUrl": "http://promotionnew4url.com/",
"promotionDestinations": [
"LOCAL_INVENTORY_ADS"
],
}
"dataSource": "accounts/123/dataSources/1000000573361824"
}
Przykład 2. Promocja online
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}"
}
Wyświetl listę promocji
Możesz użyć metody promotions.list
, aby wyświetlić wszystkie utworzone promocje.
GET https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*}/promotions
Stan promocji
Aby zobaczyć stan promocji, możesz wyświetlić atrybut promotionStatus zwracany przez promotions.get
i promotions.list
.
Aby dowiedzieć się więcej o procesie zatwierdzania, przeczytaj artykuł Proces zatwierdzania promocji.
Przykładowy stan promocji
Poniższe przykłady pokazują różnicę między żądaniami udanymi i nieudanych.
Przykład 1. Ten tekst odpowiedzi przedstawia promocję online, która zostałaby odrzucona z powodu braku mapowania produktów.
"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"
]
}
]
}
Przykład 2. Następująca treść odpowiedzi przedstawia zatwierdzoną promocję.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
Przykład 3. zatwierdzona i aktywna promocja
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
Więcej informacji
Więcej informacji znajdziesz w Centrum pomocy dotyczącym promocji.
Więcej informacji o migracji z Content API for Shopping znajdziesz w artykule Migracja zarządzania promocjami.