Présentation de l'API Promotions des marchands

Grâce aux promotions, mettez en avant des offres spéciales pour les produits que vous vendez sur Google. Les promotions s'affichent sur différentes propriétés Google, dont la recherche Google, Shopping et Chrome.

Lorsque vous ajoutez des promotions à vos produits, un lien "offre spéciale" s'affiche. Exemple : "15% de remise" ou "Livraison gratuite". Les liens vers les offres peuvent accroître l'attractivité vos produits et inciter les clients à les acheter.

Pour en savoir plus, consultez la section Promotion principes de base.

Prérequis

Google a besoin que vous lui fournissiez des informations spécifiques sur votre entreprise et avant de diffuser vos promotions. Vous devez disposer des éléments suivants:

Vous devez également inscrire votre compte marchand au programme Promotions. Si vous n'êtes pas certain d'être déjà inscrit, consultez le Centre d'aide d'accessibilité.

Si ce n'est pas le cas, complétez la demande formulaire. La l'équipe chargée des promotions vous avertira dès que vous serez prêt à commencer l'implémentation.

Pour en savoir plus, consultez la page Critères de participation et règles.

Créer une source de données

Utilisez l'API datasource.create pour créer un flux de promotions. Si une instance Le flux de promotions est disponible. Utilisez datasource.get pour récupérer la datasource.name

La requête se présente comme suit:

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

Exemple

Cet exemple illustre une requête et une réponse types.

Requête :

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

Solution :

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

Créer des promotions

Vous pouvez utiliser accounts.promotions.insert pour créer ou mettre à jour une promotion. La méthode accounts.promotions.insert utilise une ressource promotions et un nom de source de données en entrée. Elle renvoie nouvelle promotion ou mise à jour si l'opération aboutit.

La création d'une promotion requiert datasource.name :

Google examine et approuve vos promotions avant de les diffuser. Pour plus informations, consultez la section Approbation des promotions processus.

Format de la requête:

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

Examinez les exemples de promotions suivants pour vous y référer.

Exemple 1: Une annonce locale promotion applicable pour tous les produits et tous les magasins

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

Exemple 2: Une promotion en ligne applicable à une sélection de produits bénéficiant d'une utilisation coder

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

Remarques

Une fois la promotion créée, quelques minutes peuvent s'écouler avant qu'elle soit créée.

Pour obtenir la liste des attributs liés aux promotions, consultez l'article Ajouter des données structurées Attributs.

Avant de créer et de gérer des promotions, consultez l'article Meilleures promotions pratiques.

Afficher les promotions

Pour afficher une promotion, utilisez accounts.promotions.get Cette opération "get" est en lecture seule. Il nécessite votre merchantId et l'ID du promotion. La méthode get renvoie la ressource de promotions correspondante.

Exemple :

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

Étudiez ces exemples.

Exemple 1: Promotion 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"
   },
   "minimum_purchase_quantity": 2,
   "storeApplicability": "ALL_STORES",
   "promotionUrl": "http://promotionnew4url.com/",
   "promotionDestinations": [
     "LOCAL_INVENTORY_ADS"
   ],
 }
 "dataSource": "accounts/123/dataSources/1000000573361824"
}

Exemple 2. Une promotion en ligne

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

Lister les promotions

Vous pouvez utiliser promotions.list pour afficher toutes les promotions créées.

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

État de la promotion

Pour connaître l'état d'une promotion, vous pouvez utiliser l'attribut promotionStatus. renvoyé par promotions.get et promotions.list.

Pour comprendre le processus d'approbation, reportez-vous à la section Approbation des promotions processus.

Exemple d'état de promotion

Les exemples suivants montrent la différence entre une réussite et une échec requêtes.

Exemple 1. Le corps de réponse suivant affiche une promotion en ligne qui serait refusé en raison d'un mappage de produits manquant.

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

Exemple 2. Le corps de réponse suivant affiche une promotion approuvée.

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

Exemple 3. Une promotion approuvée et active

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

En savoir plus

Pour plus d'informations, consultez l'Aide sur les promotions d'accessibilité.

Pour en savoir plus sur la migration depuis Content API for Shopping, consultez Migrer les promotions gestion de la sécurité.