Tokens de resposta

Os tokens de resposta permitem gerar automaticamente informações específicas para Adobe Target na página da Web da sua marca. Essas informações podem incluir detalhes sobre a atividade, oferta, experiência, perfil de usuário, informações geográficas e muito mais. Esses detalhes fornecem dados de resposta adicionais para compartilhar com ferramentas internas ou de terceiros ou para usar na depuração.

Os tokens de resposta permitem escolher quais variáveis (em pares de valores chave) usar e permitir que sejam enviadas como parte de um Target resposta. Você habilita uma variável usando o switch e a variável é enviada com Target , que podem ser validadas em chamadas de rede. Os tokens de resposta também funcionam em Visualizar modo.

Uma diferença importante entre plug-ins e tokens de resposta é que os plug-ins entregam o JavaScript para a página que é executada na entrega. No entanto, os tokens de resposta fornecem um objeto que pode ser lido e executado com o uso de ouvintes de eventos. A abordagem do token de resposta é mais segura e permite um desenvolvimento e manutenção mais fáceis de integrações de terceiros.

OBSERVAÇÃO

Os tokens de resposta estão disponíveis com a at.js versão 1.1 ou posterior.

SDK do Target Ações sugeridas
SDK da Web da Adobe Experience Platform Certifique-se de que você esteja usando o SDK da Web da plataforma versão 2.6.0 ou posterior. Para obter informações sobre como baixar a versão mais recente do SDK da Web da plataforma, consulte Instalar o SDK no Visão geral do SDK da Web da plataforma guia. Para obter informações sobre a nova funcionalidade em cada versão do SDK da Web da plataforma, consulte Notas de versão no Visão geral do SDK da Web da plataforma guia.
at.js Certifique-se de que você esteja usando a at.js versão 1.1 ou posterior. Para obter informações sobre como baixar a versão mais recente do at.js, consulte Baixar o at.js. Para obter informações sobre a nova funcionalidade em cada versão do at.js, consulte Detalhes da versão do at.js.
Os clientes que usam a at.js são incentivados a usarem os tokens de resposta e a evitarem os plugins. Alguns plug-ins que dependem de métodos internos existentes na mbox.js (agora obsoleta), mas não na at.js, são entregues, mas falham.

Uso de tokens de resposta

  1. Certifique-se de que você esteja usando o SDK da Web da plataforma versão 2.6.0 (ou posterior) ou a at.js versão 1.1 (ou posterior).

    Para obter mais informações:

  2. Em Target, clique em Administração > Tokens de resposta.

  3. Ative os tokens de resposta desejados, como activity.id e offer.id.

    Os seguintes parâmetros estão disponíveis por padrão:

    Tipo Parâmetro Notas
    Perfis incorporados profile.activeActivities Retorna uma matriz do activityIds para o qual os visitantes estão qualificados. Ele é incrementado à medida que os usuários são qualificados. Por exemplo, em uma página com dois Target solicitações que entregam duas atividades diferentes, a segunda solicitação inclui ambas as atividades.
    profile.isFirstSession Retorna "true" ou "false."
    profile.isNewSession Retorna "true" ou "false."
    profile.daysSinceLastVisit Retorna o número de dias, desde a última visita do visitante.
    profile.tntId Retorna tntID do visitante
    profile.marketingCloudVisitorId Retorna a ID do visitante da Experience Cloud.
    profile.thirdPartyId Retorna a ID de terceiros do visitante.
    profile.categoryAffinity Retorna a categoria favorita do visitante.
    profile.categoryAffinities Retorna uma matriz das 5 categorias principais do visitante como sequências de caracteres.
    Atividade activity.name
    activity.id
    experience.name
    experience.id
    offer.name
    offer.id
    Detalhes da atividade atual.
    Observe que os valores para parâmetros de oferta são avaliados no nível da experiência.
    Geografia geo.country
    geo.state
    geo.city
    geo.zip
    geo.dma
    geo.domainName
    geo.ispName
    geo.connectionSpeed
    geo.mobileCarrier
    Consulte Geo para obter mais informações sobre como usar o direcionamento geográfico nas atividades.
    Método de alocação de tráfego
    (Aplica-se a Direcionamento automático e Automated Personalization somente atividades.)
    experience.trafficAllocationId Retorna 0 se um visitante recebeu uma experiência de estar em tráfego de "controle" e 1 se um visitante recebeu uma experiência da distribuição de tráfego de "direcionado".
    experience.trafficAllocationType Retorne "controle" ou "direcionado".

    Os atributos do perfil do usuário e dos Atributos do cliente também são exibidos na lista.

    OBSERVAÇÃO

    Os parâmetros com caracteres especiais não são exibidos na lista. Somente caracteres alfanuméricos e sublinhados são suportados.

  4. (Condicional) Para usar um parâmetro de perfil como um token de resposta, mas o parâmetro não foi passado por um Target e, portanto, não foi carregada no Target Você pode usar a Adicionar token de resposta para adicionar o perfil à interface do usuário.

    Clique em Adicionar token de resposta, forneça o nome do token e clique em Ativar.

  5. Crie uma atividade.

