提供 AMP 網頁的 AMP 快取網域與您的網站網域不同。如要追蹤 AMP 快取與您網站網頁的使用者歷程,可以使用 AMP Linker;這是一項 AMP Analytics 功能,可將 AMP Client-ID 做為使用者 ID 來加入使用者工作階段。
如果出站連結來自 AMP 快取網頁,AMP Linker 就會加入 AMP Client ID。含 Google Analytics 代碼的網頁就會從網址查詢參數中擷取 AMP Client ID,並使用該 AMP Client ID 做為使用者 ID 來加入使用者工作階段。
本文將說明使用 Google Analytics 設定 AMP Linker 所需的步驟。
AMP Client ID 對資料的影響
同步處理 AMP 快取和您原網站網域之間的 AMP Client ID,可使「工作階段持續時間」、「跳出率」和「單次工作階段頁數」等使用者指標更準確。請注意,資料應於同一個 Google Analytics 資源中收集,AMP Client ID 才能充分發揮作用。
設定 AMP Linker
透過 Google Analytics 設定 AMP Linker 須採取以下三個步驟:
步驟 1. 為您的 AMP 網頁加上代碼,以傳送 AMP Linker 參數
安裝 Google Analytics 代碼;您可以選擇透過 Google 代碼 (gtag.js) 或 Google 代碼管理工具來安裝。請根據您的導入類型,按照以下說明操作:
選項 1:Google 代碼
在 AMP 到達網頁中新增預設的 AMP 專用 Google 代碼。請查看下列程式碼片段範例,並按照說明進行變更:
請用您要傳送資料的 Google Analytics 資源追蹤 ID 取代 MEASUREMENT_ID
。
或者,如果代管您 AMP 網頁的頂層網域與連至您網站的出站連結網域不同,或 AMP 網頁不在已知子網域 (例如:www.、amp.、m.) 上,您也可以按照下方所示加入連接器設定。請將其加入代管該 AMP 網頁的網域以及所有出站連結的網域。
<script type="application/json">
{
"vars": {
"gtag_id": "MEASUREMENT_ID",
"linker": {
"domains": ["example.com", "example2.com"]
}
,
"config": {
"MEASUREMENT_ID": {
"groups": "default"
}
}
}
}
</script>
</amp-analytics>
gtag_id
,凡是您在 AMP 網站上使用的任何 Google 產品 (如 Google Ads 或 Search Ads 360),您都可以指定其 ID;但在「gtag_id
」欄內,每項 Google 產品僅限使用一個 ID。選項 2:Google 代碼管理工具
在 AMP 容器中加入 Google Analytics 代碼。
在 AMP 容器中加入轉換連接器代碼,然後依序選取「啟用跨網域連結」和「啟用與 Google Analytics Client-ID 的連結」。如果代管您 AMP 到達網頁的頂層網域與連至您網站的出站連結網域相同,您可以將網域欄位留白。
或者,如果代管您 AMP 網頁的頂層網域與連至您網站的出站連結網域不同,或 AMP 網頁不在已知子網域 (例如:www.、amp.、m.) 上,請以半形逗號分隔清單的形式,加入代管 AMP 網頁的頂層網域,以及所有出站連結的網域。
在 AMP 網頁中使用預設的代碼管理工具程式碼片段;請查看下列範例,用代碼管理工具容器 ID 取代 GTM_CONTAINER_ID
。
<!-- Google 代碼管理工具 →
<amp-analytics config="https://www.googletagmanager.com/amp.json?id=< GTM_CONTAINER_ID>>m.url=SOURCE_URL" data-credentials="include">
</amp-analytics>
步驟 2:為您的非 AMP 網頁加上代碼,以讀取 AMP 連接器參數
為非 AMP 網頁加上代碼以讀取 AMP 連接器參數的方法有很多種,請參照最適合您設定的操作說明。
選項 1:Google 代碼
在非 AMP 網頁上加入 gtag.js 程式碼片段。請查看下列程式碼片段範例:
- 請用您要傳送資料的 Google Analytics 資源追蹤 ID 取代
MEASUREMENT_ID
。 - 或者,如果代管您 AMP 網頁的頂層網域與連至您網站的出站連結網域不同,或 AMP 網頁不在已知子網域 (例如:www.、amp.、m.) 上,您也可以按照下方所示加入連接器設定。請將其加入代管您 AMP 網頁的網域以及所有出站連結的網域。
<script async src="https://www.googletagmanager.com/gtag/js?id=MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('set', 'linker', {
'domains': ['example.com', 'example2.com']
});
gtag('js', new Date());
gtag('config', 'MEASUREMENT_ID');
</script>
選項 2:Google 代碼管理工具
如果是 Google 代碼管理工具的網站容器,請確認已加入 Google Analytics 代碼。
如果代管您 AMP 網頁的頂層網域與連至您網站的出站連結網域不同,或 AMP 網頁不在已知子網域 (例如:www.、amp.、m.) 上,請加入以下設定:在 Google Analytics 代碼中,新增一個名為「allowLinker」且值設為「true」的欄位,步驟如下:
- 開啟要修改的 Google Analytics 設定變數,然後按一下「變數設定」資訊卡。
- 前往 [更多設定] > [要設定的欄位]。
- 按一下 [+ 新增欄位]。
- 將「欄位名稱」設為「allowLinker」,「值」則設為「true」。
- 儲存新的變數設定。
- 針對所有相關的 Google Analytics 設定變數 (如果目前容器中有多個變數) 重複上述步驟。
- 發布容器。
在非 AMP 網頁上使用預設代碼管理工具程式碼。
選項 3:analytics.js
若是非 AMP 網頁,您可以使用預設的 Analytics js 程式碼片段來讀取 AMP Linker 參數。
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'GA_TRACKING_ID', 'auto');
ga('send', 'pageview');
</script>
<!-- 結束 Google Analytics -->
或者,如果代管您 AMP 網頁的頂層網域與連至您網站的出站連結網域不同,或 AMP 網頁不在已知子網域 (例如:www.、amp.、m.) 上,請加入下方醒目顯示的設定,如「analytics.js 跨網域設定」一節所述:
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'GA_TRACKING_ID', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['subdomain1.example.com', 'subdomain2.example.com','www.example2.com'] );
ga('send', 'pageview');
</script>
<!-- 結束 Google Analytics -->
步驟 3:在 Google Analytics 管理控制台中新增參照連結網址排除條件
Google 會使用 Google AMP 快取向使用者放送 AMP 內容。若要防止快取 AMP 子網域中斷工作階段,您必須為網域 cdn.ampproject.org
新增參照連結網址排除條件。
subdomain.example.com
子網域,則請將 subdomain-example-com.cdn.ampproject.org
新增為參照連結網址排除條件。進一步瞭解 AMP 快取網址格式。設定驗證
驗證 AMP 和非 AMP 網頁之間的 Google AMP Client ID:
選項 1:透過 AMP 代碼測試工具驗證
使用 AMP 代碼測試工具,輸入要測試的 AMP 網址。
注意:AMP 代碼測試工具是一項自動測試工具,可模擬從瀏覽器顯示 AMP 網頁開始,到透過連結進入下一頁為止的流程。這項工具僅供參考,可能無法涵蓋所有測試情境 (例如 AMP 網頁中的連結會連到不同的網域或子網域)。如需手動測試,請使用下方選項。
選項 2:透過 Google Tag Assistant Chrome 擴充功能驗證
- 下載並安裝 Google Tag Assistant Chrome 擴充功能。
- 在 google.com 上輸入一筆能夠傳回您網站 AMP 網頁的搜尋查詢。
- 啟動 Tag Assistant Recordings。
- 錄製開始後,在瀏覽器中重新整理搜尋結果。
- 按一下連往您 AMP 網頁的搜尋結果。
- 按一下從 AMP 網頁連往非 AMP 網頁的連結。
- 停止 Tag Assistant Recordings。
- 確定只有一個工作階段,且 ID 一致如下所示 (如「網頁載入 2」不會顯示「工作階段開始」)。
選項 3:透過 Chrome 開發人員工具驗證
- 以無痕模式開啟 Google Chrome 瀏覽器。在 Chrome 開發人員工具中啟用行動模擬器。
- 在 google.com 上輸入一筆能夠傳回您網站 AMP 網頁的搜尋查詢,然後按一下其中一個連往您 AMP 網頁的搜尋結果。該網頁應會透過 Google AMP 快取放送,並顯示在 Google 搜尋 AMP 檢視器中。
- 注意:如果您尚無法透過 Google 搜尋結果看到您的網頁,只要 Google 能為網頁建立索引,您還是可以前往 AMP 測試工具預覽搜尋結果,並按照下列步驟操作,來測試工作階段統合是否正常運作。
- 找出 AMP 網頁瀏覽量的 Google Analytics 聯播網請求:前往 Chrome 開發人員工具的「Network」分頁,並在「Filter」欄位中輸入「collect」。
- 找出並選取發送至
www.google-analytics.com
的聯播網要求。在該請求的「標頭」分頁中捲動至「查詢字串參數」,以找出用戶端 ID。將 cid 參數記錄下來。 - 如果 AMP 網頁是透過 AMP 檢視器放送,則
cid
格式應為 64 個字元長的 base64 字串: - 按一下 [清除],清除聯播網請求。
- 為驗證您是否已選擇了非 AMP 網頁,請在瀏覽非 AMP 網頁時,確認相同的 cid 參數仍然存在。操作步驟如下:在您的 AMP 網頁上,按一下任何一個經由您網域放送的非 AMP 網頁連結,然後再次篩選「collect」字串,以找出用戶端 ID。選取任何一個發送至
www.google-analytics.com
的聯播網要求,並檢查 cid 查詢參數值是否與您在步驟 5 中記下的值相符。
限制
- 如果初次造訪的使用者沒有前往下一個網頁就關閉 AMP 網頁,系統就不會透過 AMP Linker 進行工作階段統合;這是因為工作階段統合會加入其他連結。