Na czym to polega w sklepie
Dlaczego użytkownicy z paid search kupują w 40 sekund, a z social w 8 minut - albo wcale? Funkcje okna (LAG, ROW_NUMBER) śledzą kolejność eventów w sesji bez zwijania wierszy jak GROUP BY. Widzisz czas od add_to_cart do purchase i pierwszy touch kampanii w ścieżce.
Przykład ze sklepu internetowego
Modowy DTC mierzy, ile sekund zajmuje przejście od begin_checkout do purchase w sesjach z kampanii remarketingowych na mobile:
WITH steps AS (
SELECT
user_pseudo_id,
session_id,
event_name,
event_timestamp,
TIMESTAMP_DIFF(
event_timestamp,
LAG(event_timestamp) OVER (
PARTITION BY user_pseudo_id, session_id
ORDER BY event_timestamp
),
SECOND
) AS secs_since_prev
FROM `project.analytics.events_*`
WHERE _TABLE_SUFFIX = '20260610'
AND event_name IN ('begin_checkout', 'purchase')
)
SELECT
AVG(secs_since_prev) AS avg_secs_checkout_to_purchase
FROM steps
WHERE event_name = 'purchase';
Co zrobić po stronie biznesu
- Wskaż kampanie z najdłuższym czasem do zakupu - kandydaci do uproszczenia landingu lub checkoutu.
- Zbuduj listę sesji view_item bez purchase - baza odbiorców do remarketingu porzuconego koszyka.
- Użyj
ROW_NUMBER() = 1nasession_campaigndo analizy first touch w ścieżce wielosesyjnej.
W skrócie
Okna analityczne pokazują ścieżki i czasy bez eksportu do Pythona. Zacznij od jednej sesji w QA, potem skaluj na partycję dzienną - inaczej łatwo o kosztowny pełny skan.