數據分析:基礎知識
從這裡開始學習 AMP 數據分析的基礎知識。
要使用 amp-pixel 還是 amp-analytics?
AMP 提供兩種元件來滿足您的數據分析和評估需求:amp-pixel
和 amp-analytics
。這兩種選項都會將數據分析資料傳送到定義的端點。
如果您正在尋找類似簡單 追蹤像素 的行為,amp-pixel
元件提供基本網頁瀏覽追蹤功能;網頁瀏覽資料會傳送到定義的網址。與供應商的某些整合可能會要求使用此元件,在這種情況下,他們會指定確切的網址端點。
對於大多數數據分析解決方案,請使用 amp-analytics
。amp-analytics
也適用於網頁瀏覽追蹤。但您也可以追蹤使用者與任何網頁內容 (包括連結和按鈕點擊) 的互動。
而且您可以評估使用者在網頁上捲動了多遠、使用者是否與社群媒體互動等等。
作為與 AMP 平台整合的一部分,供應商已提供預先定義的 amp-analytics
設定,方便您擷取資料並推送至其追蹤工具。請從「數據分析供應商」清單存取供應商文件。
您可以在網頁中同時使用 amp-pixel
和 amp-analytics
:使用 amp-pixel
進行簡單的網頁瀏覽追蹤,並使用 amp-analytics
進行其他所有追蹤。您也可以新增多個標記。如果您與多個數據分析供應商合作,每個解決方案都需要一個標記。請記住,更精簡的 AMP 網頁對使用者來說更好,因此如果您不需要額外的標記,請勿使用。
建立簡單的數據分析設定
瞭解如何建立簡單的 amp-pixel
和 amp-analytics
設定。
簡單的 amp-pixel
設定
若要建立簡單的 amp-pixel
設定,請將類似以下的內容插入 AMP 網頁的內文
<amp-pixel src="https://foo.com/pixel?RANDOM"></amp-pixel>
在此範例中,網頁瀏覽資料會連同隨機數字一起傳送到定義的網址。RANDOM
變數是 AMP 平台中的許多替換變數之一。在此處進一步瞭解變數替換。
amp-pixel
元件是內建元件,因此您不需要像 AMP 的擴充元件 (包括 amp-analytics
) 一樣新增包含宣告。但您應盡可能將 amp-pixel
標記放在 <body>
的開頭附近。追蹤像素只會在標記本身進入檢視畫面時觸發。如果 amp-pixel
位於網頁底部附近,則可能不會觸發。
簡單的 amp-analytics
設定
若要建立簡單的 amp-analytics
設定,您必須先在 AMP 文件的 <head>
中加入這個 custom-element
宣告 (另請參閱元件包含宣告)
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
以下範例與 amp-pixel
範例類似。每當網頁可見時,就會觸發觸發事件,並將網頁瀏覽資料連同隨機 ID 一起傳送到定義的網址
<amp-analytics>
<script type="application/json">
{
"requests": {
"pageview": "https://foo.com/pixel?RANDOM"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
在以上範例中,我們已將名為 pageview 的要求定義為 https://foo.com/pixel?RANDOM
。如先前所述,RANDOM 會替換為隨機數字,因此要求最終看起來會像 https://foo.com/pixel?0.23479283687235653498734
。
當網頁變成可見 (由觸發關鍵字 visible
指定) 時,就會觸發事件並傳送 pageview
要求。觸發條件屬性決定何時觸發 pageview 要求。進一步瞭解要求和觸發條件。
變數替換
amp-pixel
和 amp-analytics
元件都允許所有標準網址變數替換 (請參閱AMP HTML 變數替換)。在以下範例中,網頁瀏覽要求會連同目前的 AMP 文件的標準網址、標題和 用戶端 ID 一起傳送到網址
<amp-pixel src="https://example.com/analytics?url=${canonicalUrl}&title=${title}&clientId=${clientId(site-user-id)}"></amp-pixel>
由於其簡便性,amp-pixel
標記只能包含平台定義或 AMP 執行階段可以從 AMP 網頁剖析的變數。在以上範例中,平台會填入 canonicalURL
和 clientId(site-user-id)
的值。amp-analytics
標記可以包含與 amp-pixel
相同的變數,以及標記設定中唯一定義的變數。
在網頁或平台定義的變數的要求字串中使用 ${varName}
格式。amp-analytics
標記會在建構數據分析要求時,將範本替換為其實際值 (另請參閱amp-analytics
中支援的變數)。
在以下 amp-analytics
範例中,網頁瀏覽要求會連同從變數替換中擷取的其他資料一起傳送到網址,其中一些資料由平台提供,另一些資料則在 amp-analytics
設定中內嵌定義
<amp-analytics>
<script type="application/json">
{
"requests": {
"pageview":"https://example.com/analytics?url=${canonicalUrl}&title=${title}&acct=${account}&clientId=${clientId(site-user-id)}"
},
"vars": {
"account":"ABC123"
},
"triggers": {
"someEvent": {
"on": "visible",
"request": "pageview",
"vars": {
"title": "My homepage"
}
}
}
}
</script>
</amp-analytics>
在以上範例中,變數 account
和 title
是在 amp-analytics
設定中定義的。canonicalUrl
和 clientId
變數未在設定中定義,因此其值會由平台替換。
使用者識別
網站會使用 Cookie 在瀏覽器中儲存特定使用者的資訊。Cookie 可用於判斷使用者是否曾造訪過網站。在 AMP 中,網頁可以從發布商的網站或快取 (例如 Google AMP 快取) 提供。發布商的網站和快取可能具有不同的網域。基於安全性考量,瀏覽器可以 (而且通常會) 限制存取其他網域的 Cookie (另請參閱跨來源追蹤使用者)。
根據預設,無論網頁是從發布商的原始網站或透過快取存取,AMP 都會管理用戶端 ID 的佈建。AMP 產生的用戶端 ID 的值為 "amp-"
,後接隨機 base64
編碼字串,如果同一使用者再次造訪,則保持不變。
AMP 會管理所有情況下用戶端 ID 的讀取和寫入。當網頁透過快取提供,或在發布商原始網站的檢視環境外顯示時,這一點尤其值得注意。在這種情況下,無法存取發布商網站的 Cookie。
當 AMP 網頁從發布商的網站提供時,AMP 使用的用戶端 ID 架構可以被告知要尋找和使用的備用 Cookie。在這種情況下,clientId
變數的 cid-scope-cookie-fallback-name
引數會解譯為 Cookie 名稱。格式可能會顯示為 CLIENT_ID(cid-scope-cookie-fallback-name)
或 ${clientId(cid-scope-cookie-fallback-name)}
。
例如
<amp-pixel src="https://foo.com/pixel?cid=CLIENT_ID(site-user-id-cookie-fallback-name)"></amp-pixel>
如果 AMP 發現已設定此 Cookie,則用戶端 ID 替換會傳回 Cookie 的值。如果 AMP 發現未設定此 Cookie,則 AMP 會產生格式為 amp-
的值,後接隨機 base64 編碼字串。
進一步瞭解用戶端 ID 替換,包括如何在 AMP 數據分析中支援的變數中新增選用的使用者通知 ID。