Analise as respostas e leia os tokens de resposta

O processo usado para acompanhar Target as respostas e os tokens de resposta de leitura diferem dependendo se você tem uma Platform Web SDK ou implementação da at.js.

SDK da Web da Adobe Experience Platform Platform Web SDK uso da classe Handle object

Use a classe Handle object , que tem um objeto de metadados e um objeto de dados que deve ser ouvido Target e leia os tokens de resposta.

O exemplo de resposta a seguir adiciona um Platform Web SDK manipulador de evento personalizado diretamente para a página HTML (a tabela explica os objetos usados no código):

Objeto Informações
Tipo - Personalization.decision Se a decisão foi tomada pela Target ou provedor Offer Decisioning.
DecisionProvider - TGT TGT-Target. Target fornece os metadados e valores do token de resposta para a página.
Meta Metadados passados para a página.
Dados Valores dos metadados passados para a página.
<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>

Selo at.js at.js usando eventos personalizados

Use Eventos personalizados da at.js para ouvir a resposta da e ler os tokens de resposta.Target

O código de amostra a seguir adiciona um manipulador de evento personalizado da at.js diretamente na 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>

Perguntas frequentes de tokens de resposta

Qual função é necessária para ativar ou desativar os tokens de resposta?

Os tokens de resposta podem ser ativados ou desativados somente por usuários com a variável Target Administrador função.

O que acontece se eu estiver correndo Platform Web SDK 2.6.0 (ou anterior)?

Você não tem acesso aos tokens de resposta.

O que acontece se eu estiver executando a at.js 1.0 (ou anterior)?

Você vê os tokens de resposta, mas a at.js não pode usá-los.

Target ClassicPosso fazer com que ambos plugins e tokens de resposta do fiquem ativos ao mesmo tempo?

Os plugins e os tokens de resposta estão disponíveis em paralelo; no entanto, os plug-ins serão descontinuados no futuro.

Os tokens de resposta são entregues por meio de todos Target ou somente por Target respostas que fornecem uma atividade do ?

Os tokens de resposta são entregues somente por meio de Target respostas que fornecem uma atividade do .

My Target Classic incluiu JavaScript. Como replico a funcionalidade dele usando os tokens de resposta?

Ao migrar para tokens de resposta, esse tipo de JavaScript deve ser mantido em sua base de código ou solução de gerenciamento de tags. Você pode acionar esse código usando Platform Web SDK ou at.js eventos personalizados e transmita os valores do token de resposta para suas funções JavaScript.

Por que meu parâmetro de perfil/Atributos do cliente não é exibido na lista de tokens de resposta?

Target normalmente atualiza parâmetros a cada 15 minutos. Essa atualização depende da ação do usuário e os dados são atualizados somente quando você exibe a página de tokens de resposta. Se os parâmetros não forem exibidos na lista de token de resposta, Target O ainda não atualizou os dados.

