Utilisez des promotions pour présenter des offres spéciales pour les produits que vous vendez sur Google. Ces promotions s'affichent sur plusieurs 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 (par exemple, "15% de remise" ou "Livraison gratuite"). Ce type de lien peut accroître l'attractivité de vos produits et inciter les clients à les acheter.
Pour en savoir plus, consultez Principes de base des promotions.
Prérequis
Vous devez nous fournir certaines informations concernant votre entreprise et vos produits pour que nous puissions diffuser vos promotions. Vous devez disposer des éléments suivants:
- Vous devez disposer d'un flux de produits actif dans Google Merchant Center.
- Vous devez disposer d'un flux de promotions actif dans Google Merchant Center.
- Un compte Google Ads pour les campagnes Shopping
Vous devez également inscrire votre compte marchand au programme des promotions. Si vous ne savez pas si vous êtes déjà inscrit, consultez Merchant Center.
Si ce n'est pas le cas, remplissez le formulaire de demande. L'équipe chargée des promotions vous contactera dès que vous serez prêt à commencer l'implémentation.
Pour en savoir plus, consultez Règles et critères de participation.
Créer une source de données
Utilisez l'API datasource.create pour créer un flux de promotions. Si un flux de promotion existant est disponible, utilisez la méthode accounts.dataSources.get
pour récupérer le nom de la source de données.
La requête se présente comme suit:
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{account}/dataSources
Exemple
L'exemple montre une requête et une réponse typiques.
Requête :
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "promotionDataSource":{"targetCountry":"US", "contentLanguage":"en"}}
Response:
{
"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 la méthode accounts.promotions.insert
pour créer ou modifier une promotion. La méthode accounts.promotions.insert
prend en entrée une ressource promotions
et un nom de source de données. Elle renvoie la promotion (nouvelle ou modifiée) si elle aboutit.
Pour créer une promotion, vous devez indiquer le nom de la source de données.
Google examine et approuve vos promotions avant de les diffuser. Pour en savoir plus, consultez le processus d'approbation des promotions.
Forme de la demande:
POST https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*/}promotions:insert
Consultez les exemples de promotions suivants pour référence.
Exemple 1: Promotion locale applicable à 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"
},
"minimumPurchaseQuantity": 2,
"storeApplicability": "ALL_STORES",
"promotionUrl": "http://promotionnew4url.com/",
"promotionDestinations": [
"LOCAL_INVENTORY_ADS"
],
}
},
"dataSource": "accounts/123/dataSources/1000000573361824"
}
Exemple 2: Promotion en ligne applicable à certains produits avec un code promotionnel
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 spéciales
Une fois la promotion créée, il peut s'écouler quelques minutes avant qu'elle ne s'affiche dans la base de données Shopping.
Pour obtenir la liste des attributs liés aux promotions, consultez la page Ajouter des attributs pour les données structurées.
Avant de créer et de gérer des promotions, consultez les bonnes pratiques concernant les promotions.
Afficher les promotions
Pour afficher une promotion, utilisez accounts.promotions.get
.
Cette récupération est en lecture seule. Il nécessite votre merchantId
et l'identifiant de la promotion. La méthode get
renvoie la ressource de promotions correspondante.
Exemple :
GET https://merchantapi.googleapis.com/promotions/v1beta/{name=accounts/*/promotions/*}
Examinez 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"
},
"minimumPurchaseQuantity": 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 la méthode 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 consulter l'attribut promotionStatus renvoyé par promotions.get
et promotions.list
.
Pour en savoir plus sur le processus d'approbation, consultez Processus d'approbation des promotions.
Exemples d'états de promotion
Les exemples suivants montrent la différence entre les requêtes réussies et celles qui échouent.
Exemple 1. Le corps de réponse suivant montre une promotion en ligne qui serait refusée 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 montre une promotion qui est toujours en cours d'évaluation.
"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 en savoir plus, consultez le Centre d'aide sur les promotions.
Pour découvrir comment migrer depuis Content API for Shopping, consultez Migrer la gestion des promotions.