Advertisement
GiacomoGalanti

Step_funnel_olivopro

Apr 13th, 2024
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.35 KB | None | 0 0
  1. WITH
  2. Step1 AS (
  3. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  4. CASE
  5. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  6. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  7. END AS page_tag
  8. FROM `olivo-pro.analytics_352085723.events_2024*`
  9. WHERE event_name = 'page_view'
  10. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  11. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  12. GROUP BY user_pseudo_id
  13. ),
  14.  
  15. Step2 AS (
  16. SELECT DISTINCT a.user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(a.event_timestamp))) AS event_date,
  17. CASE
  18. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(a.event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  19. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(a.event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  20. END AS page_tag
  21. FROM `olivo-pro.analytics_352085723.events_2024*` a
  22. JOIN (
  23. SELECT user_pseudo_id, MIN(event_timestamp) AS first_impression_timestamp
  24. FROM `olivo-pro.analytics_352085723.events_2024*`
  25. WHERE event_name = 'page_view'
  26. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  27. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  28. GROUP BY user_pseudo_id
  29. ) b ON a.user_pseudo_id = b.user_pseudo_id
  30. WHERE a.event_timestamp >= b.first_impression_timestamp + 15000
  31. GROUP BY a.user_pseudo_id
  32. ),
  33.  
  34. Step3 AS (
  35. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  36. CASE
  37. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  38. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  39. END AS page_tag
  40. FROM `olivo-pro.analytics_352085723.events_2024*`,
  41. UNNEST(event_params) AS params
  42. WHERE event_name = 'click_config'
  43. AND params.key = 'link_classes'
  44. AND REGEXP_CONTAINS(params.value.string_value, 'wpforms-screen-reader-element')
  45. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  46. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  47. GROUP BY user_pseudo_id
  48. HAVING COUNT(event_name) >= 2
  49. ),
  50. Step4 AS (
  51. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  52. CASE
  53. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  54. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  55. END AS page_tag
  56. FROM `olivo-pro.analytics_352085723.events_2024*`,
  57. UNNEST(event_params) AS params
  58. WHERE event_name = 'click_config'
  59. AND params.key = 'link_classes'
  60. AND REGEXP_CONTAINS(params.value.string_value, 'wpforms-screen-reader-element')
  61. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  62. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  63. GROUP BY user_pseudo_id
  64. HAVING COUNT(event_name) >= 4
  65. ),
  66. Step5 AS (
  67. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  68. CASE
  69. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  70. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  71. END AS page_tag
  72. FROM `olivo-pro.analytics_352085723.events_2024*`,
  73. UNNEST(event_params) AS params
  74. WHERE event_name = 'click_config'
  75. AND params.key = 'link_classes'
  76. AND REGEXP_CONTAINS(params.value.string_value, 'wpforms-screen-reader-element')
  77. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  78. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  79. GROUP BY user_pseudo_id
  80. HAVING COUNT(event_name) >= 5
  81. ),
  82. Step6 AS (
  83. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  84. CASE
  85. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  86. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  87. END AS page_tag
  88. FROM `olivo-pro.analytics_352085723.events_2024*`,
  89. UNNEST(event_params) AS params
  90. WHERE event_name = 'click_config'
  91. AND params.key = 'link_classes'
  92. AND REGEXP_CONTAINS(params.value.string_value, 'wpforms-screen-reader-element')
  93. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  94. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  95. GROUP BY user_pseudo_id
  96. HAVING COUNT(event_name) >= 6
  97. ),
  98. Step7 AS (
  99. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  100. CASE
  101. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  102. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  103. END AS page_tag
  104. FROM `olivo-pro.analytics_352085723.events_2024*`,
  105. UNNEST(event_params) AS params
  106. WHERE event_name = 'click_config'
  107. AND params.key = 'link_classes'
  108. AND REGEXP_CONTAINS(params.value.string_value, 'wpforms-screen-reader-element')
  109. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  110. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  111. GROUP BY user_pseudo_id
  112. HAVING COUNT(event_name) >= 7
  113. ),
  114. Step8 AS (
  115. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  116. CASE
  117. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  118. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  119. END AS page_tag
  120. FROM `olivo-pro.analytics_352085723.events_2024*`,
  121. UNNEST(event_params) AS params
  122. WHERE event_name = 'click_config'
  123. AND params.key = 'link_classes'
  124. AND REGEXP_CONTAINS(params.value.string_value, 'wpforms-screen-reader-element')
  125. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/form-zerbino/') OR
  126. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  127. GROUP BY user_pseudo_id
  128. HAVING COUNT(event_name) >= 8
  129. ),
  130.  
  131. Step9 AS (
  132. SELECT DISTINCT user_pseudo_id, DATE(TIMESTAMP_MICROS(MIN(event_timestamp))) AS event_date,
  133. CASE
  134. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_referrer'), ''), r'^https://olivo.pro/form-zerbino/')) THEN 'form-zerbino'
  135. WHEN MAX(REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_referrer'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/')) THEN 'crea-zerbino'
  136. END AS page_tag
  137. FROM `olivo-pro.analytics_352085723.events_2024*`
  138. WHERE event_name = 'generate_lead'
  139. AND (REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_referrer'), ''), r'^https://olivo.pro/form-zerbino/') OR
  140. REGEXP_CONTAINS(ARRAY_TO_STRING(ARRAY(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_referrer'), ''), r'^https://olivo.pro/crea-il-tuo-zerbino-personalizzato-olivo-pro/'))
  141. GROUP BY user_pseudo_id
  142. )
  143.  
  144. SELECT
  145. event_date,
  146. page_tag,
  147. SUM(CASE WHEN step_index = 1 THEN 1 ELSE 0 END) AS impression_lead_count,
  148. SUM(CASE WHEN step_index = 2 THEN 1 ELSE 0 END) AS aware_lead_count,
  149. SUM(CASE WHEN step_index = 3 THEN 1 ELSE 0 END) AS engaged_lead_count3,
  150. SUM(CASE WHEN step_index = 4 THEN 1 ELSE 0 END) AS engaged_lead_count4,
  151. SUM(CASE WHEN step_index = 5 THEN 1 ELSE 0 END) AS engaged_lead_count5,
  152. SUM(CASE WHEN step_index = 6 THEN 1 ELSE 0 END) AS engaged_lead_count6,
  153. SUM(CASE WHEN step_index = 7 THEN 1 ELSE 0 END) AS engaged_lead_count7,
  154. SUM(CASE WHEN step_index = 8 THEN 1 ELSE 0 END) AS engaged_lead_count8,
  155. SUM(CASE WHEN step_index = 9 THEN 1 ELSE 0 END) AS generate_lead_config_count
  156. FROM (
  157. SELECT user_pseudo_id, event_date, page_tag, 1 AS step_index FROM Step1
  158. UNION ALL
  159. SELECT user_pseudo_id, event_date, page_tag, 2 AS step_index FROM Step2
  160. UNION ALL
  161. SELECT user_pseudo_id, event_date, page_tag, 3 AS step_index FROM Step3
  162. UNION ALL
  163. SELECT user_pseudo_id, event_date, page_tag, 4 AS step_index FROM Step4
  164. UNION ALL
  165. SELECT user_pseudo_id, event_date, page_tag, 5 AS step_index FROM Step5
  166. UNION ALL
  167. SELECT user_pseudo_id, event_date, page_tag, 6 AS step_index FROM Step6
  168. UNION ALL
  169. SELECT user_pseudo_id, event_date, page_tag, 7 AS step_index FROM Step7
  170. UNION ALL
  171. SELECT user_pseudo_id, event_date, page_tag, 8 AS step_index FROM Step8
  172. UNION ALL
  173. SELECT user_pseudo_id, event_date, page_tag, 9 AS step_index FROM Step9
  174. )
  175. GROUP BY event_date, page_tag
  176. ORDER BY event_date, page_tag;
  177.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement