Skip to main content
Question

Best Practice for Screen View Event Structuring: Specific Events vs. Generic with Properties

  • April 8, 2025
  • 1 reply
  • 29 views

Hi everyone 👋

We're currently refining our event structure in Amplitude for screen views in our app, and we'd love to get the community's thoughts on best practices.

We’re considering two approaches:

Option A:
Create a specific event for each screen, such as:
Load_Onboarding_IntroPage, Load_Home_Feed, etc.

Option B:
Use a generic event, like load_screen, and pass screen-specific data in the event properties, e.g.:

 "screen_name": "Onboarding_IntroPage", "screen_id": "onboarding_001"

 

We’re particularly interested in understanding:

  • Which approach tends to work better in Amplitude in terms of dynamic analysis, funnels, and user segmentation?

  • Are there any limitations in any of the features (e.g., in dashboards, cohorts, or behavioral reports) with either method?

  • What are the pros and cons of each approach, especially when scaling up to many screens or when trying to maintain clean taxonomy?

Any real-world examples or recommendations from your experience would be super helpful. Thanks in advance!

Daniel

1 reply

Saish Redkar
Expert
Forum|alt.badge.img+10

Hi ​@Daniel Ben-Amotz

In most of the cases out there, Option B will be the go-to option.
 

Pros of Option A

  • explicitly naming the event helps in knowing what screen it represents without having to lookup event property name
  • If you are looking at a user’s event stream under their profile, this option directly allows you to understand sequentially how the user has moved from different screens without having to figure out the screen name

Cons of Option A

  • your unique event types limit could be breached as your app grows and you have multiple screens
  • analysis of all screen views won’t be scalable as you will have to individually chose the events to be charted
  • Governance becomes tedious as # of screens grow

 

Pros of Option B

  • Scales well and you don’t have to worry about your event type limit
  • Easier to analyze and segment your screen views with just the group by on the load_screen event
  • You just have to enforce consistent naming in property value without worrying much about the event name

Cons of Option B

  • Not many, but analyzing a user stream will be bit challenging compared to option A.
    • eg. load_screen → load_screen → load_screen vs Load_Onboarding_IntroPage → Load_Home_Feed → Load_ProfilePage

Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings