bumpy-finland-5739
02/22/2024, 6:24 PMlively-van-5677
02/27/2024, 1:01 AMbumpy-finland-5739
02/27/2024, 2:44 PMfreezing-ram-13953
03/01/2024, 3:37 PMengagement_time_msec
param as per:
https://support.google.com/analytics/answer/11109416?hl=en
Metric type: count
Title: Engaged Time - Seconds (72 hour window)
Desc: Number of seconds user was active on the site after experiment exposure
Metric SQL:
NB: you will need to substitute bigquery-YOURDB
and analytics_YOURTABLE
with your db/dataset.
SELECT
user_id,
user_pseudo_id as anonymous_id,
TIMESTAMP_MICROS(event_timestamp) as timestamp,
value_param.value.int_value as value
FROM
`bigquery-YOURDB`.`analytics_YOURTABLE`.`events_*`,
UNNEST(event_params) AS value_param
WHERE
value_param.key = 'engagement_time_msec'
AND ((_TABLE_SUFFIX BETWEEN '{{date startDateISO "yyyyMMdd"}}' AND '{{date endDateISO "yyyyMMdd"}}') OR
(_TABLE_SUFFIX BETWEEN 'intraday_{{date startDateISO "yyyyMMdd"}}' AND 'intraday_{{date endDateISO "yyyyMMdd"}}'))
User Value Aggregation:
CAST(SUM(value) / 1000 AS INT64)
freezing-ram-13953
03/01/2024, 4:26 PMbigquery-YOURDB
and analytics_YOURTABLE
with your db/dataset.
SELECT
user_id,
user_pseudo_id as anonymous_id,
TIMESTAMP_MICROS(event_timestamp) as timestamp,
FROM
`bigquery-YOURDB`.`analytics_YOURTABLE`.`events_*`,
UNNEST(event_params) AS value_param
WHERE
value_param.key = 'session_engaged'
AND value_param.value.string_value = '1'
AND ((_TABLE_SUFFIX BETWEEN '{{date startDateISO "yyyyMMdd"}}' AND '{{date endDateISO "yyyyMMdd"}}') OR
(_TABLE_SUFFIX BETWEEN 'intraday_{{date startDateISO "yyyyMMdd"}}' AND 'intraday_{{date endDateISO "yyyyMMdd"}}'))
Cheers
Rob
Ps - A bounce is the opposite of this - ie: shorter than 10 seconds, no conversion event, and one pageview / screenview. You can change this metric to measure bounces by changing:
AND value_param.value.string_value = '1'
to
AND value_param.value.string_value = '0'
Obviously, if you reverse it, the GB metric goal will want to be “decrease the conversion rate”!bright-psychiatrist-91661
04/11/2024, 8:38 PMSELECT
user_pseudo_id AS anonymous_id,
TIMESTAMP_MICROS(event_timestamp) AS timestamp,
1 AS value
FROM
`yourdb.events_*`
WHERE
(
(
_TABLE_SUFFIX BETWEEN '{{date startDateISO "yyyyMMdd"}}' AND '{{date endDateISO "yyyyMMdd"}}'
)
OR (
_TABLE_SUFFIX BETWEEN 'intraday_{{date startDateISO "yyyyMMdd"}}' AND 'intraday_{{date endDateISO "yyyyMMdd"}}'
)
)
AND event_name = 'session_start'
bounce_rate:
SELECT
user_pseudo_id AS anonymous_id,
TIMESTAMP_MICROS(event_timestamp) AS timestamp,
1 AS value
FROM
`yourdb.events_*` AS events
WHERE
(
(
_TABLE_SUFFIX BETWEEN '{{date startDateISO "yyyyMMdd"}}' AND '{{date endDateISO "yyyyMMdd"}}'
)
OR (
_TABLE_SUFFIX BETWEEN 'intraday_{{date startDateISO "yyyyMMdd"}}' AND 'intraday_{{date endDateISO "yyyyMMdd"}}'
)
)
AND event_name = 'session_start'
AND NOT EXISTS (
SELECT 1
FROM `yourdb.events_*` AS bounce_check
WHERE bounce_check.user_pseudo_id = events.user_pseudo_id
AND bounce_check.event_name = 'page_view'
AND TIMESTAMP_MICROS(bounce_check.event_timestamp) > TIMESTAMP_MICROS(events.event_timestamp)
LIMIT 1
)
bright-psychiatrist-91661
04/11/2024, 8:41 PMOpen source platform for stress free deployments, measured impact, and smarter decisions.
Powered by