Affiliate Cloud Cómo funciona
Cómo se decide si el anunciante aceptó el lead (Mapeo de Respuestas)
Configurar qué tiene que contestar el sistema del anunciante para que el lead cuente como venta, y qué motivo de rechazo ve el afiliado.
En esta página
En resumen
- Cuando la campaña entrega por API, la respuesta del anunciante decide si el lead es una venta. Cómo se lee esa respuesta se configura en Mapeo de Respuestas (Validación S2S), en la pestaña Integración.
- Se escribe en JSON: qué clave mirar (
success_key), qué valor tiene que traer (success_value) y de qué clave sacar el motivo de rechazo (error_message_key). - Si el anunciante devuelve un identificador en vez de un valor fijo, usa la regla «presente».
- En blanco, o si la respuesta no trae la clave, mandan unas reglas estándar muy permisivas. Para que sólo cuente lo que tú digas, añade
"estricto": true. - Un error HTTP del anunciante (4xx o 5xx) nunca es venta.
Para qué sirve
Una venta suma en los topes de la asignación, avisa al afiliado y es lo que se cobra al anunciante y se paga al afiliado. Por eso importa que sólo cuente como venta lo que el anunciante ha aceptado de verdad. Cada anunciante contesta a su manera; aquí le dices a la plataforma qué respuesta significa «aceptado».
Quién puede usarlo
Necesitas Permitido en Gestionar (Editar / Operar), en la fila Campañas de Affiliate Cloud del panel de permisos. Si no lo tienes, pídeselo a un administrador de tu cuenta. Para ver qué contestó el anunciante a cada lead hace falta además poder abrir el Directorio de Leads: Directorio de Leads: buscar, filtrar e inspeccionar la entrega.
Dónde se configura
En la ficha de la campaña, pestaña Integración, con Host & Post (API): el bloque Mapeo de Respuestas (Validación S2S), debajo de las reglas de transformación. Se guarda con Guardar Cambios.

La caja ① lleva un JSON; debajo, la pantalla explica la regla «presente» ② y qué pasa si la dejas en blanco ③.
Las claves del JSON
| Clave | Qué es |
|---|---|
success_key | La clave de la respuesta que se mira. Sólo de primer nivel: data.id no busca dentro de data. |
success_value | El valor que tiene que traer para ser venta. Se compara como texto y distingue mayúsculas: "OK" no acepta "ok". |
success_rule | "presente": vale cualquier valor no vacío. Sustituye a success_value. |
estricto | true, sin comillas: sólo cuenta lo que diga el mapeo (ver abajo). Con comillas, "true", no se activa. |
error_message_key | La clave de donde sale el motivo de un rechazo, para el afiliado. |
Tres formas habituales:
{ "success_key": "result", "success_value": "OK", "error_message_key": "message" }
{ "success_key": "contactId", "success_rule": "presente", "error_message_key": "message" }
{ "success_key": "status", "success_value": "ok", "estricto": true, "error_message_key": "error" }
Cómo se decide
De más estricta a más permisiva:
- Modo estricto o regla «presente». Sólo es venta una respuesta correcta (HTTP 2xx), en JSON, que trae la clave con un valor simple: el de
success_valueo, con «presente», cualquiera que no esté vacío.0cuenta;false, vacío onull, no. Todo lo demás es rechazo, y no se siguen redirecciones. - Mapeo sin
estricto, y la respuesta trae la clave. Venta si el valor coincide consuccess_valuey la respuesta no es un error HTTP. Si no coincide, rechazo. - Reglas estándar: sin mapeo, o con mapeo pero sin la clave en la respuesta. Venta si el JSON trae
"error": false,"status": "success"(sin importar mayúsculas) o un"Message"que contengaexitoso. - La respuesta no es JSON. Venta si no es una página web y contiene
successotrueen cualquier parte, sin importar mayúsculas: tambiénunsuccessful.
En las cuatro, un 4xx o un 5xx nunca es venta, traiga lo que traiga, y una respuesta vacía tampoco.
Verdadero/falso y números
success_value se compara como texto:
- con números da igual poner comillas:
1acepta1y"1"; - con verdadero/falso no: si el anunciante responde
{"estado": true}, escribe"success_value": truesin comillas. Con comillas, el lead aceptado quedaría como rechazo.
Lo que recibe el afiliado
- Venta:
success, conLead successfully registered. - Rechazo:
rejected_by_advertiser, conLead rejected by the advertiser:y el motivo, o sóloLead rejected by the advertiser.si no hay motivo. Sale deerror_message_keyo, con las reglas estándar, demessage(oMessage). Antes de enviarlo se quitan el HTML, las direcciones web, los correos y los números largos, como un teléfono, y se corta a 200 caracteres.
Con OAuth2, un 401 o un 403 del anunciante no llega como rechazo sino como campaign_not_ready: Autenticación OAuth2 de la entrega por API. Los demás códigos de la API, en API de leads: mensajes y códigos de error. Lo que pasa con cada lead al enviarlo (tiempo de espera, sin reintentos, cuándo es advertiser_unreachable), en Entregar los leads por API (Host & Post).
Lo que conviene saber
- Sin mapeo, o con mapeo y sin
estricto, se aceptan respuestas que no son una venta. Una respuesta sin la clave del mapeo cae en las reglas estándar:{"status":"success"}es venta aunque esperarasresult. Si el anunciante sólo factura una respuesta concreta, usa"estricto": trueo «presente». - Un JSON mal escrito se guarda vacío, sin aviso, y la campaña pasa a las reglas estándar. Comprueba la caja después de guardar.
- Un rechazo ya está guardado. Si el afiliado reenvía el mismo contacto, cuenta como duplicado, salvo lo que diga la casilla de los aceptados en Requisitos del lead de una campaña: qué se exige y qué se rechaza.
- La caja se conserva aunque cambies la campaña a correo o píxel.
- La misma lectura vale cuando la campaña sirve de conector a un comprador de Lead Gen.
- Para ver qué contestó el anunciante, abre el Log del lead en el Directorio de Leads: enseña lo enviado y lo respondido, con los datos personales tapados.
Lo que no hace
- No lee claves anidadas ni listas.
- No admite varios valores de éxito: uno solo.
- No mira el código HTTP para aceptar, salvo exigir 2xx en modo estricto o con OAuth2, y que un 4xx o 5xx nunca sea venta.
- No reintenta un rechazo.
Errores frecuentes
| Lo que ves | Qué significa | Qué hacer |
|---|---|---|
| El lead sale como venta y el anunciante dice que lo rechazó | La respuesta no traía la clave del mapeo y mandaron las reglas estándar, o el texto contenía success o true. | Añade "estricto": true o usa «presente». |
| El anunciante acepta y el lead sale rechazado | El valor no coincide: mayúsculas, o true escrito entre comillas. | Copia en success_value el valor exacto de su respuesta, sin comillas si es verdadero/falso. |
El afiliado recibe rejected_by_advertiser sin motivo | Falta error_message_key, la clave no viene o su valor no es un texto ni un número. | Pon en error_message_key la clave donde el anunciante da el motivo. |
| Después de guardar, la caja está vacía | El JSON tenía un error y se ha descartado. | Vuelve a escribirlo, con comillas dobles y sin comas sobrantes. |