Token di risposta

I token di risposta ti consentono di trasmettere automaticamente informazioni specifiche di Adobe Target alla pagina web del tuo marchio. Queste informazioni possono includere dettagli sull’attività, l’offerta, l’esperienza, il profilo utente, le informazioni geografiche e altro ancora. Questi dettagli forniscono dati di risposta aggiuntivi da condividere con strumenti interni o di terze parti o da utilizzare per il debug.

I token di risposta consentono di scegliere le variabili (in coppie di valori chiave) da utilizzare e quindi di inviarle come parte di una risposta Target. È possibile abilitare una variabile utilizzando l'interruttore e la variabile viene inviata con le risposte Target, che possono essere convalidate nelle chiamate di rete. I token di risposta funzionano anche in modalità Anteprima .

Una differenza fondamentale tra plug-in e token di risposta è che i plug-in distribuiscono JavaScript alla pagina che viene eseguita al momento della consegna. I token di risposta, tuttavia, forniscono un oggetto che può quindi essere letto e agito utilizzando listener di eventi. L’approccio dei token di risposta è più sicuro e consente uno sviluppo e una manutenzione più semplici delle integrazioni di terze parti.

NOTA

I token di risposta sono disponibili con at.js versione 1.1 o successiva.

SDK di Target Azioni consigliate
Tutorial per Adobe Experience Platform Web SDK Assicurati di utilizzare Platform Web SDK versione 2.6.0 o successiva. Per informazioni su come scaricare la versione più recente di Platform Web SDK, consulta Installare l’SDK nella guida Panoramica dell’SDK per web Platform . Per informazioni sulle nuove funzionalità in ogni versione dell’SDK per web di Platform, consulta Note sulla versione nella guida Panoramica dell’SDK per web di Platform .
at.js Assicurati di utilizzare at.js nella versione 1.1 o successiva. Per informazioni su come scaricare l’ultima versione di at.js, consulta Scaricare at.js. Per informazioni sulle nuove funzionalità in ogni versione di at.js, vedi Dettagli sulla versione di at.js.
I clienti che utilizzano at.js sono incoraggiati a utilizzare i token di risposta e ad abbandonare i plug-in. Alcuni plug-in che si basano su metodi interni presenti in mbox.js, ma non in at.js, vengono consegnati ma non riescono.

Utilizzo dei token di risposta

  1. Assicurati di utilizzare Platform Web SDK versione 2.6.0 (o successiva) o at.js versione 1.1 (o successiva).

    Per ulteriori informazioni:

  2. In Target, fai clic su Amministrazione > Token di risposta.

  3. Attiva i token di risposta desiderati, ad esempio activity.id e option.id.

    Per impostazione predefinita sono disponibili i seguenti parametri:

    Tipo Parametro Note
    Profili incorporati profile.activeActivities Restituisce una matrice dei codici activityIds per i quali il visitatore si qualifica. Viene incrementato man mano che gli utenti si qualificano. Ad esempio, in una pagina con due richieste Target che forniscono due diverse attività, la seconda richiesta include entrambe le attività.
    profile.isFirstSession Restituisce “vero” o “falso”.
    profile.isNewSession Restituisce “vero” o “falso”.
    profile.daysSinceLastVisit Restituisce il numero di giorni dall’ultima visita del visitatore.
    profile.tntId Restituisce il codice tntID del visitatore.
    profile.marketingCloudVisitorId Restituisce l’ID visitatore di Experience Cloud per il visitatore in oggetto.
    profile.thirdPartyId Restituisce l’ID di terze parti del visitatore.
    profile.categoryAffinity Restituisce la categoria preferita del visitatore.
    profile.categoryAffinities Restituisce una matrice delle 5 categorie principali del visitatore, sotto forma di stringhe.
    Attività activity.name
    activity.id
    experience.name
    experience.id
    option.name
    option.id
    Dettagli dell’attività corrente. “Opzione” equivale a “offerta”.
    Geo geo.country
    geo.state
    geo.city
    geo.zip
    geo.dma
    geo.domainName
    geo.ispName
    geo.connectionSpeed
    geo.mobileCarrier
    Consulta Geo per ulteriori informazioni sull’utilizzo del geotargeting nelle attività.
    Metodo di allocazione del traffico
    (si applica solo alle attività Targeting automatico e Automated Personalization ).
    experience.trafficAllocationId Restituisce 0 se un visitatore ha ricevuto un’esperienza dal traffico "di controllo" e 1 se ha ricevuto un’esperienza dalla distribuzione del traffico "mirata".
    experience.trafficAllocationType Restituisce "control" o "target".

    Nell’elenco vengono visualizzati anche gli attributi del profilo utente e gli attributi del cliente.

    NOTA

    I parametri con caratteri speciali non vengono visualizzati nell’elenco. Sono supportati solo caratteri alfanumerici e il trattino basso.

  4. (Condizionale) Per utilizzare un parametro di profilo come token di risposta, ma il parametro non è stato trasmesso tramite una richiesta Target e quindi non è stato caricato nell'interfaccia utente Target, puoi utilizzare il pulsante Aggiungi token di risposta per aggiungere il profilo all'interfaccia utente.

    Fai clic su Aggiungi token di risposta, fornisci il nome del token, quindi fai clic su Attiva.

  5. Crea un’attività.

Ascoltare risposte e leggere token di risposta

Il processo utilizzato per ascoltare le risposte Target e i token di risposta in lettura varia a seconda che si disponga di un’implementazione Platform Web SDK o at.js.

Badge Adobe Experience Platform Web SDK Platform Web SDK con la classe di oggetto Handle

Utilizzare la classe dell'oggetto Handle, che dispone di un oggetto metadati e di un oggetto dati per ascoltare le risposte Target e leggere i token di risposta.

L'esempio di risposta seguente aggiunge un gestore di eventi personalizzati Platform Web SDK direttamente alla pagina HTML (la tabella spiega gli oggetti utilizzati nel codice):

Oggetto Informazioni
Tipo - Personalization.decision Se la decisione è stata presa dal provider Target o Offer Decisioning.
DecisionProvider - TGT TGT-Target. Target fornisce i metadati e i valori del token di risposta alla pagina.
Meta Metadati passati alla pagina.
Dati Valori dei metadati passati alla pagina.
<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 badgeat.js utilizzando eventi personalizzati

Usa gli eventi personalizzati di at.js per ascoltare la risposta della e leggere i token di risposta.Target

Il codice di esempio seguente aggiunge un gestore di eventi personalizzati di at.js direttamente alla pagina 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>

Domande frequenti sui token di risposta

Quale ruolo è autorizzato ad attivare o disattivare i token di risposta?

I token di risposta possono essere attivati o disattivati solo dagli utenti con il ruolo Target Amministratore .

Cosa succede se eseguo Platform Web SDK 2.6.0 (o versioni precedenti)?

Non hai accesso ai token di risposta.

Cosa succede se eseguo at.js 1.0 (o versioni precedenti)?

Puoi visualizzare i token di risposta, ma at.js non può utilizzarli.

Target ClassicÈ possibile avere attivi allo stesso tempo sia plug-in di che i token di risposta?

Plug-in e token di risposta sono disponibili in parallelo; tuttavia, i plug-in diventeranno obsoleti in futuro.

I token di risposta vengono consegnati attraverso tutte le Target risposte o solo tramite Target le risposte che forniscono un’attività?

I token di risposta vengono consegnati solo tramite le risposte Target che forniscono un’attività.

Il mio Target Classic plug-in includeva JavaScript. Come posso riprodurne la funzionalità utilizzando i token di risposta?

Durante la migrazione ai token di risposta, questo tipo di JavaScript deve essere mantenuto nel codebase o nella soluzione di gestione dei tag. Puoi attivare questo codice utilizzando gli eventi personalizzati Platform Web SDK o at.js e trasmettere i valori del token di risposta alle funzioni JavaScript.

Perché il mio parametro profilo/attributi del cliente non viene visualizzato nell’elenco dei token di risposta?

Target aggiorna normalmente i parametri ogni 15 minuti. Questo aggiornamento dipende dall’azione dell’utente e i dati vengono aggiornati solo quando visualizzi la pagina dei token di risposta. Se i parametri non vengono visualizzati nell’elenco dei token di risposta, Target non ha ancora aggiornato i dati.

Inoltre, se il parametro contiene elementi tranne caratteri non alfanumerici o simboli diversi dai caratteri di sottolineatura, il parametro non viene visualizzato nell’elenco. Attualmente sono supportati solo caratteri alfanumerici e il trattino basso.

Il token di risposta continua a fornire contenuto se utilizza uno script di profilo eliminato o un parametro di profilo?

I token di risposta estraggono informazioni dai profili utente e quindi recapitano tali informazioni. Se elimini uno script o un parametro di profilo, le informazioni non vengono necessariamente rimosse dai profili utente. I profili utente contengono ancora i dati corrispondenti allo script del profilo. Il token di risposta continua a fornire il contenuto. Per gli utenti per i quali non sono state salvate tali informazioni nei loro profili o per i nuovi visitatori, tale token non viene consegnato perché i dati non sono presenti nei loro profili.

Target non disattiva automaticamente il token. Se elimini uno script di profilo e non desideri più che il token venga consegnato, devi disattivare il token manualmente.

Ho rinominato il mio script di profilo, ma il token che utilizza lo script è ancora attivo con il vecchio nome. Perché?

