踩了不少雷,記一下。
- 一定要檢查頁面上有沒有 Google Tag Manager 。有 GTM 時,再檢查裡面是不是有啟用 GA3 的設定,一定要避免重複埋設。
- 放下 GA2 (_gaq, ga())。
- 還好沒看到 GA1 。
做對每一件小事,做對每一個細節,能夠做到一百分的事,就不要只做六十分敷衍過去。
即將消失的自助新村.眷村裡迷路.舊草嶺環狀自行車道 20 公里行.西部小旅行:阿里山森林鐵路車庫園區&北門車站.台糖烏樹林休閒園區.永保安康&橋頭糖廠.打狗鐵道故事館&駁二.旗山.里港&屏東.彰化扇形車庫.大肚成功.出島計畫:馬公.北環.湖西+南環.馬公.支線之旅:平溪.舊山線.林口線.鼻頭角步道.野柳地質公園.猴硐.七堵鐵道公園.一滴水紀念館.淡水.淡水天元宮賞櫻.烏來.土城桐花祭.三芝天使光.桃園忠烈祠.南部旅行:板橋→台南.台南→永康→保安→橋頭→左營→鼓山→旗津→鳳山.鳳山→竹田→枋寮→加祿→古莊→鳳山.鳳山→台南→台中→新竹→板橋.一個人環島:楔子.台北→花蓮.花蓮→台東.台東→枋寮→南州→鳳山→高雄→鳳山.鳳山→高雄→二水→集集→車埕→台中.台中→新竹→竹東→內灣→竹東→新竹→板橋
未完待續…
踩了不少雷,記一下。

Google Search Console Insights 是 Google Search Console 提供的一項功能。
如果同時在 Google Search Console 設定了舊的 Google Analytics (UA) 和 Google Analytics 4 (GA4) ,在查看報表時,系統會提示你「 移除 Google Analytics (分析) (通用 Analytics (分析)) 關聯
如要在 Search Console Insights 中查看 Google Analytics (分析) 4 統計資料,請移除 Google Analytics (分析) (通用 Analytics (分析)) 關聯。 」
距離舊版 Google Analtyics 失效還剩不到一年,開始慢慢溫水煮青蛙了…