Além disso, se o parâmetro contém caracteres que não sejam alfanuméricos ou qualquer símbolo que não seja sublinhados, o parâmetro não aparecerá na lista. Atualmente, somente caracteres alfanuméricos e sublinhados são aceitos.

O token de resposta ainda fornece conteúdo se usar um script de perfil excluído ou um parâmetro de perfil?

Os tokens de resposta extraem as informações dos perfis de usuário e, em seguida, as entregam. Se você excluir um script ou parâmetro de perfil, isso n~so significa que as informações foram removidas dos perfis de usuário. Os perfis de usuário ainda têm dados correspondentes ao script de perfil. O token de resposta continua a fornecer o conteúdo. Para usuários que não têm essas informações salvas em seus perfis ou para novos visitantes, esse token não é entregue porque os dados não estão presentes em seus perfis.

Target não desliga o token automaticamente. Se você excluir o script de perfil e não desejar mais que ele seja entregue, você deve desligar o token sozinho.

Renomeei meu script de perfil, mas por que o token está usando o script ainda ativo com o nome herdado?

Conforme mencionado acima os tokens de resposta trabalham nas informações de perfil salvas pelos usuários. Mesmo que você tenha renomeado seu script de perfil, os usuários que visitaram seu site têm o valor de script de perfil antigo salvo em seus perfis. O token continua a escolher o valor antigo que já está salvo nos perfis do usuário. Se você não deseja entregar o conteúdo no novo nom, deve desligar o token anterior e ligar o novo token.

Se meus atributos foram alterados, quando eles serão removidos da lista?

TargetO realiza uma atualização de atributos em intervalos regulares. Qualquer atributo que não esteja ligado é removido durante a próxima atualização. No entanto, se você tiver um atributo que foi ativado e removido, esse script não será removido da lista de atributos até que ele seja desligado. Como exemplo, você removeu um script de perfil que era usado como um token. TargetO remove somente os atributos desligados na lista, quando são excluídos ou renomeados.

Enviar dados para o Google Analytics

As seções a seguir descrevem como enviar Target dados para o Google Analytics. Os dados enviados por tokens de resposta também podem ser enviados para outras integrações de terceiros.

Selo AEP Envio de dados para o Google Analytics por meio do SDK da Web da plataforma

O Google Analytics pode enviar dados por meio do SDK da Web da plataforma versão 2.6.0 (ou posterior), adicionando o seguinte código na página HTML.

OBSERVAÇÃO

Verifique se o par de valor da chave do token de resposta está sob a variável alloy(“sendEvent” objeto.

<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>

Selo at.js Envio de dados para o Google Analytics via at.js

O Google Analytics pode enviar dados via at.js ao adicionar o seguinte código na página 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>

Depuração

As seções a seguir fornecem informações sobre como depurar tokens de resposta:

Selo at.js Google Analytics e depuração

O código a seguir permite depurar usando o 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]; }); 
  } 

Depuração usando o equivalente do plugin ttMeta

O equivalente do plugin ttMeta para fins de depuração pode ser criado ao adicionar o seguinte código à 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>

at.js Vídeo de treinamento: Tokens de resposta e eventos personalizados da at.js

O vídeo a seguir explica como usar tokens de resposta e eventos personalizados da at.js para compartilhar informações de perfil do Target para sistemas de terceiros.

OBSERVAÇÃO

O Target Administração interface do usuário do menu (anteriormente Configuração) foi reprojetado para fornecer melhor desempenho, reduzir o tempo de manutenção necessário ao lançar novos recursos e melhorar a experiência do usuário em todo o produto. As informações do vídeo seguinte estão corretas; no entanto, as opções estão em locais ligeiramente diferentes.

O vídeo menciona option.name e option.id, que foram substituídas por offer.name e offer.id, respectivamente.

Nesta página