diff --git a/macros/cross-adapter-modeling/base/segment_web_page_views.sql b/macros/cross-adapter-modeling/base/segment_web_page_views.sql index c4b0684..239e4d4 100644 --- a/macros/cross-adapter-modeling/base/segment_web_page_views.sql +++ b/macros/cross-adapter-modeling/base/segment_web_page_views.sql @@ -42,12 +42,33 @@ renamed as ( context_campaign_content as utm_content, {{ dbt_utils.get_url_parameter('url', 'gclid') }} as gclid, context_ip as ip, - context_user_agent as user_agent - + context_user_agent as user_agent, + case + when context_user_agent ilike '%Android%' then 'Android' + else replace( + split_part(split_part(context_user_agent,'(', 2), ' ', 1), + ';','') + end as device + from source +), + +final as ( + + select + *, + case + when device = 'iPhone' then 'iPhone' + when device = 'Android' then 'Android' + when device in ('iPad', 'iPod') then 'Tablet' + when device in ('Windows', 'Macintosh', 'X11') then 'Desktop' + else 'uncategorized' + end as device_category + from renamed + ) -select * from renamed +select * from final {% endmacro %} \ No newline at end of file diff --git a/macros/cross-adapter-modeling/sessionization/segment_web_sessions__initial.sql b/macros/cross-adapter-modeling/sessionization/segment_web_sessions__initial.sql index b805729..a7768f1 100644 --- a/macros/cross-adapter-modeling/sessionization/segment_web_sessions__initial.sql +++ b/macros/cross-adapter-modeling/sessionization/segment_web_sessions__initial.sql @@ -35,7 +35,9 @@ 'page_url_path' : 'first_page_url_path', 'page_url_query' : 'first_page_url_query', 'referrer' : 'referrer', - 'referrer_host' : 'referrer_host' + 'referrer_host' : 'referrer_host', + 'device' : 'device', + 'device_category' : 'device_category' } %} {% set last_values = {