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.
| Camada global | Quem escreve | Uso recomendado |
|---|---|---|
window.dataLayer | Apps rmbrg (pushEvent, Analytics.*) | Telemetria completa da plataforma, ecommerce do checkout, identidade |
window.clientDataLayer | Container 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.
// 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: { ... } })
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 · onboardingpage_viewDisparado em mudanças de rota no app.
| Campo | Tipo | Descrição |
|---|---|---|
event | string | page_view |
page_path | string | Caminho |
page_title | string | Título exibido |
page_type | string | Classificação livre do app |
product | string | Produto |
area | string | Uma de NavigationArea |
sign_up_started| Campo | Descrição |
|---|---|
product | Produto |
method | 'email' |
sign_up_code_sent| Campo | Descrição |
|---|---|
product | Produto |
sign_upEvento alinhado ao padrão GA4 de cadastro.
| Campo | Descrição |
|---|---|
product | Produto |
method | 'email' |
login_started · loginlogin segue convenção GA4.
profile_data_completedPerfil mínimo salvo após cadastro.
onboarding_started · onboarding_step · onboarding_completed| Evento | Campos extra |
|---|---|
onboarding_step | step (número), step_name |
onboarding_completed | plan |
Estes eventos normalmente usam pushEventClean e incluem um objeto ecommerce.
view_item_listecommerce.items[] → item_id, item_name, item_category ('plan' | 'aura'),
price, item_variant ('monthly' | 'semiannual' | 'annual')
select_itemUm item selecionado no mesmo formato de items[0].
begin_checkout| Campo | Descrição |
|---|---|
ecommerce.value | Valor total |
ecommerce.currency | Moeda (padrão BRL) |
ecommerce.items[] | Itens com quantity |
add_payment_infoInclui payment_type dentro de ecommerce.
purchase| Campo | Descrição |
|---|---|
ecommerce.transaction_id | ID da transação |
ecommerce.value | Valor |
ecommerce.items[] | Um item resumido (item_id, item_name, item_category, item_variant, price, quantity) |
plan_upgrade_initiated · plan_upgrade_completed · plan_downgrade · subscription_cancelledCampos de plano/período/valor conforme implementação no app.
| Evento | Campos |
|---|---|
aura_viewed | product |
aura_activated | tier, period, value |
aura_generation | feature (ex.: menu_description, bio, listing_description, report), credits_used, credits_remaining |
| Evento | Descrição |
|---|---|
dashboard_section_view | section |
profile_saved | has_avatar, has_cover |
link_added · link_deleted | link_type |
menu_created | — |
menu_item_added | has_photo, has_price |
listing_created | type, transaction_type |
qr_code_downloaded | format (ex.: png, svg) |
public_page_view| Campo | Descrição |
|---|---|
profile_id | UUID do perfil |
profile_slug | Slug público |
profile_plan | Plano atual |
referrer | Referrer normalizado ou string vazia |
via_qr | boolean |
public_link_clicklink_type, link_title, link_position (índice).
public_menu_viewmenu_id, menu_name.
public_menu_item_viewitem_name, item_category, item_price opcional.
public_listing_viewlisting_id, listing_type, listing_price opcional.
public_qr_scanqr_type: 'profile' | 'listing'
public_searchsearch_term, results_count.
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_areaPayload simples: { event: 'navigation_area', area }.
clientDataLayer)Funções expostas em ClientAnalytics:
| Evento | Quando | Campos principais |
|---|---|---|
page_view | SPA pública | page_path, page_title, profile_slug, profile_name |
link_click | Clique em link | link_type, link_title, link_url, link_position, profile_slug |
menu_view | Menu exibido | menu_name, profile_slug |
view_item | Item de cardápio/imóvel | item_name, item_category, item_price?, profile_slug (+ campos de listagem) |
search | Busca | search_term, profile_slug |
qr_scan | QR | profile_slug, qr_type |
Use esses nomes como Eventos personalizados no GTM ao criar disparadores.
dataLayer esperando eventos do cliente — o GTM do cliente escreve em clientDataLayer.pushEventClean zeram o campo event anterior; não misture formatos GA3 legacy.