CREATE OR REPLACE VIEW `my_project.analytics_mart.stg_ga4_events` ASSELECT event_date, TIMESTAMP_MICROS(event_timestamp) AS event_ts, user_pseudo_id, user_id, event_name, (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') AS page_location, (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'source_surface') AS source_surface, (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'plan') AS plan, (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'activation_type') AS activation_type, (SELECT value.double_value FROM UNNEST(event_params) WHERE key = 'value') AS valueFROM `my_project.analytics_123456789.events_*`;
### YYYY-MM-DDChanged:- Added `activation_complete`Reason:- Activation funnel requires a stable value moment after signup.QA:- DebugView checked on staging.- Realtime checked on production.- BigQuery row confirmed in `events_YYYYMMDD`.Impact:- New custom dimensions: `activation_type`, `plan`.- New key event candidate: `activation_complete`.