Optimizar la orientación de anuncios
En este documento se describen las mejores prácticas para generar anuncios de productos en las ubicaciones de búsqueda, categoría y amplia visualización (inicio, pago, especiales, etc.). La implantación de estas estrategias hace que sus anuncios sean más relevantes y específicos, lo que mejora la fidelización y la satisfacción del usuario. Las mejoras incluyen paginación, búsquedas filtradas y filtrado basado en la localización geográfica para un enfoque publicitario personalizado.
Para generar anuncios de productos mediante ubicaciones de búsqueda y categorías, consulte los siguientes temas:
- Generar anuncios de productos mediante la ubicación en la búsqueda
- Generar anuncios de productos mediante ubicaciones de categorías
Solicitudes de paginación
La paginación es una técnica utilizada para gestionar grandes conjuntos de datos dividiéndolos en páginas o segmentos discretos. En el contexto de la generación de anuncios de productos, la paginación garantiza que los usuarios no se vean abrumados por demasiados anuncios a la vez y que los anuncios vistos anteriormente no se publiquen de forma redundante.
Cuando genera anuncios de productos, la respuesta incluye un memoryToken
. Este token ayuda a realizar un seguimiento de los anuncios que ya se han publicado. Al incluir esto memoryToken
en las solicitudes de anuncios posteriores, puede asegurarse de que los anuncios publicados anteriormente se excluyan de la nueva respuesta al anuncio, lo que mejora la experiencia del usuario al presentar anuncios nuevos y relevantes.
- Solicitud inicial: genere anuncios de productos y reciba
memoryToken
en la respuesta. - Solicitudes posteriores: incluya
memoryToken
en solicitudes de anuncios posteriores para excluir los anuncios mostrados anteriormente de la respuesta.
Para obtener más información, consulte Paginación.
Solicitar parámetros
El cuerpo de la solicitud debe ser un objeto JSON que contenga los siguientes campos:
objeto | tipo | Descripción |
---|---|---|
customerId | cadena, obligatorio | Identificador único para el cliente. Lo proporciona su distribuidor. |
sessionId | cadena, obligatorio | Identificador único de la sesión. Es necesario para la atribución y lo proporciona el minorista. |
Ubicación | cadena, obligatorio | Contexto en el que se muestra el anuncio (por ejemplo, "search"). |
ID del catálogo | cadena, obligatorio | Identificador único del catálogo de productos desde el que se filtran los productos. Puede obtener el catalogID en la interfaz de usuario de Epsilon Retail Media o en la tienda. |
maxNumberOfAds | entero, obligatorio | Número máximo de anuncios que se van a mostrar. |
Término de búsqueda | cadena, necesario para ubicaciones de búsqueda | Término que se buscará dentro del catálogo. |
memoryToken | cadena, obligatorio | Token para excluir anuncios mostrados anteriormente. |
opciones | objeto, opcional | Opciones adicionales, como los modos de filtrado AndOr . Si se especifican, el sistema utilizará las condiciones "Y" y "O" para afinar los resultados de la búsqueda. |
Ejemplo de solicitud
En el siguiente ejemplo, la solicitud de anuncio inicial es para la ubicación de búsqueda con el término «chocolate». El memoryToken
se incluye para garantizar que los anuncios mostrados anteriormente para el mismo término de búsqueda y contexto se excluyan de la respuesta. El objeto options
especifica el modo de filtrado y maxNumberOfAds
establece el límite del número de anuncios que se generarán en la respuesta.
Al aprovechar la paginación y los tokens de memoria, puede ofrecer una experiencia publicitaria más dinámica y atractiva para sus usuarios, evitando la redundancia y mejorando la relevancia.
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"customerId": "wertg5432a",
"sessionId": "ec9-4e07-881d-3e9",
"placement": "search",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"searchTerm": "chocolate",
"memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0=",
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}
Ejemplo de respuesta
Todas las respuestas de anuncios de productos siguen un formato JSON estándar. Los anuncios de productos se devuelven en la matriz de anuncios.
- id: la identificación de anuncio que se utiliza en los informes de impresiones y clics.
- gtin: el número de artículo comercial mundial del producto.
- discount: detalles sobre los descuentos aplicables al anuncio.
- amount: importe del descuento.
- minPrice: precio mínimo para el descuento.
- maxPerCustomer: número máximo de artículos que un cliente puede comprar con el descuento.
- expiry: la fecha y hora de caducidad del anuncio.
- position: la posición del anuncio en la carga útil de respuesta. Siempre debe leer y respetar el campo de posición para asegurarse de que las ubicaciones de tenencia fija aparezcan correctamente.
{
"ads": [
{
"id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
"gtin": "7733636",
"discount": {
"amount": 0,
"minPrice": 0,
"maxPerCustomer": 0
},
"expiry": "2021-05-12T04:17:50.400902957Z",
"position": 1
},
{
"id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
"gtin": "7733628",
"discount": {
"amount": 0,
"minPrice": 0,
"maxPerCustomer": 0
},
"expiry": "2021-05-12T04:17:50.400908257Z",
"position": 2
},
{
"id": "display_xNeShqidaMuEqiJ0zNdt-Gzygjs3NzE0MTA3",
"gtin": "7714107",
"discount": {
"amount": 0,
"minPrice": 0,
"maxPerCustomer": 0
},
"expiry": "2021-05-12T04:17:50.400912929Z",
"position": 3
},
{
"id": "display_3rGiryPskhQusmsf43nghbQwnqo3NzMzNjU3",
"gtin": "7733657",
"discount": {
"amount": 0,
"minPrice": 0,
"maxPerCustomer": 0
},
"expiry": "2021-05-12T04:17:50.400917769Z",
"position": 4
}
],
"banners": [],
"products": [],
"memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}
Al incorporar vendedores del mercado, puede sellerId
campo puede aparecer en la respuesta del anuncio. Este campo solo se incluye si el equipo propietario de la campaña ha configurado una identificación de vendedor en la interfaz de usuario de Epsilon Retail Media.
Ejemplo con identificación de vendedor
{
"ads": [
{
"id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
"gtin": "7733636",
"discount": {
"amount": 0,
"minPrice": 0,
"maxPerCustomer": 0
},
"expiry": "2021-05-12T04:17:50.400902957Z",
"position": 1
},
{
"id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
"gtin": "7733628",
"sellerId": "2834-ascre-2wcr4",
"discount": {
"amount": 0,
"minPrice": 0,
"maxPerCustomer": 0
},
"expiry": "2021-05-12T04:17:50.400908257Z",
"position": 2
}
],
"banners": [],
"products": [],
"memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}
Búsquedas filtradas
Cuando un cliente aplica filtros a su búsqueda, puede mejorar el contexto de su consulta mediante productFilters
. Esto le permite segmentar los anuncios con mayor precisión en función de categorías o atributos específicos. A continuación, ofrecemos un ejemplo de cómo filtrar por la categoría «Despensa» y la restricción dietética «Sin gluten». Esta metodología se puede adaptar a cualquier categoría o ubicación de coincidencia amplia.
Solicitar parámetros
El cuerpo de la solicitud debe ser un objeto JSON que contenga los siguientes campos:
objeto | tipo | Descripción |
---|---|---|
customerId | cadena, obligatorio | Identificador único para el cliente. Lo proporciona su distribuidor. |
sessionId | cadena, obligatorio | Identificador único de la sesión. Es necesario para la atribución y lo proporciona el minorista. |
Ubicación | cadena, obligatorio | Contexto en el que se muestra el anuncio (por ejemplo, "search"). |
ID del catálogo | cadena, obligatorio | Identificador único del catálogo de productos desde el que se filtran los productos. Puede obtener el catalogID en la interfaz de usuario de Epsilon Retail Media o en la tienda. |
maxNumberOfAds | entero, obligatorio | Número máximo de anuncios que se van a mostrar. |
Término de búsqueda | cadena, necesario para ubicaciones de búsqueda | Término que se buscará dentro del catálogo. |
productFilters | matriz, requerida | Una matriz que contiene los filtros de categoría. |
opciones | objeto, opcional | Opciones adicionales, como los modos de filtrado AndOr . Si se especifican, el sistema utilizará las condiciones "Y" y "O" para afinar los resultados de la búsqueda. |
Ejemplo de solicitud
La solicitud de ejemplo utiliza el método HTTP POST para enviar un objeto JSON al endpoint especificado. La productFilters
matriz especifica que la búsqueda debe filtrarse por la categoría «Despensa» y la restricción dietética «Sin gluten». El objeto de opciones establece filterMode
en AndOr
, lo que permite una combinación flexible de filtros. El maxNumberOfAds
campo limita el número de anuncios mostrados a tres.
Siguiendo esta estructura, puede crear campañas publicitarias segmentadas que sean más relevantes para los criterios de búsqueda del cliente, mejorando así la experiencia general del usuario.
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"customerId": "wertg5432a",
"sessionId": "ec9-4e07-881d-3e9",
"placement": "search",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"searchTerm": "chocolate",
"productFilters": [
["category:Cupboard"],["dietary:Gluten-free"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}
Filtrar por localización geográfica
Cuando sincronice filtros de localización geográfica en su catálogo, puede ampliar el contexto para incluir la ubicación de la tienda del cliente en productFilters
. Esta función le permite segmentar los anuncios en función de la ubicación específica de la tienda, lo que mejora la relevancia de los anuncios que se muestran al cliente.
Solicitar parámetros
El cuerpo de la solicitud debe ser un objeto JSON que contenga los siguientes campos:
objeto | tipo | Descripción |
---|---|---|
customerId | cadena, obligatorio | Identificador único para el cliente. Lo proporciona su distribuidor. |
sessionId | cadena, obligatorio | Identificador único de la sesión. Es necesario para la atribución y lo proporciona el minorista. |
Ubicación | cadena, obligatorio | Contexto en el que se muestra el anuncio (por ejemplo, "search"). |
ID del catálogo | cadena, obligatorio | Identificador único del catálogo de productos desde el que se filtran los productos. Puede obtener el catalogID en la interfaz de usuario de Epsilon Retail Media o en la tienda. |
maxNumberOfAds | entero, obligatorio | Número máximo de anuncios que se van a mostrar. |
Término de búsqueda | cadena, necesario para ubicaciones de búsqueda | Término que se buscará dentro del catálogo. |
productFilters | matriz, requerida | Una matriz que contiene los filtros de categoría. |
opciones | objeto, opcional | Opciones adicionales, como los modos de filtrado AndOr . Si se especifican, el sistema utilizará las condiciones "Y" y "O" para afinar los resultados de la búsqueda. |
Ejemplo de solicitud
La solicitud de ejemplo utiliza el método HTTP POST para enviar un objeto JSON al endpoint especificado.
- La
productFilters
matriz especifica que la búsqueda se debe filtrar por:- Categoría: «Despensa»
- Restricción dietética: «Sin gluten»
- Ubicación: «Chamberí»
- El objeto de opciones establece
filterMode
enAndOr
, lo que permite una combinación flexible de filtros. - La
maxNumberOfAds
campo limita el número de anuncios mostrados a tres.
Siguiendo esta estructura, puede crear campañas publicitarias segmentadas que sean más relevantes para los criterios de búsqueda del cliente, mejorando así la experiencia general del usuario.
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"customerId": "wertg5432a",
"sessionId": "ec9-4e07-881d-3e9",
"placement": "search",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"searchTerm": "chocolate",
"productFilters": [
["category:Cupboard"],["dietary:Gluten-free"],["location:Westenbury"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}
Actualizado hace 12 meses