Я новичок в схеме экспорта BigQuery и пытаюсь проанализировать шаблон поиска по сайту на веб-сайте электронной коммерции.
Я хотел бы получить пошаговые инструкции для каждого сеанса, если кто-то использует поиск бар на сайте. Я хочу получить используемые ключевые слова и URL-адреса (aka = searchPath, previousSearchPath и nextSearchPath).
При этом я хочу проверить:
- Когда (после n попаданий / взаимодействий) ) пользователь считает для поиска на нашем веб-сайте
- последний URL, который он / она посетил перед поиском
- страницу результатов, которую он посетил после поиска
- следующие действия
Пока я получил этот запрос. Однако prev_page_path / step / nextStep не совпадает с чем-то логическим c. Я получаю что-то вроде:
- Страница списка продуктов /
- Страница списка продуктов / 2
- Страница списка продуктов / 3
SELECT
CONCAT(fullVisitorId, CAST(visitStartTime AS STRING)) AS sessionId,
IF(cd.index=7,cd.value,NULL) AS customDimension7,
IF(cd.index=179,cd.value,NULL) AS customDimension179,
h.contentGroup.contentGroup2 AS CG,
h.hitNumber AS hitNumber,
h.page.searchKeyword AS keyword,
LAG(h.page.pagePath, 1) OVER (PARTITION BY CONCAT(fullVisitorId, CAST(visitStartTime AS STRING)) ORDER BY h.hitNumber) AS prev_page_path,
h.page.pagePath AS step,
ROW_NUMBER() OVER (PARTITION BY CONCAT(fullVisitorId, CAST(visitStartTime AS STRING)) ORDER BY hitNumber ASC) AS rowNumber,
LEAD(h.page.pagePath, 1) OVER (PARTITION BY CONCAT(fullVisitorId, CAST(visitStartTime AS STRING)) ORDER BY hitNumber ASC) AS nextStep
FROM
`xxx-xx-xxx.xxxxxxxxxxxx.ga_sessions_*`,
UNNEST(hits) AS h,
UNNEST(h.customDimensions) AS cd
WHERE
_TABLE_SUFFIX = FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
AND cd.index = 12
AND h.page.searchKeyword IS NOT NULL
AND cd.value >= '1'
LIMIT
100