Skip to main content

Changelog do DataLayer

Este documento reúne o histórico de mudanças relevantes nos eventos do data layer do Motor Niara (OTA Builder).

O objetivo é ajudar quem consome esses eventos (Google Tag Manager, Google Analytics, BI) a entender o que mudou entre uma configuração e outra, principalmente ao migrar de otabuilder_v1 para otabuilder_v2 ou ao investigar diferenças de payload entre períodos.

As referências entre parênteses (ex: `#222243`) apontam para o tíquete/US interno que originou a mudança. O campo **Eventos** indica quais eventos do data layer tiveram o payload afetado.

[13/07/2026] - Correções e novos eventos

  • Correção de nomenclatura (Eventos: ecommerceChain, ecommerceSearch, ecommerceAddToCart, ecommerceRemoveFromCart, ecommerceCheckout, ecommercePurchase)

    O campo isRemark, que havia sido introduzido como isremark (minúsculo) nesses eventos, é padronizado de volta para isRemark (camelCase) (#262119).

  • Correção do item_id no Purchase (Evento: ecommercePurchase)

    O item_id da acomodação estava usando o localizador da reserva; corrigido para usar o ID do tipo de quarto (roomTypeId), consistente com o significado de item_id nos demais eventos (#262114).

  • Correção no cálculo de discount (Eventos: ecommerceSearch, ecommerceAddToCart, ecommerceRemoveFromCart, ecommerceCheckout (Passos 1, 2 e 3), ecommercePurchase)

    O desconto estava somando o discountBreakdown de todas as reservas do pedido em vez de apenas da reserva/item atual. Padronizado: todos esses eventos agora calculam discount somando o discountBreakdown do próprio item; o campo legado discounts deixa de ser usado como fonte desse valor (#262115).

  • Novo evento login (Evento: login, novo)

    Disparado quando o usuário realiza login no Motor Niara (por código, usuário/senha ou provedor de identidade), com method indicando o meio utilizado (CODE, OAUTH2, USER_PASSWORD ou NIARA_ACCOUNT) (#262120).

  • Novo evento sign_up (Evento: sign_up, novo)

    Disparado quando o usuário se cadastra via formulário interno da aplicação, com method indicando o meio de cadastro (hoje, NIARA_ACCOUNT) (#262120).

  • Evento exception com contexto de hotel (Evento: exception)

    O evento de erro passa a incluir hotelId, hotelName, chainId, chainName e isRemark, que antes não eram enviados nesse evento (#262117).


[09/2025 - 06/2026] Evolução do otabuilder_v2

  • Atribuição cross-domain para o widget

    Novas funções para capturar e propagar clientId/sessionId do GA4 entre o site do hotel e o Motor Niara, sem alterar os eventos de e-commerce existentes (#235506, 02/10/2025).

  • isRemark passa a ser preenchido de fato (Eventos: ecommerceChain, ecommerceSearch, ecommerceAddToCart, ecommerceRemoveFromCart, ecommerceCheckout (Passos 1, 2 e 3), ecommercePurchase)

    Antes sempre null, o indicador de remarketing passa a ser enviado corretamente nesses eventos (#236475, 28/11/2025).

  • Suporte a buscas "Long Stay" (Eventos: ecommerceChain, ecommerceSearch)

    numberAdults, numberChildren e numberRooms passam a retornar null (em vez de erro) quando a busca não usa o formato tradicional de quartos (#251991, 24/03/2026).

  • Rastreamento de experiências (add-ons) (Eventos: ecommerceAddToCart, ecommerceRemoveFromCart, ecommerceCheckout (Passos 1, 2 e 3), ecommercePurchase)

    Novos disparos de ecommerceAddToCart/ecommerceRemoveFromCart com item_category: "EXTRA" para experiências adicionadas ao carrinho; os itens de experiência passam a aparecer também nos eventos de checkout e no Purchase (#253376, 16/04/2026).

  • Múltiplas formas de pagamento (Eventos: ecommerceCheckout (Passo 3), ecommercePurchase)

    ecommerce.payment_type passa a concatenar todas as formas de pagamento usadas com " / " (antes considerava só a primeira), somando "POINTS" quando há uso de pontos/cashback; novo campo ecommerce.payments detalha cada pagamento (type, value, currency) (#253376, 16/04/2026).

  • Preço do item como média diária (Eventos: ecommerceChain, ecommerceSearch)

    price passa a representar o preço médio por noite (antes era o valor total) e quantity passa a refletir o número real de noites (antes fixo em 1) (#253376, 16/04/2026).

  • Correção no evento de pagamento (Passo 2) (Evento: ecommerceCheckout (Passo 2 - Pagamento))

    Itens de experiência não estavam sendo enviados corretamente por um parâmetro ausente na função; corrigido, além de completar campos que faltavam nesses itens (niaraChainId, checkIn/checkOut) (#257197, 29/05/2026).

  • Novo evento ecommerceNoResults (Evento: ecommerceNoResults, novo)

    Disparado quando uma busca (ou refresh do carrinho) não retorna quartos disponíveis, com reason (motivo da indisponibilidade) e deviceType (#260090, 26/06/2026).

  • ecommerceNoResults com dados reais (Evento: ecommerceNoResults)

    deviceType (mobile/desktop) e reason[] deixam de ser placeholders e passam a refletir a restrição de disponibilidade real retornada pelo motor, com fallback genérico (status/code "NO_RESULTS") quando não há detalhamento (#260090, 03/07/2026).


[05/2025 - 09/2025] Introdução do otabuilder_v2

Antes desse período, o data layer só existia na versão otabuilder_v1, com nomes de evento fixos e um conjunto bem mais limitado de dados do usuário.

  • Nova versão configurável do datalayer (Eventos: ecommerceHomepage, ecommerceChain, ecommerceSearch, ecommerceCheckout (Passos 1, 2 e 3), ecommercePurchase, exception)

    O campo versionBE, antes fixo em "otabuilder_v1", passa a ser dinâmico (setDatalayerVersion), permitindo configurar otabuilder_v2 por storefront no cadastro de páginas (#229156).

  • Renomeação de eventos de busca (Eventos: ecommerceChain, ecommerceSearch)

    Com otabuilder_v2 ativo: o evento antes chamado ecommerceSearch (listagem por destino/cadeia) passa a se chamar ecommerceChain, e o evento ecommerceHotelDetails (detalhes do hotel) passa a se chamar ecommerceSearch (#222243).

  • Ajustes em ecommercePurchase, ecommerceAddToCart, ecommerceRemoveFromCart e ecommerceCheckout (Eventos: ecommerceChain, ecommerceSearch, ecommerceAddToCart, ecommerceRemoveFromCart, ecommerceCheckout (Passos 1, 2 e 3), ecommercePurchase)

    Reorganização de campos e comentários para deixar claro o que é enviado apenas pela Niara (niaraHotelId, niaraChainId) versus o que segue o formato originado no Omnibees (#222243).

  • Envio do localizador da reserva (Evento: ecommercePurchase)

    ecommerce.transaction_id (e item_id da acomodação no Purchase) passam a usar o localizador real da reserva, inclusive em reservas com múltiplos quartos (#222914).

  • Campo ecommerce.value no Checkout e consistência de dados do comprador (Eventos: ecommerceCheckout (Passos 1, 2 e 3))

    Novo campo ecommerce.value no início do checkout e maior consistência dos dados do comprador entre os três passos (#222916).

  • Expansão massiva dos dados de usuário (Eventos: ecommerceChain, ecommerceSearch, ecommerceAddToCart, ecommerceCheckout (Passos 1, 2 e 3), ecommercePurchase)

    Novos campos userTel, userNationality, userCountry, userAddressCity/Complement/District/Number/State/Street/ZipCode, userDob, userPassport, userPersonId, userRg, userRgOrgaoEmissor, userVatNumber, userBrandName, userCorporateName, userInscricaoMunicipal, userInscricaoEstadual passam a ser enviados (quando disponíveis), centralizados na função buildBuyerData (#232666).

  • userDoc e userTel deixam de ser mascarados (Eventos: ecommerceChain, ecommerceSearch, ecommerceAddToCart, ecommerceCheckout (Passos 1, 2 e 3), ecommercePurchase)

    Na função central de dados do comprador, alguns eventos que antes mascaravam CPF/telefone (maskDocument/maskPhone) de forma inconsistente passam a enviar o valor sem máscara (#232666).