Tokens de respuesta
Los tokens de respuesta permiten generar automáticamente información específica de Adobe Target a la página web de la marca. Esta información puede incluir detalles sobre la actividad, oferta, experiencia, perfil de usuario, información geográfica y más. Estos detalles proporcionan datos de respuesta adicionales para compartirlos con herramientas internas o de terceros, o para utilizarlos en la depuración.
Los tokens de respuesta permiten elegir qué variables (en pares de valor clave) utilizar y luego permitir que se envíen como parte de una Target respuesta. La variable se habilita mediante el modificador y se envía con Target respuestas, que se pueden validar en llamadas de red. Los tokens de respuesta también funcionan en Previsualizar modo.
Una diferencia clave entre los complementos y los tokens de respuesta es que los complementos envían JavaScript a la página que se ejecuta tras la entrega. Sin embargo, los tokens de respuesta envían un objeto que se puede leer y sobre el que se puede actuar utilizando detectores de eventos. El enfoque del token de respuesta es más seguro y facilita el desarrollo y mantenimiento de integraciones de terceros.
Se recomienda a los clientes que usen at.js utilizar tokens de respuesta y abandonar los complementos. Algunos complementos que dependen de métodos internos y que existían en mbox.js (ahora obsoletos), pero no en at.js, se entregan pero fallan.
Uso de tokens de respuesta section_A9E141DDCBA84308926E68D05FD2AC62
-
Compruebe que está utilizando la versión 2.6.0 (o posterior) del SDK web de Platform o la versión 1.1 (o posterior) de at.js.
Para obtener más información:
- SDK web de Platform: consulte Instalación del SDK en el Información general de Platform Web SDK guía.
- at.js: consulte Descargar at.js.
-
Entrada Target, haga clic en Administration > Tokens de respuesta.
-
Activar los tokens de respuesta deseados, como
activity.id
yoffer.id
.Los siguientes parámetros están disponibles de forma predeterminada:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 12-row-3 13-row-3 Tipo Parámetro Notas Perfiles integrados profile.activeActivities
Devuelve una matriz de los activityIds
para los que el visitante está cualificado. Aumenta a medida que los usuarios se cualifican. Por ejemplo, en una página con dos Target solicitudes que ofrecen dos actividades diferentes, la segunda solicitud incluye ambas actividades.profile.isFirstSession
Devuelve “true” o “false”. profile.isNewSession
Devuelve “true” o “false”. profile.daysSinceLastVisit
Devuelve el número de días desde la última visita del visitante. profile.tntId
Devuelve el tntID del visitante. profile.marketingCloudVisitorId
Devuelve el ID de visitante de Experience Cloud del visitante. profile.thirdPartyId
Devuelve el ID de terceros del visitante. profile.categoryAffinity
Devuelve la categoría favorita del visitante. profile.categoryAffinities
Devuelve una matriz de las cinco principales categorías del visitante en forma de cadenas. Actividad activity.name
activity.id
experience.name
experience.id
offer.name
offer.id
Detalles sobre la actividad actual.
Tenga en cuenta que los valores de los parámetros de oferta se evalúan en el nivel de experiencia.Geografía geo.country
geo.state
geo.city
geo.zip
geo.dma
geo.domainName
geo.ispName
geo.connectionSpeed
geo.mobileCarrier
Para obtener más información acerca del uso de la segmentación geográfica en las actividades, consulte Geografía. Método de asignación de tráfico
(Se aplica a Segmentación automática y Automated Personalization solo actividades de ).experience.trafficAllocationId
Devuelve 0 si un visitante recibió una experiencia por estar en tráfico de "control" y 1 si un visitante recibió una experiencia de la distribución de tráfico "segmentada". experience.trafficAllocationType
Devolver "control" o "segmentado". Los atributos del perfil de usuario y los atributos de cliente también se muestran en la lista.
note note NOTE Los parámetros con caracteres especiales no se muestran en la lista. Se admiten únicamente caracteres alfanuméricos y guiones bajos. -
(Condicional) Para utilizar un parámetro de perfil como token de respuesta, pero el parámetro no se ha pasado a través de un Target y, por lo tanto, no se ha cargado en el Target IU, puede utilizar la variable Agregar token de respuesta para añadir el perfil a la interfaz de usuario.
Clic Agregar token de respuesta, proporcione el nombre del token y haga clic en Activar.
-
Cree una actividad.
Escuchar respuestas y leer tokens de respuesta
El proceso que utiliza para escuchar Target Las respuestas de y los tokens de respuesta de lectura varían en función de si tiene un Platform Web SDK o implementación de at.js.
Platform Web SDK uso de la clase Handle platform-web-sdk
Utilice la clase de objeto Handle, que tiene un objeto de metadatos y un objeto de datos para detectar Target y leer los tokens de respuesta.
El siguiente ejemplo de respuesta agrega una Platform Web SDK controlador de eventos personalizado directamente a la página del HTML (en la tabla se explican los objetos utilizados en el código):
<html>
<head>
...
<script src="alloy.js"></script>
<script>
{
"requestId": "4d0a7cfd-952c-408c-b3b8-438edc38250a",
"handle": [{
"type": "personalization:decisions",
"payload": [{
"id": "....",
"scope": "__view__",
"scopeDetails": {
"decisionProvider": "TGT",
"activity": {
"id": "..."
},
"experience": {
"id": "...."
}
},
"items": [{
"id": "123",
"schema": "https://ns.adobe.com/personalization/dom-action",
"meta": {
"activity.id": "...",
"activity.name": "...",
"profile.foo": "...",
"profile.bar": "..."
},
"data": {
"id": "123",
"type": "setHtml",
"selector": "#foo",
"prehidingSelector": "#foo",
"content": "<div>Hello world</div>"
}
}]
}]
}]
}
});
</script>
</head>
<body>
...
</body>
</html>
at.js mediante eventos personalizados
Utilice eventos personalizados de at.js para detectar la respuesta de y leer los tokens de respuesta.Target
El siguiente ejemplo de código añade un controlador de evento personalizado at.js directamente a la página HTML:
<html>
<head>
....
<script src="at.js"></script>
<script>
document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) {
console.log("Request succeeded", e.detail);
});
</script>
<head>
<body>
...
</body>
</html>
Preguntas frecuentes sobre token de respuesta section_3DD5F32C668246289CDF9B4CDE1F536D
¿Qué rol se necesita para activar o desactivar tokens de respuesta?
Los tokens de respuesta solo los pueden activar o desactivar usuarios con la variable Target Administrador función.
¿Qué sucede si estoy corriendo? Platform Web SDK 2.6.0 (o anterior)
No tiene acceso a los tokens de respuesta.
¿Qué sucede si utilizo at.js 1.0 (o una versión anterior)?
Verá los tokens de respuesta, pero at.js no puede utilizarlos.
Target Classic¿Puedo tener activos a la vez complementos de y tokens de respuesta?
Los complementos y los tokens de respuesta están disponibles en paralelo, pero no se utilizarán en el futuro.
¿Se entregan los tokens de respuesta mediante todo? Target respuestas o solo mediante Target ¿Qué respuestas ofrecen una actividad?
Los tokens de respuesta solo se entregan mediante Target respuestas que envían una actividad.
Mis Target Classic complemento incluido JavaScript. ¿Cómo replico su funcionalidad mediante tokens de respuesta?
Al migrar a tokens de respuesta, este tipo de JavaScript debe mantenerse en la solución de administración de etiquetas o en la base de códigos. Puede almacenar en déclencheur este código usando Platform Web SDK o at.js personalizar eventos y pasar los valores de token de respuesta a las funciones de JavaScript.
¿Por qué mi perfil o el parámetro de atributos de cliente no se muestra en la lista de tokens de respuesta?
Target normalmente actualiza los parámetros cada 15 minutos. Esta actualización depende de la acción del usuario y los datos solo se actualizan cuando se ve la página de tokens de respuesta. Si los parámetros no se muestran en la lista de token de respuesta, Target aún no ha actualizado los datos.
Además, si el parámetro contiene cualquier carácter que no sea alfanumérico o cualquier símbolo que no sea guiones bajos, el parámetro no aparecerá en la lista. En este momento, solo se admiten caracteres alfanuméricos y guiones bajos.
¿El token de respuesta sigue entregando contenido si utiliza un script de perfil eliminado o un parámetro de perfil?
Los tokens de respuesta extraen y posteriormente envían información de los perfiles de usuario. Que elimine un script o parámetro de perfil no significa que la información se haya eliminado de los perfiles de usuario. Los perfiles de usuario siguen teniendo datos correspondientes al script de perfil. El token de respuesta sigue entregando el contenido. Para los usuarios que no tienen esa información guardada en sus perfiles, o para los nuevos visitantes, ese token no se entrega porque los datos no están presentes en sus perfiles.
Target no desactiva el token automáticamente. Si elimina un script de perfil y ya no quiere que se envíe el token, deberá desactivar este usted mismo.
He cambiado el nombre del script Mi perfil, ¿por qué el token que utiliza dicho script sigue activo con el nombre antiguo?
Como se ha mencionado anteriormente, los tokens de respuesta operan con la información de perfil que los usuarios tienen guardada. Aunque ha cambiado el nombre del script de perfil, los usuarios que han visitado el sitio web tienen el valor del script de perfil antiguo guardado en sus perfiles. El token sigue recopilando el valor antiguo que ya se ha guardado en los perfiles de usuario. Si desea enviar contenido con el nuevo nombre, deberá desactivar el token antiguo y activar el nuevo.
Si mis atributos han cambiado, ¿cuándo se eliminarán de la lista?
Target realiza una actualización de atributos a intervalos regulares. Cualquier atributo que no esté activado se eliminará durante la siguiente actualización. Sin embargo, si tiene un atributo activado y eliminado, dicho script no se elimina de la lista de atributos hasta que lo desactive. Por ejemplo, ha eliminado un script de perfil que se utilizaba como token. Target solo elimina de la lista los atributos desactivados cuando estos se eliminan o se cambia su nombre.
Envío de datos a Google Analytics
Las secciones siguientes describen cómo realizar envíos Target datos a los Google Analytics 4. Los datos enviados por tokens de respuesta también se pueden enviar a otras integraciones de terceros.
Envío de datos a los Google Analytics mediante el SDK web de Platform
Se pueden enviar datos a los Google Analytics a través de la versión 2.6.0 (o posterior) del SDK web de Platform agregando el siguiente código en la página del HTML.
alloy("sendEvent"
objeto.<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script type="text/javascript">
alloy("sendEvent", {
})
.then(({ renderedPropositions, nonRenderedPropositions }) => {
// concatenate all the propositions
const propositions = [...renderedPropositions, ...nonRenderedPropositions];
// extractResponseTokens() extract the meta from item -> meta
const tokens = extractResponseTokens(propositions);
const activityNames = [];
const experienceNames = [];
const uniqueTokens = distinct(tokens);
uniqueTokens.forEach(token => {
activityNames.push(token["activity.name"]);
experienceNames.push(token["experience.name"]);
});
gtag('config', 'TAG_ID');
gtag('event', 'action_name', {'eventCategory': 'target',
'eventAction': experienceNames, 'eventLabel': activityNames
});
});
</script>
Envío de datos a los Google Analytics mediante at.js section_04AA830826D94D4EBEC741B7C4F86156
Es posible enviar datos a Google Analytics mediante at.js añadiendo el siguiente código en la página HTML:
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script type="text/javascript">
document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) {
var tokens = e.detail.responseTokens;
if (isEmpty(tokens)) {
return;
}
var activityNames = [];
var experienceNames = [];
var uniqueTokens = distinct(tokens);
uniqueTokens.forEach(function(token) {
activityNames.push(token["activity.name"]);
experienceNames.push(token["experience.name"]);
});
gtag('config', 'TAG_ID');
gtag('event', 'action_name', {'eventCategory': 'target',
'eventAction': experienceNames, 'eventLabel': activityNames
});
});
function isEmpty(val) {
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
function key(obj) {
return Object.keys(obj)
.map(function(k) { return k + "" + obj[k]; })
.join("");
}
function distinct(arr) {
var result = arr.reduce(function(acc, e) {
acc[key(e)] = e;
return acc;
}, {});
return Object.keys(result)
.map(function(k) { return result[k]; });
}
</script>
Depuración
Las secciones siguientes proporcionan información sobre la depuración de tokens de respuesta:
Google Analytics y depuración
El siguiente código permite depurar con Google Analytics:
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script type="text/javascript">
document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) {
var tokens = e.detail.responseTokens;
if (isEmpty(tokens)) {
return;
}
var activityNames = [];
var experienceNames = [];
var uniqueTokens = distinct(tokens);
uniqueTokens.forEach(function(token) {
activityNames.push(token["activity.name"]);
experienceNames.push(token["experience.name"]);
});
gtag('config', 'TAG_ID');
gtag('event', 'action_name', {'eventCategory': 'target',
'eventAction': experienceNames, 'eventLabel': activityNames
});
});
function isEmpty(val) {
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
function key(obj) {
return Object.keys(obj)
.map(function(k) { return k + "" + obj[k]; })
.join("");
}
function distinct(arr) {
var result = arr.reduce(function(acc, e) {
acc[key(e)] = e;
return acc;
}, {});
return Object.keys(result)
.map(function(k) { return result[k]; });
}
</script>
Depuración con el equivalente del complemento ttMeta
Puede crearse el equivalente del complemento ttMeta para depuración añadiendo el siguiente código a la página HTML:
<script type="text/javascript" >
document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function (e) {
window.ttMETA= typeof(window.ttMETA)!="undefined" ? window.ttMETA : [];
var tokens=e.detail.responseTokens;
if (isEmpty(tokens)) {
return;
}
var uniqueTokens = distinct(tokens);
uniqueTokens.forEach(function(token) {
window.ttMETA.push({
'CampaignName': token["activity.name"],
'CampaignId' : token["activity.id"],
'RecipeName': token["experience.name"],
'RecipeId': token["experience.id"],
'OfferId': token["offer.id"],
'OfferName': token["offer.name"],
'MboxName': e.detail.mbox});
console.log(ttMETA);
});
});
function isEmpty(val){
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
function key(obj) {
return Object.keys(obj)
.map(function(k) { return k + "" + obj[k]; })
.join("");
}
function distinct(arr) {
var result = arr.reduce(function(acc, e) {
acc[key(e)] = e;
return acc;
}, {});
return Object.keys(result)
.map(function(k) { return result[k]; });
}
</script>
Vídeo de formación: Tokens de respuesta y eventos personalizados de at.js section_3AA0A6C8DBD94A528337A2525E3E05D5
En el siguiente vídeo se explica cómo utilizar los tokens de respuesta y los eventos personalizados de at.js para compartir información de perfil de Target a sistemas de terceros.
option.name
y option.id
, que se han sustituido por offer.name
y offer.id
, respectivamente.