Open this lesson in your favourite AI. It'll walk you through the why, explain the demo, and quiz you on the try-it list.
GA4 distinguishes between built-in properties (collected automatically), event-scoped custom dimensions (attached to a single event), and user-scoped custom dimensions (attached to the user forever), and choosing the wrong scope causes data to vanish from reports or inflate incorrectly.
plan_type mapped to the plan_type event parameter, then trigger an event carrying that parameter and verify it surfaces in Explore within 24 hours (or use DebugView for immediate confirmation).page_location (a built-in property) versus a custom dimension you've registered by checking the 'Row count' in a free-form Exploration — confirm the built-in never hits the row limit.Use these three in order. Each builds on the one before.
In one paragraph, explain the difference between a built-in GA4 property and a custom dimension, and give one example of when you'd need a custom dimension.
Walk me through how GA4 stores event-scoped versus user-scoped custom dimensions internally and why scope affects which reports the dimension appears in.
Given a freemium SaaS with users who can upgrade mid-session, how would you use user-scoped custom dimensions to correctly attribute revenue to the plan type at the time of conversion rather than the current plan?