自訂變數 - 網頁追蹤 (ga.js)

自訂變數是名稱/值組合的代碼,您可以插入追蹤程式碼來修正 Google Analytics (分析) 追蹤作業。除了 Analytics (分析) 提供的區隔之外,您還可以定義其他區隔以套用至訪客。本文說明自訂變數及其設定方式。

總覽

如果您瞭解 Google Analytics (分析) 使用的基本訪客互動模型,就能發揮自訂變數的最大效益。在這個模型中,訪客在一段時間內與您的內容互動,且網站互動情形分成多個階層。

此圖表針對一名網站訪客呈現此模型,其中每個區塊都代表特定使用者的工作階段數和互動次數。

這個模型中的每個層級定義如下:

  • 訪客:造訪網站的客戶,例如使用者操作的瀏覽器或手機。
  • 工作階段:訪客在網站上處於活躍狀態的期間。
  • 網頁:代表使用者的活動,傳送 GIF 要求至 Analytics (分析) 伺服器。這通常屬於網頁瀏覽的特徵,但可能包含:
    • 網頁瀏覽
    • 事件 (例如按下電影按鈕)

這三種互動層級都各自定義了訪客參與度的特定範圍。 這個區別對自訂變數至關重要,因為每個自訂變數都受限於特定範圍。舉例來說,您可能想知道訪客將商品從購物車中移除的工作階段數。就這個特定的情況而言,您可以在工作階段層級定義自訂變數,讓系統將這位訪客的整個工作階段標記為並從線上購物車中移除商品。

返回頁首

使用自訂變數

您可以設定各種自訂變數來追蹤網站的使用者活動,因此您通常會自行建立 JavaScript 公用程式來管理這些變數。您的指令碼會使用基本方法建立自訂變數,如下所示:

_setCustomVar(index, name, value, opt_scope)

這個方法接受四個參數:

  • index:自訂變數的版位。必要。這是一個數字,其值介於 15 (含) 之間。自訂變數只能放置在一個版位中,不得在不同版位中重複使用。
  • name:自訂變數的名稱。必要。這是用來識別自訂變數的字串,且會顯示在 Analytics (分析) 報表的頂層「自訂變數」報表中。
  • value - 自訂變數的值。必要。這是與名稱配對的字串。您可以將多個值與自訂變數名稱配對。這個值會顯示在所選變數名稱的 UI 表格清單中。一般而言,特定名稱會使用兩個以上的值。舉例來說,您可以定義自訂變數名稱 gender,並提供 malefemale 做為兩個可能的值。
  • opt_scope:自訂變數的範圍。選用。如上所述,範圍定義了使用者與網站互動的程度。這個數字可能的值包括 1 (訪客層級)、2 (工作階段層級) 或 3 (網頁層級)。如未定義,自訂變數範圍會預設為頁面層級互動。

下列程式碼片段說明如何設定自訂變數,追蹤使用者從購物車中移除商品的造訪。在本例中,系統會在 _trackEvent() 方法之前呼叫 _setCustomVar() 方法,使其在 _trackEvent() 方法傳送的 GIF 要求中傳遞。它會使用名稱 Items Removed 搭配 Yes 值,定義網站使用者的活動。此外,您也可以同時為 Items RemovedNo 設定預設自訂變數。這樣一來,就會計算將商品從購物車中移除的造訪次數,以及不含移除項目的造訪次數。

非同步程式碼片段 (建議)

 _gaq.push(['_setCustomVar',
      1,                   // This custom var is set to slot #1.  Required parameter.
      'Items Removed',     // The name acts as a kind of category for the user activity.  Required parameter.
      'Yes',               // This value of the custom variable.  Required parameter.
      2                    // Sets the scope to session-level.  Optional parameter.
   ]);
 _gaq.push(['_trackEvent',
      'Shopping', // category of activity
      'Item Removal', // Action
   ]);

設定好自訂變數後,您可以使用 _deleteCustomVar(index) 方法移除自訂變數。

返回頁首

使用範例

視網站模式和業務需求而定,自訂變數有多種導入方式。這些範例探索各種用途,其中每個用途都說明不同的範圍層級:

網頁層級自訂變數

使用網頁層級自訂變數,定義使用者的一組網頁層級活動。

舉例來說,假設您管理的線上報紙網站,讓訪客瀏覽許多不同文章。您可以輕鬆判斷哪些文章最受歡迎,但您現在也可使用自訂變數,判斷報紙的哪些版面最受歡迎。方法是在每篇文章的網頁層級設定自訂變數,並將該篇報導的版面設為自訂變數。舉例來說,您可能會看到「生活與風格」、「評論」和「商業」等版面。您可以設定自訂變數,按版面追蹤所有報導。

非同步程式碼片段 (建議)

_gaq.push(['_setCustomVar',
      1,                   // This custom var is set to slot #1.  Required parameter.
      'Section',           // The top-level name for your online content categories.  Required parameter.
      'Life & Style',  // Sets the value of "Section" to "Life & Style" for this particular aricle.  Required parameter.
      3                    // Sets the scope to page-level.  Optional parameter.
   ]);

讓我們繼續舉例說明,假設您只想為某篇文章和子區段加上標記,舉例來說,報紙的「生活與風格」部分也可能有多個子區段,例如「餐飲」、「時尚」和「運動」。因此,您可以同時追蹤特定文章的版面和子區段。 您也可以設定額外的自訂變數,按子區段追蹤所有報導。

非同步程式碼片段 (建議)

_gaq.push(['_setCustomVar',
          2,                   // This custom var is set to slot #2.  Required parameter.
          'Sub-Section',       // The 2nd-level name for your online content categories.  Required parameter.
          'Fashion',           // Sets the value of "Sub-section" to "Fashion" for this particular article.  Required parameter.
          3                    // Sets the scope to page-level.  Optional parameter.
         ]);

在這個範例中,您要為單一網頁設定兩個同時的網頁層級自訂變數。單一網頁最多可追蹤五個自訂變數,每個變數都有不同的版位。也就是說,您可以在這個頁面上指派另外 3 個自訂變數。對於網站上的所有報導,您可以設定網頁層級自訂變數陣列,根據各種區段和子區段追蹤這些項目。如要進一步瞭解如何正確使用網頁層級的自訂變數,請參閱下方的使用規範

返回頁首

工作階段層級自訂變數

使用工作階段層級自訂變數,區分不同工作階段的訪客體驗。

舉例來說,如果網站允許使用者登入,您就可以使用限定於工作階段層級的自訂變數,掌握使用者登入狀態。這樣您就可以按照已登入和匿名訪客的訪客來區隔造訪。

非同步程式碼片段 (建議)

_gaq.push(['_setCustomVar',
      1,             // This custom var is set to slot #1.  Required parameter.
      'User Type',   // The name of the custom variable.  Required parameter.
      'Member',      // Sets the value of "User Type" to "Member" or "Visitor" depending on status.  Required parameter.
       2             // Sets the scope to session-level.  Optional parameter.
   ]);

假設您想同時追蹤使用者類型和特定工作階段內是否嘗試購買,假設每一個網頁都能讓使用者登入,我們就會將版位 #1 保留給「使用者類型」自訂變數,並在嘗試購買時使用另一個版位:

非同步程式碼片段 (建議)

_gaq.push(['_setCustomVar',
      2,                   // This custom var is set to slot #2.  Required parameter.
      'Shopping Attempts', // The name of the custom variable.  Required parameter.
      'Yes',               // The value of the custom variable.  Required parameter.
                           //  (you might set this value by default to No)
      2                    // Sets the scope to session-level.  Optional parameter.
   ]);

返回頁首

訪客層級自訂變數

使用訪客層級自訂變數,即可區分多個工作階段中的訪客類別。

舉例來說,如果您的網站為付費訂閱者提供付費內容,您可以設定造訪層級自訂變數,藉此分析哪些使用者是付費會員、付款級別,以及哪些使用者在網站上使用免費服務等級的服務。建議您將這個自訂變數設為一次性函式,因為這個值會在訪客 Cookie 的整個生命週期內持續有效。

非同步程式碼片段 (建議)

_gaq.push(['_setCustomVar',
      1,                // This custom var is set to slot #1.  Required parameter.
      'Member Type',    // The name of the custom variable.  Required parameter.
      'Premium',        // The value of the custom variable.  Required parameter.
                        //  (possible values might be Free, Bronze, Gold, and Platinum)
      1                 // Sets the scope to visitor-level.  Optional parameter.
 ]); 

使用指南

本節將說明不同類型自訂變數的差異,以及如何正確使用這類變數:

自訂變數類型

下表定義不同變數類型的重要特性。請注意,不同變數使用同一個運算單元時,某些限制會有所限制。

任何自訂變數名稱和值的總長度不得超過 128 個半形字元。

返回頁首

  時間長度 與其他變數共用版位 允許的號碼
頁面層級

單一網頁瀏覽、事件或交易呼叫。

要在網頁上呼叫的最後一個網頁層級變數,是套用至該網頁的變數。

任何網站資源 (網頁集合) 都可以設定許多不重複的網頁層級變數,而且可以重複使用。受限於特定工作階段中的命中次數。

每個網頁最多可設定五個同時自訂變數。

工作階段層級

訪客目前的工作階段。

工作階段中呼叫的最後一個工作階段層級變數,是該工作階段使用的變數。
範例:如果在工作階段開始時,運算單元 #1 的 login=false 和之後的運算單元為 login=true,則 login 的工作階段會設為 true

覆寫「在同一個工作階段中」呼叫的任何先前設定網頁層級變數。
範例:如果運算單元 #1 先用於 category=sports,然後針對工作階段的 login=true,系統不會為該工作階段記錄 category=sports

在任何網站資源中,您可以建立多個不同的工作階段層級自訂變數,數量不限,但可以用 128 個字元的鍵/值組合來定義。

一次最多可設定五個工作階段層級變數。

訪客層級

在使用訪客 Cookie 的效期內,目前工作階段與所有未來工作階段。

訪客的最後一個值會套用至目前和未來的工作階段。

您最多可以為任何網站資源建立五個不同的訪客層級變數。

返回頁首

混用不同變數類型的注意事項

一般來說,不建議將相同的自訂變數運算單元與不同類型混合,因為這可能會導致指標計算出現異常。

如果您為網站資源使用多個網頁、工作階段和訪客層級自訂變數,請務必審慎判斷重複使用的版位。如果網站層級發生,網頁或工作階段層級自訂變數同時使用同一個版位,則只有在已設定網頁層級變數的情況下,系統才會記錄工作階段層級 (或網頁層級) 變數。

下方情境說明由「單一」使用者在同一瀏覽器上設定的網頁、工作階段和訪客層級變數。在每個範例中,運算單元會以括號中的數字表示,「S:」則代表變數的範圍。

案例 1 - 優先採用最終工作階段層級變數

這裡的最後一頁在版位 1 中重複使用工作階段層級的自訂變數,因此會優先採用該變數。

前往 1 第 1 頁
(1) S:網頁層級
section=opinion
第 2 頁
(1) S:工作階段層級
login=true
第 3 頁
(1) S:工作階段層級
converted=true

造訪次數報表如下:

  • # section=opinion 的造訪次數:0
  • 含有 login=true 的造訪次數:0
  • conversion=true 的造訪次數:1

案例 2 - 優先造訪初始訪客層級變數

這裡的版位 1 會先使用造訪 1 的訪客層級自訂變數, 後面接著造訪 3 中的網頁層級自訂變數。如此一來,訪客層級變數就不會覆寫網頁層級變數。

造訪 1 第 1 頁
(1) S:訪客層級
gender=male
造訪 2 第 1 頁
(2) S:工作階段層級
converted=false
造訪 3 第 1 頁
(1) S:網頁層級
section=opinion

造訪次數報表如下:

  • 性別=男性的造訪次數:2
  • 轉換=false 的次數為 # 次:1
  • # section=opinion 的造訪次數:1
  • 請勿在運算單元之間使用重複的索引鍵名稱。
  • 如果可在網頁瀏覽或事件 GIF 要求之前設定此函式,請呼叫 _setCustomVar() 函式。
    在某些情況下,您可能無法採取這個做法,因此必須在設定自訂變數「之後」,設定其他 _trackPageview() 要求。一般來說,只有在使用者觸發工作階段或造訪層級的自訂變數時,才需要這麼做,因為無法將方法與網頁瀏覽、事件或電子商務追蹤呼叫組合在一起。
  • 使用版位矩陣來追蹤大量自訂變數。
    如果您的追蹤需求複雜,且其中混合的網頁層級和工作階段層級變數可能會發生衝突,請建構運算單元矩陣,確保工作階段層級的變數不會無意間過度過度使用網頁層級的變數。
  • 考慮針對特定應用程式使用事件追蹤,不要使用自訂變數。
    舉例來說,假設您有網路商店,且想要追蹤登入工作階段、購買嘗試工作階段,以及聽音樂取樣的工作階段。建議您使用事件追蹤來追蹤音樂嘗試播放音樂的次數,而不要使用工作階段層級的變數。在這裡,您可以使用事件追蹤呼叫的第 4 個值參數,從您自己的 Cookie 傳入工作階段資料。
  • 請勿使用工作階段層級變數來追蹤可透過網頁層級變數追蹤的行為。
    舉例來說,假設您按工作階段追蹤登入狀態和購物嘗試狀態,且網站提供您也想追蹤的「會員特別」網頁。由於網頁層級自訂變數會顯示該特定變數的造訪次數,因此您已經可以取得包含該網頁至少一次的造訪次數。

返回頁首