Utilizza le promozioni per mettere in evidenza le offerte speciali per i prodotti che vendi su Google. Le promozioni vengono visualizzate su diverse proprietà di Google, tra cui la Ricerca Google, Shopping e Chrome. Per essere approvate, le promozioni devono soddisfare determinati criteri. Per ulteriori informazioni, consulta Criteri delle promozioni.
Quando aggiungi una promozione ai tuoi prodotti, gli acquirenti vedono un link all'offerta speciale. Ad esempio, "Sconto del 15%" o "Spedizione gratuita". I link alle offerte possono aumentare l'interesse nei confronti dei tuoi prodotti e incoraggiare gli acquirenti a effettuare un acquisto. Tutte le promozioni vengono applicate al momento del pagamento o presso il point of sale.
Per ulteriori informazioni, consulta Nozioni di base sulle promozioni.
Prerequisiti
Prima di poter mostrare le tue promozioni, Google ha bisogno che tu fornisca una serie di informazioni specifiche sulla tua attività e sui tuoi prodotti. Devi avere:
- Un feed dei prodotti attivo in Google Merchant Center.
- Un feed delle promozioni attivo in Google Merchant Center.
- Un account Google Ads per le campagne Shopping.
Inoltre, devi registrare il tuo account Merchant Center al programma Promozioni. Se non sai se hai già eseguito la registrazione, controlla il Merchant Center.
Se non hai eseguito la registrazione, compila il modulo di richiesta. Il team del programma Promozioni ti avviserà quando è tutto pronto per iniziare l'implementazione.
Per ulteriori informazioni, consulta Criteri e norme di partecipazione.
Creare un'origine dati
Puoi utilizzare il
accounts.dataSources.create
per creare un'origine dati delle promozioni. Se è disponibile un'origine dati delle promozioni esistente, utilizza il
accounts.dataSources.list
metodo per recuperare tutte le origini dati. Puoi quindi utilizzare il campo name di
origine dati delle promozioni per creare le promozioni.
La seguente richiesta mostra come creare un'origine dati per aggiungere promozioni:
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources
{
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"contentLanguage": "{CONTENT_LANGUAGE}",
"targetCountry": "{TARGET_COUNTRY}"
}
}
Sostituisci quanto segue:
- {ACCOUNT_ID}: l'identificatore univoco del tuo account così come appare nell'interfaccia utente di Merchant Center.
- {DISPLAY_NAME}: il nome visualizzato dell'origine dati.
- {CONTENT_LANGUAGE}: il codice lingua ISO 639-1 a due lettere dei prodotti nell' origine dati.
- {TARGET_COUNTRY}: il codice di territorio CLDR del paese di destinazione in cui vuoi che le promozioni siano visibili.
Dopo aver eseguito correttamente la richiesta, vedrai la seguente risposta che contiene i dettagli dell'origine dati delle promozioni appena creata:
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"targetCountry": "{TARGET_COUNTRY}",
"contentLanguage": "{CONTENT_LANGUAGE}"
},
"input": "API"
}
Creare promozioni
Puoi utilizzare il
accounts.promotions.insert
metodo per creare o aggiornare una promozione. Il metodo accounts.promotions.insert
accetta come input una risorsa
promotions
e il nome di un'origine dati. Se l'operazione va a buon fine, restituisce la promozione nuova o aggiornata.
Per creare una promozione è necessario il nome dell'origine dati. Devi anche fornire i valori per i seguenti campi nella richiesta:
contentLanguageredemptionChannelpromotionIdtargetCountryattributes.offerTypeattributes.genericRedemptionCodeattributes.couponValueTypeattributes.productApplicabilityattributes.promotionEffectiveTimePeriod.endTimeattributes.promotionEffectiveTimePeriod.startTimeattributes.longTitle
Una volta elaborati il feed delle promozioni e il feed dei prodotti, Google esamina e approva le promozioni prima di distribuirle. Per ulteriori informazioni, consulta Procedura di approvazione delle promozioni processo.
Ti consigliamo di consultare le Norme relative alle promozioni per assicurarti che le promozioni che crei aggiungano valore e rispettino le Norme degli annunci Shopping.
La seguente richiesta mostra come creare una promozione online:
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 {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
Per informazioni sulle regole applicabili all'impostazione dell'ID promozione, consulta Requisiti minimi per l'attributo ID promozione .
I valori validi per il campo obbligatorio offerType sono NO_CODE e GENERIC_CODE. Se non fornisci uno di questi valori, la richiesta API non va a buon fine
e viene restituita la risposta HTTP 400 [offer_type] validation/missing_required: Invalid or
missing required attribute: offer_type. Se non fornisci uno dei campi obbligatori, viene restituito un messaggio di errore simile.
Se non fornisci un valore per il campo attributes.genericRedemptionCode,
la richiesta non va a buon fine e viene restituita la risposta HTTP 400 [genericRedemptionCode] No
redemption code provided.
I valori dei campi promotion.attributes.promotionDisplayTimePeriod.startTime e promotion.attributes.promotionDisplayTimePeriod.endTime devono essere nel formato yyyy-mm-ddThh:mm:ssZ. Assicurati di sostituire i valori di questi campi con date future.
Per ulteriori informazioni, consulta Specifiche dei dati delle promozioni.
Per le best practice sulla creazione di una promozione, consulta Best practice per le promozioni.
Per un elenco degli attributi relativi alle promozioni, consulta Aggiungere attributi dei dati strutturati.
Dopo che la richiesta di creazione della promozione è stata eseguita correttamente, potrebbero essere necessari alcuni minuti prima che la promozione possa essere recuperata utilizzando l'API o visualizzata in Merchant Center.
Di seguito è riportato un esempio che puoi utilizzare per inserire più promozioni in modo asincrono:
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>");
}
}
Di seguito sono riportate alcune promozioni di esempio che puoi utilizzare per iniziare.
Una promozione locale applicabile a tutti i prodotti e a tutti i negozi
La seguente richiesta di esempio mostra come creare una promozione locale che è applicabile a tutti i prodotti nel tuo account Merchant Center e a tutti i negozi aggiunti nel tuo account Profilo dell'attività collegato.
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}"
}
Il campo productApplicability è obbligatorio. Indica se la promozione è applicabile a tutti i prodotti o solo a prodotti specifici. I valori supportati sono ALL_PRODUCTS e SPECIFIC_PRODUCTS. Per ulteriori informazioni, consulta Scegliere
i prodotti per la promozione.
Il campo couponValueType è obbligatorio. Indica il tipo di promozione che stai offrendo. Per l'elenco dei valori supportati, consulta Tipo di valore
del coupon. A seconda del tipo di
valore del coupon selezionato, alcuni attributi sono
obbligatori.
Il campo minimumPurchaseQuantity ti consente di impostare il valore della quantità minima di acquisto richiesta per utilizzare l'offerta della promozione. Per ulteriori
informazioni, consulta Quantità minima di acquisto per la
promozione.
Allo stesso modo, puoi utilizzare il campo minimumPurchaseAmount per impostare l'importo minimo di acquisto richiesto per utilizzare la promozione. Per ulteriori informazioni,
consulta soglia minima di acquisto.
Per ulteriori informazioni sui valori che devi fornire per creare una promozione locale, consulta Specifiche dell'origine dati per le promozioni locali.
Una promozione online applicabile a prodotti selezionati con un codice promozionale
La seguente richiesta di esempio mostra come creare una promozione online applicabile a prodotti selezionati con un codice promozionale.
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"
}
Visualizzare le promozioni
Per visualizzare una promozione, utilizza
accounts.promotions.get.
Questa richiesta GET è di sola lettura. Richiede il tuo merchantId e l'ID della promozione. Il metodo GET restituisce la risorsa delle promozioni corrispondente.
Ad esempio:
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 {ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--compressed
Sostituisci quanto segue:
- {ACCOUNT_ID}: l'identificatore univoco del tuo account Merchant Center.
- {PROMOTION_ID}: l'identificatore univoco della promozione che vuoi recuperare. Il formato è {CHANNEL} ~{CONTENT_LANGUAGE}~ {TARGET_COUNTRY}~{PROMOTION_ID} .
Tieni presente che potrebbero essere necessari alcuni minuti prima che una promozione appena creata possa essere recuperata utilizzando l'API.
Visualizzare una promozione locale
La seguente richiesta di esempio recupera una promozione locale il cui ID promozione è 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
Se la richiesta va a buon fine, vedrai la seguente risposta:
{
"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"
}
Il campo moneyOffAmount in questo esempio fornisce lo sconto offerto nella promozione. Per ulteriori informazioni, consulta Importo dello sconto monetario di una
promozione.
Il campo promotionUrl in questo esempio fornisce il link al sito web del negozio in cui gli acquirenti possono trovare ulteriori informazioni sulla promozione. Le promozioni degli annunci di prodotti disponibili localmente restituiscono un errore se non includi il campo promotionUrl.
Visualizzare una promozione online
La seguente richiesta di esempio recupera una promozione online il cui ID promozione è 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}"
}
Il campo itemIdInclusion utilizzato in questo esempio indica i prodotti idonei per la promozione. Per ulteriori informazioni, consulta ID prodotto per
la promozione.
Elencare le promozioni
Puoi utilizzare il
promotions.list
metodo per visualizzare tutte le promozioni create.
Ecco una richiesta di esempio:
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 {ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--compressed
La risposta contiene l'elenco di tutte le promozioni nel tuo account. Per ogni promozione, puoi visualizzare dettagli come promotionId, redemptionChannel, dataSource, promotionStatus e altro ancora.
Visualizzare lo stato di una promozione
Per visualizzare lo stato di una promozione, consulta l'attributo promotionStatus restituito dal
promotions.get
o
promotions.list
metodo.
Il campo promotionStatus può avere i seguenti valori:
IN_REVIEW: la promozione è ancora in fase di revisione.REJECTED: la promozione non è stata approvata.LIVE: la promozione è stata approvata ed è attiva.STOPPED: la promozione è stata interrotta dall'account.EXPIRED: la promozione non è più attiva.PENDING: la promozione non è stata interrotta e tutte le revisioni sono state approvate, ma la data di attivazione è futura.STATE_UNSPECIFIED: stato della promozione sconosciuto.
Per comprendere la procedura di approvazione di una promozione che hai creato, consulta Procedura di approvazione delle promozioni.
Stato della promozione di esempio
I seguenti esempi mostrano la differenza tra le richieste riuscite e quelle non riuscite.
Mappatura dei prodotti mancante
Il seguente corpo della risposta mostra una promozione online non approvata a causa della mappatura dei prodotti mancante.
"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"
]
}
]
}
Per risolvere i problemi relativi alle promozioni non approvate e scoprire come evitare future non approvazioni, consulta Risolvere i problemi relativi alle promozioni non approvate.
Se una promozione che hai creato non viene approvata, riceverai un'email che indica il motivo del rifiuto e le istruzioni per risolvere i problemi.
Promozione in fase di valutazione
Il seguente corpo della risposta mostra una promozione ancora in fase di valutazione.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
Una promozione approvata e pubblicata
Il seguente corpo della risposta mostra una promozione visibile agli acquirenti.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
Per ulteriori informazioni, consulta Domande frequenti sullo stato delle promozioni.
Eliminare le promozioni
Non è possibile eliminare una promozione utilizzando l'API. Per eliminare una promozione, devi accedere all'interfaccia utente di Merchant Center. Per ulteriori informazioni, consulta Modificare una promozione o il relativo stato.
Per terminare una promozione esistente, puoi utilizzare il
accounts.promotions.insert
metodo per aggiornare il campo attributes.promotionEffectiveTimePeriod.endTime a
un orario passato.
Scopri di più
- Per maggiori dettagli, consulta il Centro assistenza per le promozioni.
- Per risolvere i problemi comuni, consulta Risolvere i problemi relativi alla sotto-API Promozioni.
- Per scoprire come eseguire la migrazione dall'API Content for Shopping, consulta Eseguire la migrazione della gestione delle promozioni.