追蹤多個網域 - 網頁追蹤 (ga.js)

本文件說明如何在單一資料檢視 (設定檔) 中收集多個網域的造訪次數,就像兩個不同的網站一樣。也會說明如何追蹤網站的某些部分,例如子目錄和 iframed 內容。如果您不熟悉跨網域追蹤的一般程序,請參閱「 跨網域追蹤簡介」一文。

簡介

Google Analytics (分析) 預設用來追蹤單一網域 (例如 www.example.com) 的內容和訪客資料。

不過,假設您想要使用 Analytics (分析) 來處理更複雜的情況,例如追蹤:

  • 子網域:「同時」dogs.example.comwww.example.com 的所有訪客,而且兩者的資料都會顯示在同一個報表資料檢視 (設定檔) 中
  • 子目錄:僅限附在獨立報表中造訪 www.example.com/dogs 子目錄的訪客,並將訪客視為單一網站
  • 第三方購物車:造訪您網路商店,以及其他網域上代管購物車的訪客
  • 頂層網域:您擁有兩個網域 (例如 www.example-petstore.comwww.my-example-blog.com) 的所有訪客,且兩者的資料都會在同一個報表資料檢視 (設定檔) 中顯示。
  • IFramed 內容:其他網域中 I-Frame 內容的訪客和網頁瀏覽資料。

無論哪種情況,您都必須自訂追蹤程式碼,才能正確追蹤訪客。在此之前,建議您先瞭解在預設的 Analytics (分析) 安裝作業中,如何處理網域和目錄

追蹤案例

本區段涵蓋各種追蹤情況,按熱門方法排序。

跨多個網域和子網域進行追蹤

在這種情況下,您可能會想要追蹤兩個不重複網域和一個子網域。 舉例來說,假設您有一家網路商店,也想追蹤網誌的訪客和廣告活動資料。

跨多個網域和子網域進行追蹤

以下說明三個範例網址自訂的重要追蹤程式碼。

  • 網路商店網域www.example-petstore.com

    您只需要自訂指向 www.my-example-blogsite.com 的連結或表單資料。如果連結至這個網站的子網域,則不必這麼做,因為 _setDomainName() 函式將 .example-petstore.com 定義為網域,允許任何其他子網域的 Cookie 存取。

  • 網路商店子網域dogs.example-petstore.com

    傳回主網域的連結不需要設定,因為子網域與主網域共用相同的 Cookie。

  • 網誌網域www.my-example-blogsite.com

    這項設定會將網域名稱設為網誌網站的頂層網域。如此一來,如果您之後為網誌網站新增任何子網域,該子網域就能與上層網域共用 Cookie,而您就不必在它們之間設定特殊的連結呼叫。不過,對於 www.example-petstore.com 的任何表單或連結,您仍需使用 _link()_linkByPost() 方法。

跨網域及其子網域進行追蹤

如前所述,Google Analytics (分析) 預設設定是追蹤單一網域 (例如 www.example.com) 的內容和訪客資料。這表示即使您同時管理某個網域和子網域,還是必須修改追蹤程式碼,才能跨網域共用訪客資料。

假設您想將下列網址視為單一實體進行追蹤:

  • www.example-petstore.com
  • dogs.example-petstore.com
  • cats.example-petstore.com

進行這項設定時,您必須對這三個網域內的追蹤程式碼使用下列主要自訂設定。

您不必調整這三個網站之間的連結或表單,因為它們可能共用相同的 Cookie,因為您已將網域名稱設為頂層網域 (例如example-petstore.com)。

追蹤網域與其他網域的子目錄

另一個常見的追蹤情境,是追蹤單一網域和不同網域子目錄之間的訪客和流量資料。 當您想追蹤網站和線上網誌之間的流量時,例如網誌受限於該網誌服務的子目錄,就可能發生這種情況。 以下範例網址在兩個網頁上都含有建議的追蹤程式碼自訂設定。

網站主要網域:www.example.com

網誌網址:www.blog-hosting-service.com/myBlog

針對從 www.example-petstore.com 提交至購物車網站的任何表單,您可以使用 _linkByPost() 方法,透過 HTTP POST 將流量和訪客 Cookie 資料複製到購物車網站。_setAllowLinker() 方法會引導目標網站從 POST 資料 (而非一般使用者工作階段資訊) 讀取 Cookie 資料。這樣就能將某網域的 Cookie 資料集傳到另一個網域,藉此將來自網路商店的訪客工作階段保留在購物車中。

同樣地,使用 _link() 函式,針對從網路商店帶往購物車的任何連結,轉移訪客資料。

跨 iframe 追蹤

在透過開啟新視窗或在 iframe 中加入內容來完成網域之間轉移的網站中,您必須使用 _getLinkerUrl() 方法將訪客和廣告活動 Cookie 從一個網域轉移至另一個網域。舉例來說,假設您在由 www.my-example-iframecontent.com 代管的 iframe 中加入表單。如要從 www.example-parent.com 上代管 iframe 的上層網頁轉移訪客資訊,您必須使用 JavaScript 載入 iframe,並透過 _getLinkerURL() 方法傳入 Cookie 資訊。

