adorable-bear-66287
10/22/2025, 12:05 PMadorable-bear-66287
10/22/2025, 12:06 PMadorable-bear-66287
10/22/2025, 12:08 PMSELECT
user_id AS user,
-- Each matching user counts as 1 conversion
1 AS value
FROM
`metric_table`
WHERE
(condition = 'conversion') AND
-- Only after seeing the experiment
timestamp >= exposure_timestamp
GROUP BY user
Which would lead to the right results (I believe). When examining the metric SQL for the exposure however, the CTE for metric is stated as (still pseudo):
SELECT
user_id as user,
1 as value,
timestamp
FROM
(
SELECT
<all columns>
FROM
`metric_table`
) m
JOIN __identities_lookup_table i ON (i.user = m.user) -- a join table for different IDs
WHERE
(condition = 'conversion')
AND m.timestamp >= <experiment start>
AND m.timestamp <= <experiment end>
And it's this last line that is a problem for us. Is this a known problem? Would it be possible to activate something on either the experiment or the metric in order to not have a time limit on it?steep-dog-1694
10/22/2025, 8:22 PMadorable-bear-66287
10/23/2025, 6:57 AM__userMetricJoin as (
SELECT
d.variation AS variation,
d.user_id AS user_id,
(
CASE
WHEN m.timestamp >= d.timestamp
AND m.timestamp <= DATETIME_ADD(d.timestamp, INTERVAL 1440 HOUR) THEN m.value
ELSE NULL
END
) as value
FROM
__distinctUsers d
LEFT JOIN __metric m ON (m.user_id = d.user_id)
)
Another weird thing is that when I have set the experiment start as 2025-09-11 and end 2025-09-25 , it's correctly represented in the exposure:
AND e.timestamp >= '2025-09-11 00:00:00'
AND e.timestamp <= '2025-09-25 00:00:00'
But in the metric it's set as:
AND m.timestamp >= '2025-08-28 00:00:00'
AND m.timestamp <= '2025-11-24 00:00:00'
2025-11-24 makes sense as that's 60 days (conversion window) after 2025-09-25 but 2025-08-25 doesn't make any sense to me. For us it doesn't cause any problems - just a curiositysteep-dog-1694
10/27/2025, 5:26 PMas there were no exposures 60 days ago:I am a bit confused - I think the sql is looking 60 days into the future, not the past, which seems correct (please see below): Luke WHEN m.timestamp >= d.timestamp AND m.timestamp <= DATETIME_ADD(d.timestamp, INTERVAL 1440 HOUR)