2017-04-20 65 views
1

我使用BigQuery來報告Google Analytics數據。我正在嘗試使用BigQuery重新創建着陸頁數據。大查詢着陸頁數字與Google Analytics界面不一致

下面的查詢報告比谷歌Analytics(分析)接口少18%的會議:

SELECT DISTINCT 
    fullVisitorId, 
    visitID, 
    h.page.pagePath AS LandingPage 
FROM 
    `project-name.dataset.ga_sessions_*`, UNNEST(hits) AS h 
WHERE 
    hitNumber = 1 
AND h.type = 'PAGE' 
AND _TABLE_SUFFIX BETWEEN '20170331' AND '20170331' 
ORDER BY fullVisitorId DESC 

我在哪裏用我的方法去錯了嗎?爲什麼我不能在GA界面報告的數字的一小部分範圍內?

回答

2

多種原因:

1.Big查詢等效着陸頁:

SELECT 
    LandingPage, 
    COUNT(sessionId) AS Sessions, 
    100 * SUM(totals.bounces)/COUNT(sessionId) AS BounceRate, 
    AVG(totals.pageviews) AS AvgPageviews, 
    SUM(totals.timeOnSite)/COUNT(sessionId) AS AvgTimeOnSite, 
from(
    SELECT 
    CONCAT(fullVisitorId,STRING(visitId)) AS sessionID, 
    totals.bounces, 
    totals.pageviews, 
    totals.timeOnSite, 
    hits.page.pagePath AS landingPage 
    FROM (
    SELECT 
     fullVisitorId, 
     visitId, 
     hits.page.pagePath, 
     totals.bounces, 
     totals.pageviews, 
     totals.timeOnSite, 
     MIN(hits.hitNumber) WITHIN RECORD AS firstHit, 
     hits.hitNumber AS hitNumber 
    FROM (TABLE_DATE_RANGE ([XXXYYYZZZ.ga_sessions_],TIMESTAMP('2016-08-01'), TIMESTAMP ('2016-08-31'))) 
    WHERE 
     hits.type = 'PAGE' 
     AND hits.page.pagePath'') 
    WHERE 
    hitNumber = firstHit) 
GROUP BY 
    LandingPage 
ORDER BY 
    Sessions DESC, 
    LandingPage 

下一頁:

預計算的數據 - 預彙總表格

這些是預先計算的數據t Google使用它來加速用戶界面。 Google沒有指定完成時間,但可以在任何時間點。這些被稱爲預彙總表格


所以,如果你比較來自GA UI的數字在大的查詢的輸出,你總是會看到一個差異。請繼續並依靠您的大量查詢數據。

+0

感謝您的回覆@Tushar。如果我正確理解你,我的查詢只查看hitNumber = 1,這就是爲什麼它報告了18%。它需要考慮第一次打不標記爲1的情況,因此是min函數。此外,即使這樣,GA界面也會犧牲一些準確度來進行縮放。在上面運行您的查詢表明,根據我網站的數據,不準確度可能高達6%。那個聽起來是對的嗎?不,我必須弄清楚如何在標準SQL中重新編寫你的查詢,儘管可能還有其他問題! – goose

+0

@goose我與谷歌密切合作,擔任分析師。接受的差異率是5-10%。但我不會阻止你自己寫和檢查。如果您有任何疑問,請告訴我。可能是我可以幫助:) – Tushar

+0

再次感謝@Tushar - 我並不是說這不是,我只是想檢查我理解正確。這是有用的知道。 – goose