Executar testes de recursos com atributos

Resumo das etapas

  1. Ativar decisão no dispositivo para sua organização
  2. Criar um Teste A/B atividade
  3. Defina seus A e B
  4. Adicionar um público
  5. Definir alocação de tráfego
  6. Definir a distribuição do tráfego para variações
  7. Configurar relatórios
  8. Adicionar métricas para KPIs de rastreamento
  9. Implementar código para executar testes de recursos com atributos
  10. Implementar código para rastrear eventos de conversão
  11. Ative seus testes de recursos com atributos
NOTE
Suponha que você seja uma empresa de comércio eletrônico varejista. Você deseja aumentar a taxa de conversão quando os clientes navegarem e classificarem o catálogo de produtos. Você tem uma hipótese de que certos algoritmos de classificação e estratégias de paginação produzem resultados melhores do que outros. Para testar essa teoria, você decide executar um teste de recurso que envolve o redesign do widget de classificação usando diferentes opções de classificação para os usuários finais. Certifique-se de que esse teste de recurso seja executado com latência próxima de zero para que ele não afete negativamente as experiências do usuário e distorça os resultados.

1. Ativar decisão no dispositivo para sua organização

A ativação da decisão no dispositivo garante que uma atividade A/B seja executada com latência próxima a zero. Para ativar esse recurso, navegue até Administração > Implementação > Detalhes da conta in Adobe Targete habilite o Decisão no dispositivo alternar.

imagem alt

NOTE
Você precisa ter um Administrador ou Aprovador função do usuário para ativar ou desativar o Decisão no dispositivo alternar.

Depois de ativar o Decisão no dispositivo alternar, Adobe Target começa a gerar artefatos de regra para o seu cliente.

2. Criar um Teste A/B atividade

  1. Entrada Adobe Target, navegue até o Atividades e selecione Criar atividade > Teste A/B.

    imagem alt

  2. No Criar atividade de teste A/B modal, deixe o padrão Web selecionada (1), selecione Formulário como compositor de experiências (2), selecione Espaço de trabalho padrão com Sem restrições de propriedade (3) e clique em Próxima (4).

    imagem alt

3. Defina seus A e B

  1. No Experiências etapa de criação da atividade, forneça um nome para a atividade (1) e adicione uma segunda experiência, Experiência B, clicando no link Adicionar experiência (2) botão. Digite o nome do local (3) no aplicativo onde deseja executar o teste de recurso com atributos. No exemplo mostrado abaixo, product-results-page é o local definido para a Experiência A. (Também é o local definido para a Experiência B.)

    imagem alt

    Experiência A conterá o JSON que sinaliza à lógica comercial o seguinte:

    • Inicie o recurso de algoritmo de classificação por meio de test_sorting sinalizador de recurso
    • Execute o algoritmo de classificação recomendado definido no sorting_algorithm _**_attribute
    • Retorne 50 produtos por página, conforme definido pela estratégia de paginação definida no pagination_limit
  2. Na Experiência A, clique para alterar o conteúdo de Conteúdo padrão ao JSON selecionando Criar oferta JSON conforme indicado abaixo (1).

    imagem alt

  3. Defina o JSON com test_sorting, sorting_algorithm, e pagination_limit sinalizadores e atributos que serão usados para iniciar o algoritmo de classificação recomendado com um limite de paginação de 50 produtos.

    note note
    NOTE
    Quando Adobe Target agrupa um usuário para ver a Experiência A, o JSON com os atributos definidos no exemplo será retornado. Em seu código, será necessário verificar o valor do sinalizador de recurso test_sorting para ver se o recurso de classificação deve ser ativado. Em caso afirmativo, você usará o valor recomendado de sorting_algorithm atributo para mostrar os produtos recomendados na exibição da lista de produtos. O limite de produtos a serem exibidos para seu aplicativo será de 50, pois esse é o valor do pagination_limit atributo.

    imagem alt

    Experiência B definirá o JSON que sinaliza a lógica de negócios para fazer o seguinte:

    • Iniciar o recurso de algoritmo de classificação por meio do sinalizador de recurso test_sorting
    • Execute o best_sellers algoritmo de classificação definido na variável sorting_algorithm _**_attribute
    • Retorne 50 produtos por página, conforme definido pela estratégia de paginação definida no pagination_limit
    note note
    NOTE
    Quando Adobe Target agrupa um usuário para ver a Experiência B, o JSON com os atributos definidos no exemplo será retornado. Em seu código, será necessário verificar o valor do sinalizador de recurso test_sorting para ver se o recurso de classificação deve ser ativado. Em caso afirmativo, você usará o best_sellers valor de sorting_algorithm atributo para mostrar os produtos mais vendidos na exibição da lista de produtos. O limite de produtos a serem exibidos para seu aplicativo será de 50, pois esse é o valor do pagination_limit atributo.

    imagem alt

4. Adicionar um público-alvo

No Direcionamento etapa, mantenha a Todos os visitantes público-alvo. Isso permitirá entender o impacto do recurso de classificação, bem como qual algoritmo e número de itens influenciam melhor os resultados.

imagem alt

5. Definir a alocação de tráfego

Defina a porcentagem de seus visitantes em relação à qual você deseja testar os algoritmos de classificação e a estratégia de paginação. Em outras palavras, para que porcentagem de seus usuários você deseja implantar esse teste? Neste exemplo, para implantar este teste para todos os usuários conectados, mantenha a alocação de tráfego em 100%.

imagem alt

6. Definir a distribuição do tráfego para variações

Defina a porcentagem de seus visitantes que verão o algoritmo de classificação recomendado em comparação com os melhores vendedores, com um limite de 50 produtos por página. Neste exemplo, mantenha a distribuição do tráfego dividida em 50/50 entre as Experiências A e B.

imagem alt

7. Configurar relatórios

No Metas e configurações etapa, escolha Adobe Target como o Fonte dos relatórios para ver os resultados do teste A/B no Adobe Target ou escolha Adobe Analytics para visualizá-los na interface do usuário do Adobe Analytics.

imagem alt

8. Adicionar métricas para rastrear KPIs

Escolha um Métrica de objetivo para medir o teste de recurso com atributos. Neste exemplo, o sucesso se baseia no fato de o usuário comprar um produto, dependendo do algoritmo de classificação e da estratégia de paginação mostrada.

9. Implementar testes de recursos com atributos no aplicativo

Node.js
code language-js line-numbers
const TargetClient = require("@adobe/target-nodejs-sdk");
const options = {
  client: "testClient",
  organizationId: "ABCDEF012345677890ABCDEF0@AdobeOrg",
  decisioningMethod: "on-device",
  events: {
    clientReady: targetClientReady
  }
};
const targetClient = TargetClient.create(options);

function targetClientReady() {
  return targetClient.getAttributes(["product-results-page"]).then(function(attributes) {
    const test_sorting = attributes.getValue("product-results-page", "test-sorting");
    const sorting_algorithm = attributes.getValue("product-results-page", "sorting_algorithm");
    const pagination_limit = attributes.getValue("product-results-page", "pagination_limit");
  });
}
Java
code language-java line-numbers
import com.adobe.target.edge.client.ClientConfig;
import com.adobe.target.edge.client.TargetClient;
import com.adobe.target.delivery.v1.model.ChannelType;
import com.adobe.target.delivery.v1.model.Context;
import com.adobe.target.delivery.v1.model.ExecuteRequest;
import com.adobe.target.delivery.v1.model.MboxRequest;
import com.adobe.target.edge.client.entities.TargetDeliveryRequest;
import com.adobe.target.edge.client.model.TargetDeliveryResponse;

ClientConfig config = ClientConfig.builder()
    .client("testClient")
    .organizationId("ABCDEF012345677890ABCDEF0@AdobeOrg")
    .build();
TargetClient targetClient = TargetClient.create(config);
MboxRequest mbox = new MboxRequest().name("product-results-page").index(0);
TargetDeliveryRequest request = TargetDeliveryRequest.builder()
    .context(new Context().channel(ChannelType.WEB))
    .execute(new ExecuteRequest().mboxes(Arrays.asList(mbox)))
    .build();
Attributes attributes = targetClient.getAttributes(request, "product-results-page");
String testSorting = attributes.getString("product-results-page", "test-sorting");
String sortingAlgorithm = attributes.getString("product-results-page", "sorting_algorithm");
String paginationLimit = attributes.getString("product-results-page", "pagination_limit");

10. Implementar código para rastrear eventos de conversão

Node.js
code language-js line-numbers
//... Code removed for brevity

//When a conversion happens
TargetClient.sendNotifications({
    targetCookie,
    "request" : {
      "notifications" : [
        {
          type: "click",
          timestamp : Date.now(),
          id: "conversion",
          mbox : {
            name : "product-results-page"
          }
        }
      ]
    }
})
Java
code language-java line-numbers
ClientConfig config = ClientConfig.builder()
  .client("acmeclient")
  .organizationId("1234567890@AdobeOrg")
  .build();
TargetClient targetClient = TargetClient.create(config);

Context context = new Context().channel(ChannelType.WEB);

ExecuteRequest executeRequest = new ExecuteRequest();

NotificationDeliveryService notificationDeliveryService = new NotificationDeliveryService();

Notification notification = new Notification();
notification.setId("conversion");
notification.setImpressionId(UUID.randomUUID().toString());
notification.setType(MetricType.CLICK);
notification.setTimestamp(System.currentTimeMillis());
notification.setTokens(
    Collections.singletonList(
        "IbG2Jz2xmHaqX7Ml/YRxRGqipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="));

TargetDeliveryRequest targetDeliveryRequest =
    TargetDeliveryRequest.builder()
        .context(context)
        .execute(executeRequest)
        .notifications(Collections.singletonList(notification))
        .build();

TargetDeliveryResponse offers = targetClient.getOffers(request);
notificationDeliveryService.sendNotification(request);

Attributes attributes = targetClient.getAttributes(request, "product-results-page");
String testSorting = attributes.getString("product-results-page", "test-sorting");
String sortingAlgorithm = attributes.getString("product-results-page", "sorting_algorithm");
String paginationLimit = attributes.getString("product-results-page", "pagination_limit");

11. Ative seus testes de recursos com atributos

imagem alt

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3