Esta é a documentação do Recommendations AI, da Pesquisa de varejo e do novo Console do Varejo. Para usar a pesquisa de varejo na fase GA restrita, entre em contato com a equipe de vendas do Cloud.

Se você estiver usando apenas o Recommendations AI, permaneça no Console do Recommendations e consulte a documentação do Recommendations AI.

Como gerenciar eventos de usuários

Esta página descreve como visualizar e excluir eventos de usuários. Para informações sobre como gravar eventos do usuário à medida que elas acontecem, consulte Como gravar eventos do usuário em tempo real. Para importar dados de eventos do usuário de eventos passados, consulte Como importar eventos históricos do usuário.

Como visualizar informações de eventos do usuário agregadas

É possível ver o número de eventos do usuário gravados no seu projeto na Evento guia no console do Varejo Dados página de dados. As métricas serão exibidas cerca de 24 horas após o primeiro upload dos eventos para o varejo.

Estatísticas de eventos do usuário de varejo

Como remover eventos do usuário

Normalmente, você deve deixar os eventos do usuário no local depois que eles forem gravados. Não é recomendável limpar eventos.

A limpeza de um evento pode levar vários dias para ser concluída. Se você planeja redefinir eventos de usuário por completo, considere criar um novo projeto.

Se você tiver eventos de usuário que não foram gravados corretamente e precisa removê-los, use o método userEvents.purge.

Especifique os eventos que você quer remover usando uma string de filtro. Isso é compatível com a exclusão seletiva de eventos do usuário, filtrando os campos eventTime, eventType, visitorID e userID.

Como não é possível desfazer a exclusão, teste a string do filtro executando uma simulação antes de excluir eventos do usuário. O campo force é definido como false por padrão. essa configuração retornará o número de eventos a serem excluídos sem realmente excluí-los. Quando você estiver pronto para excluir os eventos do usuário, defina o campo force como true.

curl

Este exemplo filtra um período, que precisa usar o formato de data Zulu Time. O campo force está definido como false.

curl -X POST \
  -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data '{
    "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"",
    "force":"false"
  }' \
  "https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/userEvents:purge"

Você receberá um objeto de resposta com esta aparência, em que purge-user-events-54321 é o ID da operação:

{
  "name": "projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/operations/purge-user-events-54321"
}

Este exemplo solicita o status da operação:

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/operations/OPERATION_ID"

Exemplo de status da operação:

{
  "name": "projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/operations/OPERATION_ID",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.retail.v2.PurgeUserEventsResponse",
    "purgedEventsCount": "1"
  }
}

Definir o campo force como true força a exclusão.

curl -X POST \
  -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data '{
    "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"",
    "force":"true"
  }' \
"https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/userEvents:purge"

Java

public static String purgeUserEvents(
    String filter)
    throws IOException, InterruptedException, ExecutionException {
  UserEventServiceClient userEventsClient = getUserEventServiceClient();

  PurgeUserEventsRequest request = PurgeUserEventsRequest.newBuilder()
      .setParent(DEFAULT_CATALOG_NAME)
      .setFilter(filter)
      .setForce(true)
      .build();

  String operationName = userEventsClient
      .purgeUserEventsAsync(request).getName();

  userEventsClient.shutdownNow();
  userEventsClient.awaitTermination(2, TimeUnit.SECONDS);

  return operationName;
}

Como usar o filtro de eventos do usuário

Você pode filtrar os eventos do usuário que serão excluídos.

O filtro é uma string que contém uma ou mais das seguintes restrições:

  • eventTime

    Oferece um carimbo de data/hora para vincular os eventos a serem excluídos. Esse filtro pode ser especificado uma ou duas vezes, com um símbolo maior (>) ou menor que (<). O tempo limitado precisa ser um bloco único e contíguo.

  • eventType

    Restringe os eventos a serem excluídos para um único tipo de evento.

  • visitorID

    Restringe os eventos a serem excluídos a um único ID de visitante.

  • userID

    Restringe os eventos a serem excluídos a um único ID do usuário.

Apenas os eventos de usuário que satisfaçam a todas as restrições serão excluídos.

Para excluir todos os eventos do usuário do tipo add-to-cart que foram registrados em 1o de fevereiro de 2019 ou após essa data, forneça a seguinte string de filtro:

eventTime > "2019-02-01T00:00:00Z" eventType = add-to-cart