以下範例只說明連結函式,並假設這兩個網域的追蹤程式碼片段已設定跨網域追蹤

為 Internet Explorer 設定 iframe 追蹤

如果 iframe 內容是由上層網頁以外的網域代管,則系統會將其視為第三方內容。在 Internet Explorer 6 以上版本中,預設的隱私權設定不允許第三方網站在第一方網站儲存 Cookie。

因此,iFramed 網頁的 Analytics (分析) 追蹤需要特殊設定才能在 Internet Explorer 中運作。對於位於 iframe 中的網頁,您需要設定隱私權偏好設定。您可以使用下列其中一種方法,在代管網頁上進行隱私權偏好設定:

  • 為納入的網站網頁加入特殊的「隱私權偏好設定平台」(P3P) HTTP 標頭
  • 為包含的網站網頁提供 P3P XML 資訊清單

詳情請參閱下列資源:

追蹤單一子目錄

要限制 Analytics (分析) 追蹤範圍較大的一個子目錄,有兩種常見的情況:

  • 您只能存取大型網站的子目錄,例如使用電子商務代管服務時的情況。
  • 您想要限制追蹤範圍中大型網站的子目錄,例如您在公司網站上啟動專案時,這個網站也使用 Analytics (分析) 追蹤功能。

假設您的 Analytics (分析) 帳戶設有資料檢視 (設定檔),用來追蹤訪客資料與線上形象,而這項資料只是大型網站代管商 (例如網誌服務) 的一部分。您的網站本身是由 www.example.com/myBlog/ 代管。 您想要記錄 /myBlog 子目錄的訪客和廣告活動資料,而非 example.com 網域中的任何其他網頁。在這種情況下,您也只能存取該子目錄中的網頁。

如要為您的商店設定追蹤,您必須在追蹤程式碼中使用 _setCookiePath() 函式,例如:

設定完成後,報表就只會正確顯示子目錄的訪客和廣告活動資料。這是因為 Cookie 路徑是設為子目錄,而非 www.example.com 的根目錄,而您的資料檢視 (設定檔) 只會讀取並寫入您商店專屬的一組 Cookie。

在這種情況下,是使用 _setCookiePath() 函式的最佳做法。否則,報表可能會受到以下兩個影響:

  • 您的帳戶可共用 www.example.com 上設定的其他 Analytics (分析) 帳戶 Cookie

    這表示 new vs returningtime on sitenumber of visits 等訪客統計資料可能不正確,因為訪客的工作階段 Cookie 也可能反映 www.example.com 其他部分的活動。

  • 報表可能會反映網站其他部分的廣告活動詳細資料。

    舉例來說,假設訪客點選電子郵件廣告活動前往了相同網域的其他網站:www.example.com/theirBlog。在這種情況下,訪客 Cookie 中的參照連結網址資訊會設為名為 Blogging on Blogging 的廣告活動。之後,同一位訪客在瀏覽器中輸入 www.example.com/yourBlog 並購買訂閱網誌內容,直接回到您的網站。由於所有其他廣告活動參照連結網址都會延續到直接造訪,因此您會看到廣告活動網誌最新消息 ,能夠提高您的訂閱銷售量。這是因為網路商店的 _utmz Cookie 並未專屬於您的路徑。

如果您限制訪客 Cookie 只使用路徑,其他部分 www.example.com 的廣告活動和工作階段資料就不會納入報表中,因為 Cookie 路徑受到限制。(如需進一步瞭解網路瀏覽器如何讀取 Cookie,請參閱 Cookie 一文)。

其他子目錄提示

  • 若要追蹤子目錄的訪客和參照連結網址流量,建議您同時對子目錄設定「包含」篩選器,確保報表只會包含該子目錄的內容。詳情請參閱說明中心的「預先定義的篩選器」一文。
  • 如果您在網域上設定子目錄追蹤,請確認根路徑 (例如 /) 及其下層所有網頁都已停用 Analytics (分析) 追蹤功能。舉例來說,如要分別追蹤網站的子目錄,www.example.com/index.html 不應啟用 Analytics (分析) 追蹤功能。如果未停用根路徑的追蹤功能,系統會針對已設定路徑層級追蹤的網頁設定 2 組 Cookie,一組用於子目錄,另一組則用於頂層網域。

追蹤同一個網域上的兩個子目錄

建議您在某個網域上追蹤多個子目錄,但該網域無法存取大型網域網頁。舉例來說,假設您在服務供應商的網站上同時有網路商店和購物車:

  • www.example-commerce-host.com/myStore/
  • www.example-commerce-host.com/myCart/

如要追蹤使用者工作階段和廣告活動資料從商店帶到購物車,您可以使用兩種方法達成此目的:

  • _setCookiePath() 方法,限制追蹤特定目錄
  • _cookiePathCopy() 方法,可將 Cookie 資訊複製到相同網域的其他目錄

以下範例顯示追蹤程式碼片段中,用來追蹤使用者工作階段和從商店到購物車的廣告活動資料的重要部分:

