Introdução ao Retail Search - Como importar eventos do usuário

 Como dito antes, o Retail Search usa a API Retail do GCP.

Abaixo iremos mostrar o passo-a-passo de como importar os eventos de usuário utilizando o Cloud Storage ou o BigQuery.

É importante mencionar que todos os passos iniciam-se na opção Retail no console do GCP:



Cenário 1 - Cloud Storage

Caso a empresa que deseja utilizar o retail search e as informações estejam no Cloud Storage é preciso seguir os passos abaixo:

  1. Clique em Importar catálogo de produtos para abrir o painel Importar dados.
  1. Escolha Catálogo de produtos como fonte de dados.
  1. Selecione a ramificação para fazer o upload do catálogo.
  1. Escolha Esquema de catálogos de produtos de varejo como o esquema.
  1. Insira o local dos seus dados no Cloud Storage (bucket e pasta).
  1. Clique em Importar.


Cenário 2 - BigQuery

Caso a empresa que deseja utilizar o retail search e as informações estejam no BigQuery é preciso seguir os passos abaixo:

  1. Clique em Importar eventos de usuário para abrir o painel Importar dados.
  1. Escolha Eventos do usuário.
  1. Selecione BigQuery como a fonte de dados.
  1. Escolha Esquema de eventos de usuário de varejo ou Google Analytcs 360 como esquema.
  1. Insira a tabela do BigQuery em que seus dados estão localizados.
  1. Clique em Importar.


Além destes métodos também é possível pegar as informação em tempo real.

Para isso podemos usar usando JavaScript, enviar eventos diretamente para a API do servidor de back-end ou usando uma tag do Gerenciador de tags.

JavaScript:

Podemos utilizar o código abaixo para enviar o evento:

<script type="text/javascript">
var user_event = {
  "eventType" : "detail-page-view",
  "visitorId": "visitor-id",
  "userInfo": {
      "userId": "user-id"
  },
  "attributionToken": "attribution-token",
  "experimentIds": "experiment-id",
  "productDetails": [
      {
        "product": {"id": "123"}
      }
  ]
};

var _gre = _gre || [];
// Credentials for project.
_gre.push(['apiKey', 'api-key']);
_gre.push(['logEvent', user_event]);
_gre.push(['projectId', 'project-id']);
_gre.push(['locationId', 'global']);
_gre.push(['catalogId', 'default_catalog']);

(function() {
  var gre = document.createElement('script'); gre.type = 'text/javascript'; gre.async = true;
  gre.src = 'https://www.gstatic.com/retail/v2_event.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gre, s);
})();

</script>

API:

Para enviar os dados diretamente para api utilizaremos um metodo POST:

export GOOGLE_APPLICATION_CREDENTIALS=/tmp/my-key.json
curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
         'eventType': 'detail-page-view',
         'visitorId': 'visitor0',
         'eventTime': '2020-01-01T03:33:33.000001Z',
         'experimentIds': ['321'],
         'attributionToken': 'ABC',
         'attributes': {
            'example_text_attribute': {
              'text': ['text_1', 'text_2']
            },
            'example_number_attribute': {
               'numbers': [3.14, 42, 1.2345]
            }
         },
         'productDetails': [{
           'product': {
             'id': 'abc'
           }
          }],
         'userInfo': {
           'userId': 'abc',
           'ipAddress': '8.8.8.8',
           'userAgent': 'Mozilla/5.0',
           'directUserRequest': true
         },
         'uri': 'http://example',
         'referrerUri': 'http://example',
         'pageViewId': 'currentPageUri'
}" \
"https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:write"

Gerenciador de tags:

Com o Gerenciador de tags podemos gerenciar várias tags sem muitas alterações de código no servidor do site.

A tag do Cloud Retail é compatível com o Google Analytics 4 e o Google Analytics.

Vai ser necessário configurar Variável - Comércio eletrônico ao criar a tag do Cloud Retail ou preencher manualmente o código da camada de dados do seu site depois de criá-la.

O comércio eletrônico do Google Analytics é uma configuração adicional para o Google Analytics que transmite títulos de produtos, códigos, preços, detalhes de transações e outros dados estruturados de comércio eletrônico para o Google Analytics. A API Retail pode usar automaticamente a camada de dados de comércio eletrônico do Google Analytics.

Referências:

https://cloud.google.com/retail/docs/setting-up?hl=pt-br#merchant-center-sync

https://cloud.google.com/retail/docs/record-events?hl=pt-br

https://cloud.google.com/retail/docs/record-events?hl=pt-br#client-id