前幾天的大事:Google 在 3/16 發出新聞稿說,即將停止支援舊版 Universal Google Analytics (它有過很多名字,目前的官方中文文件叫它「 通用 Analytics 分析 」),並鼓(ㄑㄧㄤˊ)勵(ㄓˋ)大家趕快改用 Google Analytics 4 (GA4) ,詳細可以參考 Prepare for the future with Google Analytics 4 的說明。這次比較特別的連付費的 Google Analytics 360 也不放過,只是比一般的 GA 多了 3 個月緩衝期…
手邊幾乎所有公司和個人的專案都有用到舊版的 Google Analytics ,雖然離 2023 年 7 月還有一年多的時間,但是官方給的建議是「請立即做好準備」:
目前官方也推出了設定輔助程式協助轉移至 GAv4 :
慶幸的是手邊 3 個 app 專案,因為之前 Google Analytics Services SDK 在 2019/10/31 停用,已經導入了 Firebase SDK,而 Firebase 裡的分析就是 GA4 ,反而沒有太大的影響。
接下來應該會先拿幾個 side project 來做測試,沒什麼太大的問題的話,就來把手邊自己的專案全部遷移到 GA4 放著。
手邊的專案因為某些因素,需要變更 Firebase 匯出至 BigQuery 的資料集地區,做個記錄。
和同事先討論好萬一不能換的備案。
最一開始想法很簡單,試著取消連結 BigQuery 再重新設定。當然這招是沒有用的,沒跳出區域的選單。
點了 Firebase 在「地區」旁邊顯示的「?」,寫著「你可以在 BigQuery 中變更地區選取項目」,找到 BigQuery 說明文件。看了一下,大致需要手動匯出資料、存到 cloud storage ,然後把匯出的資料複製一份到另一個區域的 cloud storage ,再重新建一個資料集,……。對於還在 gcloud 新手村的我而言,這實在有點難度。
然後想說 Firebase 和 Google Analytics 有整合,去找 GA 的說明文件看看。在茫茫文件海裡撈到一段「 如果您在建立連結之後選錯地區而需要變更,請按照下列步驟操作」,對我來說根本就是救星。不過 BigQuery 複製資料集的功能目前還在 beta ,也就是不保證後果。
TL;DR: 就是一個懶得再去把毫秒手動換成可閱讀時間的 SQL 而已。
Google Analytics for Firebase 在匯出到 BigQuery 的時候,所有資料的格式都是固定不能動的,基本上照著 BigQuery Export 架構的說明可以找到對應的欄位。
在 BigQuery console 查詢時,只需要把原本的 SQL 稍微調整一下,讓它顯示查詢結果時多顯示可閱讀的時間:
SELECT
FORMAT_TIME('%T', TIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Taipei')) time,
TL;DR: 如果想傳遞自定參數,請把它放在「深層連結」(Deep Link) 的欄位裡,不要放在短網址後面。
忘了是誰提到,能不能在 Firebase dynamic link (FDL) 產生的短網址後面加上自定參數,類似 facebook 的 fbclid ,來傳遞我們想要的值呢?
一開始研究的是兩位 iOS 工程師們。找到的文章除了 Firebase 官方文件以外,也找到 medium 上有篇針對 Android 和官方文件的 use case 測試的「Firebase Dynamic Link案例研究 」。
試了一下發現 iOS 還真的可以抓到。
於是就很歡樂的實作了這個功能…

在 Firebase Live 2020 的影片 The Firebase Developer's Guide to Google Analytics 中,有針對 Google Analytics Web + App 有一個區隔重疊 (segment overlap) 的功能做介紹。
拿了自己的部落格來做測試,順便記錄一下。
首先要是新版的 Google Analytics Web + App ,通常如果有建 Firebase 專案的話,這個會自動建好;如果手邊有舊版的 Google Analytics (for web) 的話,也可以透過 Google Tag Manager 轉送的方式來測試這項分析功能。這裡單純記錄怎麼測試這個功能。
首先點左邊選單「分析」底下的「區隔重疊」,預設會載入一個有變數和標籤設定的報表。
分析名稱下方有日期區間,我選「過去 30 天」。

手邊有個需求是驗證某個特定的 Google Analytics 事件有沒有在 app 成功送出去。
參考的是官方文件上的利用 DebugView 驗證 Analytics (分析) 設定這篇說明。
首先用 Xcode 把專案開起來,點 Product > Clean Build Folder 清掉舊資料,再點 Product > Build 看看有沒有問題。
Build 沒問題以後,點 Product > Scheme > Edit Scheme ,在跳出的視窗裡選 Run > Arguments ,在 Arguments Passed On Launch 的地方新增文件上說明的 -FIRDebugEnabled ,並記得勾選。
新增完以後點 Close 關閉視窗。

Firebase 在今年七月底的時候宣佈了升級至新版的 Google Analytics App + Web 功能,剛好手邊正在執行的不同專案都遇到了,做點記錄。
首先注意到的是權限的問題。
其中一個專案先前就有使用 Firebase 了,所以選項是升級。在 Firebase 升級時如果選了建立新的 Google Anatics 帳戶做整合,那麼所產生的帳戶預設就只有操作升級的那個人而已,並沒有把 Firebase 有權限讀取報表的人複製一份過去。在建完的當下就有發現這個問題,立刻修正成專案團隊成員都可以讀取。
另一個專案之前沒有用 Firebase 。在建完空的 Firebase 專案連結 Google Analytics 時,改成選擇連結現有的帳戶,然後挑了上面提到的專案的帳戶。連結完以後自動產生 App + Web 的資源,預設可以讀取資源的人是跟著 Analytics 帳戶的設定走。
產生完資源之後,會列在登入 Google 帳戶的 Google Analytics 列表中。和原本的網頁版不一樣的是, App+Web 型態的資源沒有「資料檢視」這層,資源編號也不是熟悉的 UA- 開頭。
由於是第一次用 BigQuery ,也是第一次用 Google Analytics for Firebase ,基本上就是個亂玩亂試。
官方部落格對於 BigQuery 怎麼處理 Google Analytics for Firebase 多維度記錄有篇說明文章:BigQuery Tip: The UNNEST Function ,不過裡頭的資料庫結構已經不大相同了,所以得自己玩一次。
我是使用 Firebase 專案中的 Analytics > Events 底下的 VIEW your raw events in BigQuery 進到 BigQuery 介面的,會直接帶入專案。從 Google Cloud Console 也可以啦,自己選好專案就好了。
進來以後左側選單會有設定好的專案名稱,底下有 analytics_ 開頭後面接一串看起來是 UUID 的就是要用到的資料;再往下一層有 events_ 和 events_intraday_ 接今天日期的,選前者,會是一長串選單。基本上就是一個日期一張表,我通常是拿昨天的表來練習用,像今天是 2019 年 3 月 13 日的話,就選 2019-03-12 。選好了之後右邊會出現 QUERY TABLE ,點了之後會自動預設帶入一個未完成的 SQL ,把它填完並且在 FROM 的後面加上需要 UNNEST() 的多維內容(通常是 event_params 或 user_properties )就可以開始做事了。
SELECT *