DataLayer — referência completa

Esta página documenta os eventos enviados às camadas JavaScript usadas nos produtos rmbrg, com base no pacote @rmbrg/analytics. Ela é destinada a integradores que usam Google Tag Manager, GA4 ou warehouses de eventos.

Visão geral das camadas

Camada globalQuem escreveUso recomendado
window.dataLayerApps rmbrg (pushEvent, Analytics.*)Telemetria completa da plataforma, ecommerce do checkout, identidade
window.clientDataLayerContainer GTM do cliente + helpers ClientAnalytics.*Pipelines GA4/Meta do estabelecimento, sem colidir com eventos internos

Quando o perfil tem gtmId, o script do GTM do cliente é carregado com clientDataLayer como nome da fila (l no snippet), não dataLayer.

Helpers de push (rmbrg)

// push simples
window.dataLayer = window.dataLayer || []
window.dataLayer.push({ event: 'page_view', ... })

// push "limpo" — usado em eventos ecommerce (reseta `event` antes)
window.dataLayer.push({ event: undefined })
window.dataLayer.push({ event: 'purchase', ecommerce: { ... } })

Campos comuns

Muitos eventos incluem o campo string product com valores como crdp, imov ou hospd.

Áreas de navegação (setNavigationArea / navigation_area):

  • landing · dashboard · public_page · auth · onboarding

Navegação e página (SPA)

page_view

Disparado em mudanças de rota no app.

CampoTipoDescrição
eventstringpage_view
page_pathstringCaminho
page_titlestringTítulo exibido
page_typestringClassificação livre do app
productstringProduto
areastringUma de NavigationArea

Autenticação e onboarding

sign_up_started

CampoDescrição
productProduto
method'email'

sign_up_code_sent

CampoDescrição
productProduto

sign_up

Evento alinhado ao padrão GA4 de cadastro.

CampoDescrição
productProduto
method'email'

login_started · login

login segue convenção GA4.

profile_data_completed

Perfil mínimo salvo após cadastro.

onboarding_started · onboarding_step · onboarding_completed

EventoCampos extra
onboarding_stepstep (número), step_name
onboarding_completedplan

Ecommerce (checkout de planos / Aura)

Estes eventos normalmente usam pushEventClean e incluem um objeto ecommerce.

view_item_list

ecommerce.items[] → item_id, item_name, item_category ('plan' | 'aura'),
  price, item_variant ('monthly' | 'semiannual' | 'annual')

select_item

Um item selecionado no mesmo formato de items[0].

begin_checkout

CampoDescrição
ecommerce.valueValor total
ecommerce.currencyMoeda (padrão BRL)
ecommerce.items[]Itens com quantity

add_payment_info

Inclui payment_type dentro de ecommerce.

purchase

CampoDescrição
ecommerce.transaction_idID da transação
ecommerce.valueValor
ecommerce.items[]Um item resumido (item_id, item_name, item_category, item_variant, price, quantity)

plan_upgrade_initiated · plan_upgrade_completed · plan_downgrade · subscription_cancelled

Campos de plano/período/valor conforme implementação no app.


Aura (IA)

EventoCampos
aura_viewedproduct
aura_activatedtier, period, value
aura_generationfeature (ex.: menu_description, bio, listing_description, report), credits_used, credits_remaining

Dashboard (área logada)

EventoDescrição
dashboard_section_viewsection
profile_savedhas_avatar, has_cover
link_added · link_deletedlink_type
menu_created
menu_item_addedhas_photo, has_price
listing_createdtype, transaction_type
qr_code_downloadedformat (ex.: png, svg)

Página pública (camada rmbrg)

public_page_view

CampoDescrição
profile_idUUID do perfil
profile_slugSlug público
profile_planPlano atual
referrerReferrer normalizado ou string vazia
via_qrboolean

public_link_click

link_type, link_title, link_position (índice).

public_menu_view

menu_id, menu_name.

public_menu_item_view

item_name, item_category, item_price opcional.

public_listing_view

listing_id, listing_type, listing_price opcional.

public_qr_scan

qr_type: 'profile' | 'listing'

public_search

search_term, results_count.


Identidade e propriedades

user_identity (área logada)

client_id → user_id do painel
user_properties: cidade, estado, plano, product

profile_identity (página pública)

profile_id
user_properties: profile_cidade, profile_estado, profile_plano, product

navigation_area

Payload simples: { event: 'navigation_area', area }.


Camada do cliente (clientDataLayer)

Funções expostas em ClientAnalytics:

EventoQuandoCampos principais
page_viewSPA públicapage_path, page_title, profile_slug, profile_name
link_clickClique em linklink_type, link_title, link_url, link_position, profile_slug
menu_viewMenu exibidomenu_name, profile_slug
view_itemItem de cardápio/imóvelitem_name, item_category, item_price?, profile_slug (+ campos de listagem)
searchBuscasearch_term, profile_slug
qr_scanQRprofile_slug, qr_type

Use esses nomes como Eventos personalizados no GTM ao criar disparadores.


Erros frequentes

  1. Duplicar purchase/view_item — conferir se GA4 nativo e GTM disparam o mesmo hit.
  2. Ler dataLayer esperando eventos do cliente — o GTM do cliente escreve em clientDataLayer.
  3. ecommerce inconsistente — eventos pushEventClean zeram o campo event anterior; não misture formatos GA3 legacy.

Leitura adicional