Usa promociones para mostrar ofertas especiales de los productos que vendes en Google. Las promociones se muestran en diferentes Propiedades de Google, como la Búsqueda de Google, Shopping y Chrome.
Cuando agregas promociones a tus productos, los compradores ven un vínculo de oferta especial, por ejemplo, “15% de descuento” o “Envío gratis”. Los vínculos de ofertas pueden aumentar el atractivo de tus productos y alentar a los compradores a realizar compras.
Para obtener más información, consulta Conceptos básicos de las promociones.
Requisitos previos
Google requiere que proporciones información específica sobre tu empresa y tus productos antes de mostrar tus promociones. Debes tener lo siguiente:
- Un feed de productos activo en Google Merchant Center
- Un feed de promociones activo en Google Merchant Center
- Una cuenta de Google Ads para las campañas de Shopping
Además, debes inscribir tu cuenta de comerciante en el programa Promociones. Si no estás seguro de si ya te inscribiste, consulta Merchant Center.
Si no estás inscrito, completa el formulario de solicitud. El equipo de promociones te avisará cuando todo esté listo para comenzar con la implementación.
Para obtener más información, consulta criterios y políticas de participación.
Cómo crear una fuente de datos
Usa la API de datasource.create para crear un feed de promociones. Si hay un feed de promociones existente disponible, usa el método accounts.dataSources.get
para recuperar el nombre de la fuente de datos.
El formato de la solicitud es el siguiente:
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{ACCOUNT}/dataSources
Ejemplo
En el ejemplo, se muestra una solicitud y una respuesta típicas.
Solicitud:
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "promotionDataSource":{"targetCountry":"US", "contentLanguage":"en"}}
Respuesta:
{
"name": "accounts/123/dataSources/1000000573361824",
"dataSourceId": "1000000573361824",
"displayName": "test api feed",
"promotionDataSource": {
"targetCountry": "US",
"contentLanguage": "en"
},
"input": "API"
}
Crea promociones
Puedes usar el método accounts.promotions.insert
para crear o actualizar una promoción. El método accounts.promotions.insert
toma un recurso promotions
y un nombre de fuente de datos como entrada. Devuelve la promoción nueva o actualizada si se realiza correctamente.
Para crear una promoción, se requiere el nombre de la fuente de datos.
Google revisa y aprueba tus promociones antes de distribuirlas. Para obtener más información, consulta el proceso de aprobación de promociones.
El formato de la solicitud:
POST https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*/}promotions:insert
Consulta los siguientes ejemplos de promociones como referencia.
Ejemplo 1: Una promoción local aplicable a todos los productos y todas las tiendas
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"
}
Ejemplo 2: Una promoción en línea que se aplica a productos seleccionados con un código de canje
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"
}
Notas especiales
Después de crear la promoción, esta puede tardar unos minutos en aparecer en la base de datos de Shopping.
Para obtener una lista de los atributos relacionados con las promociones, consulta Agrega atributos de datos estructurados.
Antes de crear y administrar promociones, consulta Prácticas recomendadas para promociones.
Ver promociones
Para ver una promoción, usa accounts.promotions.get
.
Este get es de solo lectura. Requiere tu merchantId
y el ID de la promoción. El método get
muestra el recurso de promociones correspondiente.
Por ejemplo:
GET https://merchantapi.googleapis.com/promotions/v1beta/{name=accounts/*/promotions/*}
Estudia estos ejemplos.
Ejemplo 1: Una promoción local
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"
}
Ejemplo 2. Una promoción en línea
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}"
}
Cómo mostrar una lista de promociones
Puedes usar el método promotions.list
para ver todas las promociones creadas.
GET https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*}/promotions
Estado de la promoción
Para ver el estado de una promoción, puedes consultar el atributo promotionStatus que muestran promotions.get
y promotions.list
.
Para comprender el proceso de aprobación, consulta Proceso de aprobación de promociones.
Ejemplo de estado de la promoción
En los siguientes ejemplos, se muestra la diferencia entre las solicitudes que se realizan correctamente y las que fallan.
Ejemplo 1: En el siguiente cuerpo de respuesta, se muestra una promoción en línea que se rechazaría debido a que falta la asignación de productos.
"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"
]
}
]
}
Ejemplo 2. En el siguiente cuerpo de respuesta, se muestra una promoción que aún se está evaluando.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
Ejemplo 3. Una promoción aprobada y publicada
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
Más información
Para obtener más detalles, consulta el Centro de ayuda de Promociones.
Para obtener información sobre la migración desde Content API for Shopping, consulta Cómo migrar la administración de promociones.