Backlog Unificado
Projeto: RioNoTeatro. Fonte principal: /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Modo read-only: ações de escrita ficam disponíveis apenas para o Cérebro.
Sem itens pendentes em /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Especificações Disponíveis (fora da fila pendente)
- BK-136
- BK-137
- BK-138
- BK-147
- BK-148
- BK-149
- BK-150
- BK-151
- BK-156
- BK-158
- BK-159
- BK-160
- BK-161
- BK-162
- BK-163
- BK-164
- BK-165
- BK-166
- BK-170
- BK-171
- BK-172
- BK-177
- BK-183
- BK-186
- BK-187
- BK-189
- BK-190
- BK-191
- BK-192
- BK-193
- BK-195
- BK-196
- BK-197
- BK-198
- BK-199
- BK-201
- BK-205
- BK-207
- BK-208
- BK-209
- BK-210
- BK-211
- BK-212
- BK-213
- BK-214
- BK-215
- BK-216
- BK-217
- BK-218
- BK-219
- BK-220
- BK-221
- BK-229
- BK-230
- BK-231
- BK-232
- BK-233
- BK-234
- BK-235
- BK-236
- BK-239
- BK-240
- BK-241
- BK-242
- BK-243
- BK-244
- BK-245
- BK-246
- BK-248
- BK-249
- BK-250
- BK-251
- BK-252
- BK-253
- BK-254
- BK-255
- BK-256
- BK-257
- BK-258
- BK-259
- BK-260
- BK-261
- BK-262
- BK-263
- BK-264
- BK-265
- BK-266
- BK-267
- BK-268
- BK-269
- BK-270
- BK-271
- BK-272
- BK-275
- BK-276
- BK-277
- BK-278
- BK-279
- BK-280
- BK-295
- BK-313
Detalhe do BK Selecionado
/www/wwwroot/rionoteatro.com.br/docs/backlog/BK-261-clarity-identify-e-cliente-detalhe.md • 2026-04-12T17:37:01.933Z
BK-261 - Clarity: identify enriquecido + atalhos úteis no detalhe do cliente
Objetivo
- enriquecer a instrumentação atual do Microsoft Clarity no site
- melhorar o valor operacional do
clarity-tabemadmin/modulos/clientes/detalhe.php - preparar a base para rastrear melhor abandono de checkout e sessão por cliente
Motivação
- hoje o site já envia
custom-id = cliente_id, mas ainda deixa vazioscustom-session-idecustom-page-id - o
clarity-tabatual mostravisitor_id, porém a API pública usada no proxy não lista gravações poruser_id - a doc oficial atual do Clarity reforça o uso de:
identify(custom-id, custom-session-id, custom-page-id, friendly-name)set(key, value)event(name)upgrade(reason)
Escopo da rodada
meta-analytics.phpcheckout_pix.phpjs/checkout_pix.jsadmin/modulos/clientes/detalhe.phpapi/clarity_proxy.php
Resultado esperado
- cliente logado envia
custom-id,custom-session-id,custom-page-idefriendly-name - checkout emite contexto útil para análise operacional no Clarity
- aba do cliente fica mais acionável para abrir o projeto certo e copiar os identificadores relevantes rapidamente
Implementação - 2026-04-12 04:04 -03
meta-analytics.phpclarity("identify", ...)foi enriquecido para enviar:custom-id = cliente_idcustom-session-id = visitor_idcustom-page-id = page:<rota-normalizada>friendly-name = nome/identificação curta do cliente- tags adicionais:
user_idvisitor_idsegmentlogin_statepage_idcheckout_pix.php- passou a expor
window.RNT_CLARITY_CHECKOUTcom: pedidoIdtipoclienteIdeventoIdsessaoDataquantidadetotalPedidojs/checkout_pix.js- adicionados
set/event/upgradepara o fluxo do checkout - eventos emitidos:
checkout_pix_opencheckout_select_pixcheckout_select_cardcheckout_select_boletocheckout_wallet_mode_clickcheckout_wallet_credit_submitcheckout_pix_submitcheckout_card_submitcheckout_pix_generatedcheckout_pix_errorcheckout_card_successcheckout_card_pendingcheckout_card_warningcheckout_card_errorcheckout_wallet_credit_successadmin/modulos/clientes/detalhe.php- clarity-tab recebeu botão para abrir
recordings - tabela de
visitor_idrecebeu coluna de ações com: - copiar
visitor_id - abrir
recordings - texto operacional da aba foi ajustado para orientar uso conjunto de
Custom User IDevisitor_id api/clarity_proxy.php- hint do
501foi alinhado à estratégia atual baseada em custom identifiers + visitor ids
Captura do Clarity User ID - 2026-04-12 04:52 -03
meta-analytics.php- o site agora tenta capturar o retorno do
clarity("identify", ...) - quando houver
Promiseresolvida, envia ao backend: clarity_idclarity_session_idclarity_page_idclarity_user_hintvisitor_idaction.php- nova action
save_clarity_identity - persistência ampliada em
clarity_identity_linkspara: clarity_idclarity_session_idclarity_page_idclarity_user_hintadmin/modulos/clientes/detalhe.php- a tabela do clarity-tab agora mostra
Clarity User ID - a tabela também expõe
Clarity Session,Clarity PageeUser Hint - quando houver
clarity_id, a linha passa a renderizar link direto deimpressions https://clarity.microsoft.com/projects/view/tymtbjxe8i/impressions?UserId=is%3B<clarity_id>&date=Last%203%20days- o topo da aba passa a oferecer um CTA direto de
impressionsquando já existirclarity_idprincipal para o cliente
Hardening do bootstrap do identify - 2026-04-12 05:24 -03
- causa provável do
clarity_idainda vazio na base: - o primeiro
clarity("identify", ...)estava sendo disparado cedo demais, ainda no stub enfileirador do snippet do Clarity - nesse estado, o retorno útil do
identifynão chegava ao código que persistia oclarity_id - correção aplicada:
- o frontend passou a reexecutar o
identifyapósload, com retries curtos até o runtime real do Clarity devolverPromiseou payload útil - o envio ao backend agora deduplica o fingerprint do identity para evitar gravações redundantes
- ajuste operacional do painel:
- a aba do cliente deixou de tratar o
cliente_iddo RNT como “Custom User ID” principal - o destaque visual agora prioriza o
Clarity User IDcapturado e o botão de copiar esse valor
Reforço via checkout - 2026-04-12 05:30 -03
meta-analytics.php- quando o
identifyretorna payload útil, o frontend agora guarda tambémcapturedIdentityemwindow.RNT_CLARITY_CONTEXT js/checkout_pix.js- cada
checkout_flow_pingpassou a anexarclarity_id,clarity_session_id,clarity_page_ideclarity_user_hintquando esses valores já estiverem capturados no navegador action.phpcheckout_flow_pingagora tenta reaproveitar esses campos para reforçarclarity_identity_linksusando ocliente_iddo próprio pedido- isso melhora a chance de amarrar cliente, pedido e gravação mesmo quando a sessão abandona cedo no checkout
Fallback oficial via cookies do Clarity - 2026-04-12 05:43 -03
- evidência oficial usada:
- a documentação de cookies do Clarity informa que
_clckpersiste o Clarity User ID _clskconecta múltiplas páginas a uma mesma sessão- correção aplicada em
action.php: - o backend agora lê
_clcke_clskdiretamente de$_COOKIE - usa o primeiro segmento do cookie como fallback sanitizado para
clarity_ideclarity_session_id rnt_link_visitor_to_clientepassou a gravar esses valores quando login/cadastro já chegam com os cookies do Clarityrnt_clarity_identity_captureernt_checkout_flow_logtambém reaproveitam esse fallback- efeito esperado:
- a captura do
Clarity User IDdeixa de depender do retorno doidentify()no frontend - novos logins, cadastros e eventos de checkout devem começar a popular
clarity_identity_links
Validações executadas
php -l meta-analytics.phpphp -l checkout_pix.phpnode --check js/checkout_pix.jsphp -l admin/modulos/clientes/detalhe.phpphp -l api/clarity_proxy.phpphp -l action.php- smoke test local do parser server-side:
_clck=yj300g|...=>yj300g_clsk=sess_abc123|...=>sess_abc123
Observação
- esta rodada melhora fortemente a encontrabilidade operacional no Clarity, mas ainda não cria um endpoint garantido de gravações por cliente na API pública