Tokens de resposta

Os tokens de resposta permitem enviar automaticamente informações específicas do Adobe Target para a página da Web da sua marca. Essas informações podem incluir detalhes sobre atividade, oferta, experiência, perfil do 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 usar para depuração.

Os tokens de resposta permitem escolher quais variáveis (em pares de valores chave) usar e depois habilitar eles para serem enviados como parte de uma resposta Target. Você habilita uma variável usando o switch e a variável é enviada com Target respostas, que podem ser validadas em chamadas de rede. Os tokens de resposta também funcionam no modo Preview.

Uma diferença importante entre plug-ins e tokens de resposta é que os plug-ins fornecem o JavaScript à página que é executada na entrega. Os tokens de resposta, no entanto, fornecem um objeto que pode ser lido e utilizado 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.

NOTE
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
Verifique se você está 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 Platform, consulte Instalar o SDK na visão geral do SDK da Web da Platform. Para obter informações sobre a nova funcionalidade em cada versão do SDK da Web da Platform, consulte as notas de versão na visão geral do SDK da Web da Platform.
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 da at.js, consulte Baixar a 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 do que dependem de métodos internos existentes na mbox.js (descontinuada), mas não na at.js, são entregues, mas apresentam falha.

Uso de tokens de resposta section_A9E141DDCBA84308926E68D05FD2AC62

  1. Verifique se você está usando o Platform Web SDK versão 2.6.0 (ou posterior) ou a at.js versão 1.1 (ou posterior).

    Para obter mais informações:

    • SDK da Web da Platform: consulte Instalar o SDK no guia de visão geral do SDK da Web da Platform.
    • at.js: consulte Baixar at.js.
  2. Em Target, clique em Administration > Response Tokens.

    response_tokens-new image

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

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

    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
    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 duas solicitações Target que fornecem 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 dos parâmetros de oferta são avaliados no nível de 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 somente a atividades Auto-Target e Automated Personalization.)
    experience.trafficAllocationId Retorna 0 se um visitante recebeu uma experiência por estar no tráfego de "controle" e 1 se um visitante recebeu uma experiência pela distribuição de tráfego "direcionada".
    experience.trafficAllocationType Retornar "controle" ou "direcionado".

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

    note note
    NOTE
    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 token de resposta, mas o parâmetro não foi transmitido por uma solicitação Target e, portanto, não foi carregado na interface do usuário Target, você pode usar o botão Add Response Token para adicionar o perfil à interface do usuário.

    Clique em Add Response Token, forneça o nome do token e clique em Activate.

    response_token_create imagem

  5. Crie uma atividade.

Ouvir respostas e ler tokens de resposta

O processo usado para ouvir respostas do Target e ler tokens de resposta difere dependendo se você tem uma implementação do Platform Web SDK ou do at.js.

Selo do Adobe Experience Platform Web SDK Platform Web SDK usando a classe de objeto Handle platform-web-sdk

Use a classe de objeto Handle, que tem um objeto de metadados e um objeto de dados para escutar respostas Target e ler os tokens de resposta.

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

Objeto
Informações
Tipo - Personalization.decision
Se a decisão foi tomada pelo Target ou pelo provedor do Offer decisioning.
Provedor de decisão - TGT
TGT-Target. Target fornece os valores e metadados do token de resposta à 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 da at.js da at.js usando eventos personalizados

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

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 sobre token de resposta section_3DD5F32C668246289CDF9B4CDE1F536D

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

Os tokens de resposta só podem ser ativados ou desativados por usuários com a função Target Administrator.

O que acontece se eu estiver executando o 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.

É possível ter Target Classic plug-ins e tokens de resposta ativos ao mesmo tempo?

Os plug-ins 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 todas as Target respostas ou somente por Target respostas que fornecem uma atividade?

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

Meu plug-in Target Classic incluiu o 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 enviar os tokens de resposta às suas funções do JavaScript.

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

O 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 seus parâmetros não forem exibidos na lista de tokens de resposta, Target ainda não atualizou os dados.

Além disso, se o parâmetro contiver qualquer coisa exceto caracteres não alfanuméricos ou qualquer símbolo diferente de sublinhado, o parâmetro não aparecerá na lista. Atualmente, somente caracteres alfanuméricos e sublinhados são aceitos.

O token de resposta ainda fornecerá 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. Embora você tenha renomeado o script de perfil, os usuários que visitaram o site têm o valor do script de perfil antigo salvo nos perfis. O token continua a coletar 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?

O Target executa uma atualização de atributos em intervalos regulares. Qualquer atributo que não esteja ativado é 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 você o desative. Como exemplo, você removeu um script de perfil que era usado como um token. Target remove da lista apenas os atributos desativados quando eles são excluídos ou renomeados.

Enviar dados para o Google Analytics

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

Selo da AEP Envio de dados para o Google Analytics via SDK da Web da plataforma

Os Google Analytics podem ser enviados por meio do SDK da Web da plataforma versão 2.6.0 (ou posterior), adicionando o seguinte código na página de HTML.

NOTE
Verifique se o par de valores da chave do token de resposta está sob o objeto alloy("sendEvent".
<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>

selo da at.js Envio de dados para o Google Analytics via at.js section_04AA830826D94D4EBEC741B7C4F86156

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

Depuração

As seções a seguir fornecem informações sobre a depuração de tokens de resposta:

selo da at.js Google Analytics e depuração

O código a seguir permite depurar usando 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>

Depuração usando o equivalente do plug-in 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>

Vídeo de treinamento do at.js : Tokens de resposta e Eventos personalizados do at.js section_3AA0A6C8DBD94A528337A2525E3E05D5

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

NOTE
A interface do usuário de menu do Target Administration (antigo Setup) foi reprojetada 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 no produto. As informações do vídeo a seguir estão corretas; no entanto, as opções estão em locais um pouco diferentes.
O vídeo menciona option.name e option.id, que foram substituídos por offer.name e offer.id, respectivamente.
recommendation-more-help
3d9ad939-5908-4b30-aac1-a4ad253cd654