Panoramica dell'API Merchant Promotions

Utilizza le promozioni per mostrare 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.

Quando aggiungi le promozioni ai tuoi prodotti, gli acquirenti visualizzano un link che rimanda a un'offerta speciale, ad esempio "15% di sconto" o "Spedizione gratuita". I link alle offerte possono aumentare l'interesse nei confronti dei tuoi prodotti e incoraggiare gli acquirenti a effettuare un acquisto.

Per ulteriori informazioni, consulta la sezione 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 disporre di quanto segue:

Inoltre, devi registrare il tuo account commerciante al programma Promozioni. Se non hai la certezza di aver già effettuato la registrazione, consulta Merchant Center.

Se non hai effettuato la registrazione, compila il modulo di richiesta. Il team di Promozioni ti farà sapere quando potrai iniziare l'implementazione.

Per ulteriori informazioni, consulta i criteri e le norme di partecipazione.

Creare un'origine dati

Utilizza l'API datasource.create per creare un feed delle promozioni. Se è disponibile un feed delle promozioni esistente, utilizza il metodo accounts.dataSources.get per recuperare il nome dell'origine dati.

Il formato della richiesta è il seguente:

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

Esempio

L'esempio mostra una richiesta e una risposta tipiche.

Richiesta:

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

Risposta:

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

Crea promozioni

Puoi utilizzare il metodo accounts.promotions.insert per creare o aggiornare una promozione. Il metodo accounts.promotions.insert accetta come input una risorsa promotions e il nome di un'origine dati. Restituisce la promozione nuova o aggiornata, se l'operazione ha esito positivo.

Per creare una promozione è necessario il nome dell'origine dati.

Google esamina e approva le promozioni prima di distribuirle. Per ulteriori informazioni, consulta la procedura di approvazione delle promozioni.

La forma della richiesta:

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

Consulta le seguenti promozioni di esempio come riferimento.

Esempio 1: una promozione locale applicabile a tutti i prodotti e tutti i negozi

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"
}

Esempio 2: una promozione online che si applica a prodotti selezionati con un codice promozionale

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"
}

Note speciali

Dopo la creazione della promozione, potrebbero essere necessari alcuni minuti prima che la promozione venga visualizzata nel database di Shopping.

Per un elenco degli attributi relativi alle promozioni, consulta Aggiungere gli attributi dei dati strutturati.

Prima di creare e gestire le promozioni, consulta le best practice per le promozioni.

Visualizza le promozioni

Per visualizzare una promozione, utilizza accounts.promotions.get. Questo comando GET è di sola lettura. Richiede il tuo merchantId e l'ID della promozione. Il metodo get restituisce la risorsa promozioni corrispondente.

Ad esempio:

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

Studia questi esempi.

Esempio 1: una promozione locale

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"
}

Esempio 2. Una promozione 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}"
}

Elenco promozioni

Puoi utilizzare il metodo promotions.list per visualizzare tutte le promozioni create.

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

Stato della promozione

Per visualizzare lo stato di una promozione, puoi visualizzare l'attributo promotionStatus fornito da promotions.get e promotions.list.

Per comprendere la procedura di approvazione, consulta la procedura di approvazione delle promozioni.

Stato della promozione di esempio

I seguenti esempi mostrano la differenza tra richieste andate a buon fine e richieste con errori.

Esempio 1. Il seguente corpo della risposta mostra una promozione online che verrebbe rifiutata a causa della mancata mappatura dei prodotti.

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

Esempio 2. Il seguente corpo della risposta mostra una promozione che è ancora in fase di valutazione.

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

Esempio 3. Una promozione approvata e attiva

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

Scopri di più

Per maggiori dettagli, visita il Centro assistenza per le promozioni.

Per scoprire di più sulla migrazione dall'API Content for Shopping, consulta Eseguire la migrazione della gestione delle promozioni.