在這種情況下,系統會為網域設定不重複的 Cookie,但僅限於提供的第一個目錄,相同的 Cookie 資料也會複製到提供的第二個目錄。由於這兩個網站位於同一個網域,因此不需要變更兩個目錄之間的任何連結或表單資料。

跨網域追蹤的關鍵要素

本節提供重要元件的詳細資訊和最佳使用方式,協助您解決跨網域追蹤設定的問題。

資料檢視 (設定檔)

設定跨網域追蹤時,別忘了對資料檢視 (個人資料) 進行下列操作:

  • 為不含篩選器的主網域設定主要資料檢視 (設定檔)

    為了以特殊方式使用資料檢視 (設定檔),因此對於跨網域追蹤,您必須先為主要網域設定主要資料檢視 (設定檔)。這個資料檢視 (設定檔) 不應加入任何 篩選器。這樣一來,在跨追蹤資料檢視 (設定檔) 中設定篩選器時,系統一律會有主要網域的基準歷來資料,以供參考。

  • 請建立資料檢視 (設定檔),特別是跨網域追蹤,並重複使用追蹤程式碼

    設定資料檢視 (設定檔) 並擷取主網域的追蹤程式碼後,所有其他網站資源請使用相同的追蹤程式碼。這樣,您的設定就會在啟動跨網域追蹤「之前」正確設定,也會取得所有網站資源的歷來資料。如果您遵循設定主要資料檢視 (設定檔) 的建議,只需要使用主要資料檢視 (設定檔) 中提供的追蹤程式碼,為主要網域建立額外的資料檢視 (設定檔) 即可。至於您要連結的所有其他網站資源,也都應使用相同的追蹤程式碼。

  • 使用篩選器修改跨網域資料檢視 (設定檔),以便在內容報表中顯示完整的網域。

    建立網域連結後,您只會在內容報表中看到要求 URI,而不會顯示特定網頁的頂層網域或子網域。以造訪下列網頁為例:
    - http://www.example.com/index.php 和 的其他網頁
    - http://sub.example.com/more.php
    這些報表會顯示:
    - index.php
    — more.php
    您無法分辨網頁和哪個網域。如要在網頁報表中顯示網域,請設定篩選器來納入網頁網址的所有元件,如下所示:

    1. 在「資料檢視 (設定檔) 設定」頁面中,按一下「新增篩選器」連結。
    2. 選擇「新增篩選器」,並提供篩選器名稱。
    3. 選擇「自訂篩選器」,然後在「篩選器類型」設定中選取「進階」
    4. 在「進階設定」下方:
      1. FieldA 應設為 Hostname
      2. FieldB 應設為「要求 URI」
    5. 將欄位 A 和欄位 B 的值設為 (.*),這是擷取所有字元的運算式。
    6. 將「Output To --> 建構函式」選項設為「要求 URI」,並提供 $A1$B1 做為該選項的值。

    報表現在會顯示:
    - www.example.com/index.php
    -
    sub.example.com/more.php
    系統會擷取網址的 www.example.com 部分,並在內容報表部分頁面網址的開頭加入這個值。

Cookie:傳送訪客資料前的必要資料

為了讓兩個網域共用相同的訪客資料 (例如工作階段和訪客類型),這兩個網域必須能複製或共用相同的 Cookie 資訊。此外,您也應注意下列事項:

某個網域的工作階段必須透過正確設定的點擊或表單提交,或透過 _getLinkerURL 轉移至另一個網域

透過這三種方法傳送 Cookie 資料後,系統會在單一工作階段中連結兩個網頁瀏覽。就算使用者分別造訪了兩個在同個資料檢視 (設定檔) 中追蹤的網站 (例如透過書籤),這些造訪仍會計入不同的工作階段。在此情況下,系統不會叫用連結方法,因此無法判斷特定使用者的啟動工作階段。

為清楚瞭解跨網域追蹤,您可以清楚瞭解 Cookie 是由許多欄位識別,且在預設情況下,系統不會在網域之間共用 Cookie。此外,Analytics (分析) 會自動關閉 Cookie 共用功能。因為在許多情況下,不建議在多個網域之間共用同一個 Cookie。請參閱 Cookie 參考資料中的「Cookie 識別與過期的重要性」。此外,Analytics (分析) 預設會為 Cookie 加入額外的完整性檢查。

_setDomainName('yourDomainName')

功用:
這個方法會將 Cookie 的網域欄位設為參數中提供的字串。透過這個方法,您可以控制 Cookie 使用的網域名稱。您只須在頂層網域之間設定連結,因為子網域會與上層網域共用相同的 Cookie。
適用時機
如果您想將頂層網域和子網域視為一個實體,並在同一個資料檢視 (設定檔) 中追蹤,請使用這個選項。此外,當您想跨多個頂層網域「以及」其子網域進行追蹤時,也可以使用這個方法。在此情況下,您必須在頂層網域之間 (而非頂層網域與其子網域之間) 建立連結。
不適合使用的時機
如果您追蹤的是單一網域,則不需要明確設定網域名稱。