Я запрашиваю (обычный SQL) количество просмотров страниц, обращений, событий и сеансов на имя хоста, используя следующий запрос:
SELECT
hits.page.hostname,
SUM(IF(hits.type = 'PAGE',1,0)) AS pageviews,
COUNT(hits.hitNumber) AS hits,
SUM(IF(hits.type = 'EVENT',1,0)) AS events,
COUNT(DISTINCT CASE WHEN hits.isInteraction IS TRUE THEN CONCAT(CAST(fullvisitorid as string),CAST(visitid as string)) END) AS sessions
FROM `XXX_sessions_*`, UNNEST(hits) AS hits
WHERE _TABLE_SUFFIX BETWEEN '20181231' AND '20181231'
GROUP BY 1
Если я сравниваю результат с Google Analytics, просмотры страниц и совпадения совпадают, но есть разница в событиях и сеансах. Зачем? Что я сделал не так?
Мы ценим любую помощь!
Edit:
Мне удалось получить правильное количество событий с:
COUNT(hits.eventInfo.eventCategory) AS totalEvents
но все еще есть проблемы с сессиями.
Edit2:
Я нашел решение для сессий. Google Analytics не учитывает, меняется ли хост в течение сеанса или нет. Следовательно, учитывается только хост первого попадания.
(SELECT page.hostname FROM UNNEST(hits) WHERE hitnumber = (SELECT MIN(hitnumber) FROM UNNEST(hits)))