簡體   English   中英

如何通過 Bigquery 拉取加載速度和跳出率

[英]How to Pull Load Speed and Bounce Rate via Bigquery

我正在嘗試通過 Bigquery 使用 Google Analytics 數據編寫查詢,以了解頁面速度對我網站的影響。 有很多研究都在討論緩慢的網站網站對轉換的影響,我希望進行類似的分析(例如)。

目前我有以下查詢,但是看起來 hit.time 隨着 totals.pageviews 增加。 如果我沒記錯的話,這一定意味着 hits.time 被注冊為網站上的總時間,而不一定是給定頁面上的總時間。

SELECT
  ROUND(AVG(totals.pageviews),0) AS avg_page_views,
  CASE 
        WHEN hits.time <= 1000 THEN '0 Second'
        WHEN hits.time BETWEEN 1001 AND 2000 THEN '1 Second'
        WHEN hits.time BETWEEN 2001 AND 3000 THEN '2 Second'
        WHEN hits.time BETWEEN 3001 AND 4000 THEN '3 Second'
        WHEN hits.time BETWEEN 4001 AND 5000 THEN '4 Second'
        WHEN hits.time BETWEEN 5001 AND 6000 THEN '5 Second'
        WHEN hits.time BETWEEN 6001 AND 7000 THEN '6 Second'
        WHEN hits.time BETWEEN 7001 AND 8000 THEN '7 Second'
        WHEN hits.time BETWEEN 8001 AND 9000 THEN '8 Second'
        WHEN hits.time BETWEEN 9001 AND 10000 THEN '9 Second'
        WHEN hits.time BETWEEN 10001 AND 10000 THEN '10 Second'
        ELSE 'More than 10 Seconds'
   END hits.time
FROM
    [session.ga_sessions_20150501]
WHERE
        hits.page.pagePath != ''
        and totals.bounces IS NOT NULL
        AND hits.hitnumber >= 1
        AND hits.time > 0
        AND hits.type = 'PAGE'
        AND hits.page.pagePath LIKE '%/work/apps/business/%'  
GROUP BY 1,2
ORDER BY 1
LIMIT 2000
;

關於如何更改此查詢以提高每頁速度的任何想法,以便可以將其繪制為轉換或跳出率之類的圖表? 我知道這些數據存在於 Google Analytics 中,但是我無法通過Bigquery API或 Google Analytics 找到一個好的維度。

提前致謝!

現在這是可能的,我認為它是自原始問題以來添加的。

下面將頁面加載時間正確匹配回 GA 界面。

with speed_metrics as (
SELECT
date,
device.browser,
device.operatingSystem,
device.deviceCategory,
geoNetwork.country,
visitorId, 
fullVisitorId,
IF(totals.visits=1,CONCAT(fullVisitorId, CAST(visitId AS STRING)), null) AS 
session_id,
hits.hitNumber,
hits.latencyTracking.pageLoadSample, 
hits.latencyTracking.pageLoadTime,
hits.latencyTracking.pageDownloadTime,
hits.latencyTracking.redirectionTime,
hits.latencyTracking.speedMetricsSample,
hits.latencyTracking.domainLookupTime,
hits.latencyTracking.serverConnectiontime,
hits.latencyTracking.serverResponseTime,
hits.latencyTracking.domLatencyMetricsSample,
hits.latencyTracking.domInteractiveTime,
hits.latencyTracking.domContentLoadedTime
FROM `river-island-clothing-co-ltd.155484603.ga_sessions_20210308`
, unnest (hits) as hits 
)
select 
avg(pageLoadTime) / 1000 as avg_load_time ,
sum(pageLoadTime) / count(distinct (concat(session_id, cast(hitNumber as string)))) / 
1000 as also_avg_load_time
from speed_metrics
where pageLoadSample is not null
LIMIT 1000

需要注意的有用部分是結果是從您的整體瀏覽量/會話的樣本中生成的,請注意 where 子句。 由於這是在命中級別(在這種情況下為綜合瀏覽量),記錄數 = 綜合瀏覽量數,因此兩個聚合生成相同的結果!

你完全不在這兒。

hits.time意味着別的:

注冊此命中時,visitStartTime 之后的毫秒數。 第一次命中的 hits.time 為 0。

因此,測量自訪問開始時間以來經過的時間,而不是所有加載時間。 這是發起請求時的請求時間,與 DOM 無關。

AFAIK 沒有指標可以為您提供 DOM 加載時間。

架構:

https://support.google.com/analytics/answer/3437719?hl=zh-CN&ref_topic=3416089&vid=1-635792326108722532-2868285191

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM