Advertisement
GiacomoGalanti

Attribuzione medium

Oct 3rd, 2023
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. with prep as (
  2. select
  3. event_timestamp,
  4. user_pseudo_id,
  5. (select value.int_value from unnest(event_params) where key = 'ga_session_id') as session_id,
  6. (select value.string_value from unnest(event_params) where key = 'source') as source,
  7. (select value.string_value from unnest(event_params) where key = 'medium') as medium,
  8. (select value.int_value from unnest(event_params) where key = 'engagement_time_msec') as engagement_time_msec,
  9. (select value.string_value from unnest(event_params) where key = 'session_engaged') as session_engaged,
  10. ecommerce.transaction_id
  11. from
  12. `tuo_data_set_308251284.events_*`
  13. where
  14. _table_suffix between '20230801' and format_date('%Y%m%d',date_sub(current_date(), interval 1 day))
  15. ),
  16.  
  17. prep2 as (
  18. select
  19. user_pseudo_id,
  20. session_id,
  21. concat(
  22. ifnull(first_value(source ignore nulls) over (partition by user_pseudo_id, session_id order by event_timestamp), '(direct)'),
  23. ' / ',
  24. ifnull(first_value(medium ignore nulls) over (partition by user_pseudo_id, session_id order by event_timestamp), '(none)')
  25. ) as session_source_medium,
  26. engagement_time_msec,
  27. session_engaged,
  28. transaction_id
  29. from
  30. prep
  31. )
  32.  
  33. select
  34. session_source_medium,
  35. count(distinct concat(user_pseudo_id,session_id)) as sessions,
  36. count(distinct case when session_engaged = '1' then concat(user_pseudo_id,session_id) end) as engaged_sessions,
  37. count(distinct user_pseudo_id) as users,
  38. count(distinct case when engagement_time_msec > 0 then user_pseudo_id end) as active_users,
  39. count(distinct transaction_id) as conversions
  40. from
  41. prep2
  42. group by
  43. session_source_medium
  44. order by
  45. sessions desc
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement