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

自訂變數是名稱/值組合,您可以插入追蹤程式碼中,藉此修正 Google Analytics (分析) 追蹤情況。您可以透過自訂變數來定義其他區隔,將區隔套用至 Analytics (分析) 以外的區隔。本文說明自訂變數的設定方式和設定方式。

總覽

如果您已瞭解 Google Analytics (分析) 中使用的基本訪客互動模式,就能發揮自訂變數的最大效益。在此模式下,訪客在一段時間內與您的內容互動,並將網站參與度細分為階層結構。

這張圖表說明瞭網站單一訪客的模型,其中每個區塊代表來自特定使用者的使用者工作階段和互動次數。

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

  • 訪客:造訪網站的使用者,例如使用者操作的瀏覽器或手機。
  • 工作階段:訪客在網站上的活躍期間。
  • 頁面:使用者代表將活動傳送至 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 RemovedYes 值來定義網站使用者帶來的該活動。此外,您也可以設定 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) 方法移除自訂變數。

返回頁首

示範案例

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

網頁層級自訂變數

使用網頁層級自訂變數,為使用者定義網頁層級活動的集合。

舉例來說,假設您負責管理一家線上報紙的網站,訪客會瀏覽許多不同文章。雖然您可以輕鬆判斷哪些特定文章最受歡迎,但您也可以使用自訂變數來判斷報紙哪些版面最受歡迎。方法是在網頁層級將每篇報導的自訂變數設為該文章的區段。例如,您可能會有生活 &樣式評論Business 等區段。您可以設定自訂變數,按類別追蹤所有文章。

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

_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.
   ]);

讓我們繼續執行本範例。假設你不只想要標記特定文章的版面,還想標記子區段。舉例來說,報紙的「Life & Style」區段可能包含多個子區段,例如「Food & Drink」、「Fashion」和「Sports」。因此,對於特定文章,您可以同時追蹤該部分和子區段。 你可以設定其他自訂變數,按子區段追蹤所有文章。

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

_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.
   ]);

假設您要追蹤使用者類型,以及特定工作階段是否發生購買嘗試。假設每個頁面都能讓使用者登入,建議您為「User Type」自訂變數保留版位 #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,後續工作階段的版位 #1 為 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

造訪報表會如下所示:

  • # 區段的造訪次數:0
  • login=true: 0 的造訪次數
  • 轉換 ID 為 #= 的造訪次數:1

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

這裡的版位 1 是訪客 1 造訪中訪客層級的自訂變數,接著在訪客 3 造訪某個網頁層級的自訂變數。因此,訪客層級變數並不會覆寫網頁層級變數。

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

造訪報表會如下所示:

  • 「gender=male」的造訪次數:2
  • 已轉換的 # 次造訪:false:1
  • # 區段的造訪次數:1
  • 請勿在運算單元之間使用重複的鍵名稱。
  • 您可以在網頁瀏覽或事件 GIF 要求之前設定 _setCustomVar() 函式。
    在某些情況下,您可能無法這麼做,而且必須在設定自訂變數「之後」再設定另一個 _trackPageview() 要求。通常只有在使用者觸發工作階段或造訪層級的自訂變數時,才需要使用這項功能,因為我們無法將這類方法與網頁瀏覽、事件或電子商務追蹤組合包裝。
  • 使用版位矩陣來追蹤大量自訂變數。
    如果您有複雜的追蹤條件,混合型網頁和工作階段層級的變數可能會發生衝突,建議您建立版位矩陣,確保工作階段層級的變數不會不小心覆寫網頁層級變數。
  • 考慮針對特定應用程式使用事件追蹤,而非自訂變數。
    舉例來說,假設您經營一家網路音樂商店,且想要追蹤登入工作階段、購買嘗試工作階段,以及播放音樂樣本的工作階段。建議您使用事件追蹤來追蹤音樂嘗試次數,而不是使用工作階段層級的變數來達到這個目標。在此處,您可以使用事件追蹤呼叫的第 4 個值參數,從自己的 Cookie 傳入工作階段資料。
  • 請勿使用工作階段層級變數來追蹤可透過網頁層級變數追蹤的行為。
    舉例來說,假設您按工作階段追蹤登入狀態和購物嘗試狀態,而您的網站也提供了「成員與特別追蹤」頁面。由於網頁層級自訂變數會顯示特定變數的造訪次數,因此您可以至少獲得一次造訪該網頁的造訪次數。

返回頁首