Come accennato in precedenza, i token di risposta funzionano sulle informazioni del profilo salvate per gli utenti. Anche se hai rinominato il tuo script di profilo, gli utenti che hanno visitato il tuo sito web hanno il vecchio valore dello script di profilo salvato nei loro profili. Il token continua a raccogliere il valore precedente già salvato nei profili utente. Se ora desideri consegnare il contenuto del nuovo nome, devi disattivare il token precedente e attivare quello nuovo.

Se i miei attributi sono cambiati, quando saranno rimossi dall’elenco?

Target esegue un aggiornamento degli attributi a intervalli regolari. Gli attributi non attivati vengono rimossi durante l’aggiornamento successivo. Tuttavia, se un attributo è stato attivato ed è stato rimosso, tale script non viene rimosso dall’elenco degli attributi finché non lo si disattiva. Ad esempio, hai rimosso uno script di profilo utilizzato come token. Target rimuove dall’elenco solo gli attributi disattivati quando vengono eliminati o rinominati.

Invia dati a Google Analytics

Le sezioni seguenti descrivono come inviare dati Target alle Google Analytics. I dati inviati dai token di risposta possono essere inviati ad altre integrazioni di terze parti.

AEP badgeInvio di dati a Google Analytics tramite SDK per web di Platform

I dati delle Google Analytics possono essere inviati tramite Platform Web SDK versione 2.6.0 (o successiva) aggiungendo il seguente codice nella pagina HTML.

NOTA

Assicurati che la coppia di valori chiave del token di risposta sia sotto l'oggetto alloy(“sendEvent” .

<script type="text/javascript"> 
   (function(i, s, o, g, r, a, m) { 
   i['GoogleAnalyticsObject'] = r; 
   i[r] = i[r] || function() { 
   (i[r].q = i[r].q || []).push(arguments) 
   }, i[r].l = 1 * new Date(); 
   
   
   a = s.createElement(o), 
   m = s.getElementsByTagName(o)[0]; 
   a.async = 1; 
   a.src = g; 
   m.parentNode.insertBefore(a, m) 
   })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 
   ga('create', 'Google Client Id', 'auto'); 
</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"]); 
   }); 
   
   
   ga('send', 'event', { 
   eventCategory: "target", 
   eventAction: experienceNames, 
   eventLabel: activityNames 
   }); 
   
   
   });
</script>

Badge at.js Invio di dati a Google Analytics tramite at.js

Puoi inviare dati a Google Analytics tramite at.js aggiungendo il seguente codice alla pagina HTML:

<script type="text/javascript"> 
  (function(i, s, o, g, r, a, m) { 
    i['GoogleAnalyticsObject'] = r; 
    i[r] = i[r] || function() { 
      (i[r].q = i[r].q || []).push(arguments) 
    }, i[r].l = 1 * new Date(); 
    a = s.createElement(o), 
      m = s.getElementsByTagName(o)[0]; 
    a.async = 1; 
    a.src = g; 
    m.parentNode.insertBefore(a, m) 
  })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 
  ga('create', 'Google Client Id', 'auto'); 
</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"]); 
    }); 
 
    ga('send', 'event', { 
      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>

Eseguire il debug

Le sezioni seguenti forniscono informazioni sul debug dei token di risposta:

Badge at.jsGoogle Analytics e debugging

Il codice seguente consente di eseguire il debug utilizzando Google Analytics:

<script type="text/javascript"> 
  (function(i, s, o, g, r, a, m) { 
    i['GoogleAnalyticsObject'] = r; 
    i[r] = i[r] || function() { 
      (i[r].q = i[r].q || []).push(arguments) 
    }, i[r].l = 1 * new Date(); 
    a = s.createElement(o), 
      m = s.getElementsByTagName(o)[0]; 
    a.async = 1; 
    a.src = g; 
    m.parentNode.insertBefore(a, m) 
  })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 
  ga('create', 'Google Client Id', 'auto'); 
</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"]); 
    }); 
 
    ga('send', 'event', { 
      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]; }); 
  } 

Debug utilizzando l’equivalente del plug-in ttMeta

L’equivalente del plug-in ttMeta per scopi di debug può essere creato aggiungendo il seguente codice alla pagina 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["option.id"], 
        'OfferName': token["option.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>

Video di formazione su at. js: Token di risposta ed eventi personalizzati at.js

Il video seguente spiega come utilizzare i token di risposta e gli eventi personalizzati at.js per condividere le informazioni sul profilo da Target a sistemi di terze parti.

NOTA

L'interfaccia utente del menu Target Amministrazione (precedentemente Configurazione) è stata riprogettata per fornire prestazioni migliori, ridurre il tempo di manutenzione necessario per il rilascio di nuove funzioni e migliorare l'esperienza utente nel prodotto. Le informazioni contenute nel video seguente sono corrette; tuttavia, le opzioni si trovano in posizioni leggermente diverse.

In questa pagina