AnalyticsService: page_view double-counted when apps also call trackPageView

Aperta
#223 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
analytics

Direzione di ricerca

Inizia in packages/utils/src/AnalyticsService.ts, in AnalyticsService.initializeGtag intorno alla riga 175, quindi segui initialize, AnalyticsProvider e trackPageView. Esamina gli utilizzi di TrackedRoute in Role Manager e RWA Wizard, tenendo presente che UI Builder non chiama trackPageView. Il lavoro è completato quando il comportamento scelto è supportato e queste route-tracking apps non inviano più un page_view duplicato al primo landing, senza interrompere il tracking automatico esistente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

AnalyticsService.initializeGtag (packages/utils/src/AnalyticsService.ts, line ~175) calls gtag('config', tagId) without send_page_view: false, so gtag emits its automatic page_view on load. Apps that also track route changes via trackPageView (Role Manager and RWA Wizard both mount a TrackedRoute component) therefore send two page_view events on first landing — inflating page-view counts in GA4 by one per session. UI Builder is unaffected because it never calls trackPageView.

Surfaced while wiring GA4 custom dimensions for the analytics pipeline (OpenZeppelin/rwa-wizard#63).

Suggested fix

Either:

  • Add a sendPageView option (default true to preserve current behaviour) to AnalyticsService.initialize / AnalyticsProvider, passed through as gtag('config', tagId, { send_page_view }), so apps with route tracking can opt out; or
  • Flip the default to send_page_view: false and document that apps must call trackPageView (breaking for apps relying on the automatic hit).

Consumers to update after release: role-manager and rwa-wizard TrackedRoute usages.

Lingua principale
TypeScript
Stelle
7
Fork
4
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenZeppelin/openzeppelin-ui

Tutte le issue di OpenZeppelin/openzeppelin-ui

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.