Skip to main content

O que é a integração via Bucket?

A integração via Bucket é o método de integração para operações enterprise que já centralizam seus dados em um data warehouse (ex.: BigQuery). Em vez de usar uma integração nativa ou a API, o cliente exporta periodicamente os dados de vendas e de eventos de jornada (web e app) para um bucket na nuvem (AWS S3 ou Google Cloud Storage) e a Nemu lê esses arquivos diretamente de lá.

Acesso ao bucket

A Nemu cria uma role IAM dedicada ao cliente e informa o ARN (ex.: arn:aws:iam::<conta-nemu>:role/<cliente>-s3-bucket-access). O cliente então:
  1. Libera o acesso de leitura dessa role no bucket (bucket policy);
  2. Confirma com a Nemu o nome do bucket, a pasta (prefixo) e a região (ex.: us-east-1).
Alternativamente, o cliente pode criar a role do lado dele e compartilhar o acesso com a Nemu.

Formato dos arquivos

O formato utilizado é o NDJSON (um objeto JSON por linha): ele representa estruturas aninhadas (como a lista de products) sem ambiguidade e é exportado nativamente pelo BigQuery.
O envio em CSV é possível, mas o layout do arquivo precisa ser validado com a Nemu antes de iniciar o envio.
No NDJSON o tipo do valor importa: número vai sem aspas (ex.: "campaign_id": 120210948573, "netValue": 699.99) e texto vai com aspas (ex.: "content": "CARROSSEL_1080x1080"). No CSV tudo é texto, a Nemu converte pelo tipo do campo no mapeamento. Se o tipo vier errado (ex.: número como texto), o mapeamento acusa antes de importar.

Estrutura de pastas no bucket

Dentro do prefixo combinado, organize os arquivos por jornada e por data. As pastas das jornadas são sales/ (vendas) e events/ (eventos de jornada):
A Nemu roda as importações automaticamente, em horários de baixo pico. Você não precisa agendar nada.

Schema de vendas

Cada registro representa um pedido (ou um pedido por seller, no caso de marketplaces, veja Multi-seller). O products[] é opcional, mas se enviado precisa de ao menos 1 item.

Exemplo

Um pedido com dois produtos:
Pedido com dois produtos

Campos do pedido

Campos de cada produto (products[])

Multi-seller (marketplaces)

Para operações marketplace, cada pedido filho (por seller) é enviado como um registro próprio, ligado ao pedido “pai” pelos campos: O pedido pai não precisa ser enviado nem ter status próprio: o status vem em cada filho, e a Nemu agrupa por parentOrderId, somando ou subtraindo cada filho conforme o status (entregue conta, cancelado ou devolvido sai). Esses campos são opcionais: quem não é marketplace simplesmente não envia parentOrderId. No exemplo abaixo, o pedido 155480144 tem itens de dois sellers e é enviado como dois pedidos filhos:
Pedido filho 1
Pedido filho 2
No arquivo NDJSON, cada um desses registros ocupa uma única linha. A formatação acima é apenas para leitura.
Sub-pedidos do mesmo pedido pai podem ter status diferentes (ex.: um seller paid e outro cancelled). Envie o status real de cada sub-pedido.

Schema de eventos de jornada

Os eventos de jornada (web e app) seguem o padrão de exportação do GA4/BigQuery. Cada registro representa um evento. O user_pseudo_id quase sempre existe; o user_id só quando o usuário fez login. O transaction_id costura o evento de compra com a venda.

Exemplo

Um evento de compra com atribuição completa:
Evento purchase

Campos do evento

O transaction_id do evento purchase deve ser o mesmo transactionId enviado no arquivo de vendas. É ele que conecta a jornada de navegação à venda dentro da Nemu.

Configuração de UTMs

Nesta integração, a configuração de UTMs não segue o padrão do onboarding da Nemu. Como os campos utm_source, utm_medium, utm_campaign e utm_content geralmente já estão em uso pelo GA4 do cliente e não podem ser alterados, toda a atribuição da Nemu (origem, campanha, conjunto e criativo) é empacotada em um único utm_term, que o GA4 captura e repassa para a Nemu. Veja o passo a passo por plataforma (Meta, Google e TikTok) em Configuração de UTMs.

Checklist de validação

Após o início do envio dos arquivos, cliente e Nemu validam juntos os dados carregados na plataforma:
  1. Métodos de pagamento: todos os métodos do cliente estão mapeados corretamente para billet, credit_card, pix ou others;
  2. Receita: valores de receita líquida (netValue) e bruta (grossValue) conferem com a plataforma do cliente;
  3. Produtos: nome, quantidade e valores de cada produto estão corretos;
  4. Pedidos: transactionId e receita de cada pedido conferem;
  5. UTMs: o utm_term está chegando no padrão de atribuição empacotado da Nemu (veja Configuração de UTMs).
A integração só é considerada concluída após todos os itens do checklist serem validados pelos dois lados. Divergências de receita ou de mapeamento de pagamento devem ser corrigidas na origem (exportação do cliente) antes do go-live.