本文適用於需要使用相同 Google 代碼評估多個網域的開發人員。本文著重於 gtag.js 程式碼的導入作業。您也可以在 Google Analytics 資源的 Google 代碼設定中,設定其他網域。
跨網域評估功能可將不同網域上的兩個以上相關網站視為一個網站進行評估。如果消費者歷程橫跨多個網域,支援的產品可透過 Google 代碼評估活動。跨網域評估適用於所有 Google 產品,包括 Google Analytics、Google Ads 轉換評估和 Floodlight 轉換。
何時應實作跨網域評估
如要合併兩個以上網域的資料,請導入跨網域評估功能。
假設您的網站位於 example-petstore.com,而網站的電子商務元件是由另一個網域上的第三方購物車代管:example-commerce-host.com/example-petstore。
如果沒有跨網域評估,使用者抵達網路商店後前往第三方購物車,系統會將他們視為兩位不同的使用者,並記錄兩個不同時長的工作階段。啟用跨網域評估後,系統會將活動歸因於單一使用者。
運作方式
網域連接器會在來源網域和目標網域間共用第一方評估 Cookie。第一方評估 Cookie 會儲存在網路瀏覽器中,僅供相同網域的網頁存取。
設定跨網域評估的流程有兩個步驟:
- 來源網域會修飾指向目標網域的網址,使其包含來源網域的第一方評估 Cookie 值。
- 目標網域會檢查是否有已連結的評估 Cookie。
使用 Google 代碼進行跨網域評估時,系統會在指向到達網頁網域的網址中加入連接器參數,連結器參數在網址查詢參數中以「_gl」鍵表示:
https://www.example.com/?_gl=1~abcde5~
在目標網域中,系統會將代碼設為檢查網址中的連接器參數。如果找到有效的連接器參數,代碼就會擷取並儲存第一方評估 Cookie。
設定跨網域連結
如要為指向到達網頁網域的網址,在來源網域上設定跨網域評估,您需要建立 linker 物件。連接器會監聽指向到達網頁網域的連結點擊事件,並自動在這些連結的網址中加入連接器參數。
linker 物件需要 domains 參數,也就是一或多個網域的陣列。這段程式碼會將連接器參數附加到網頁上指向目標網域 'example.com' 的連結:
gtag.js
如要為 Google 代碼設定跨網域評估,請在代碼中加入指令,如下所示。linker將 example.com 替換成您的網域。
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('set', 'linker', {'domains': ['example.com']});
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
您可以在 domains 屬性中列出多個字串值。如果 domains 屬性至少有一個值,gtag.js 依預設會接受傳入的網域連結。您可以在 domains 屬性中加入多個值,並在所有網域上使用同一個程式碼片段。
Google Analytics 4 會遵守 gtag('set', 'linker', ...) 設定,只要 linker 指令是在相關 config 指令之前設定即可。不過,建議您在 Google Analytics 的「管理」頁面設定跨網域評估。請參閱瞭解如何設定跨網域評估。
gtag('set', 'linker', {
'domains': ['example.com', 'example-b.com']
});
代碼管理工具
適用於 Google Ads 和 Floodlight 代碼
在代碼管理工具中建立轉換連接器代碼,然後將代碼設為自動連結網域。
- 依序點選 [代碼] > [新增]。
- 按一下 [代碼設定],然後選取 [轉換連接器]。
- 選取觸發條件。在多數情況下,您使用的觸發條件應該能夠在每一次發生網頁瀏覽時觸發,或是只在網站訪客點擊廣告並連往特定轉換頁時觸發。
- 選取 [啟用跨網域連結];這個設定會啟用轉換連接器代碼來處理包含連接器參數的連入連結。
- 在「自動連結網域」中,列出應該與這項代碼連結的網域。凡是指向這個欄位內所列網域的連結,網址中都會附加連接器參數。
- 儲存並發布代碼設定。
Google Analytics 4 代碼
在 Google Analytics 4 中,跨網域評估通常是使用 Google Analytics 管理介面設定。瞭解如何使用 Google Analytics 4 設定跨網域評估。
連結器參數參考資料
| 參數 | 類型 | 接受的值 |
|---|---|---|
accept_incoming |
布林值 | true (如果 domains 有值,則為預設值)、
false |
decorate_forms |
布林值 | true、false (預設) |
domains |
陣列 | 一或多個網域的陣列,例如:
['example1.com', 'example2.com'] |
url_position |
字串 | 'query' (預設)、'fragment' |
accept_incoming
使用者抵達目標網域的網頁,且網址中含有連接器參數時,您必須設定代碼來剖析該參數。
如果目標網域已設定為自動連結網域,系統預設會接受連接器參數。目標網域不需要額外程式碼。
如果目標網域未設定為自動連結網域,您可以指示到達網頁尋找連接器參數。將 accept_incoming 屬性設為 true。
gtag.js
gtag('set', 'linker', {
'accept_incoming': true
});
代碼管理工具
Google Ads 和 Floodlight 轉換的轉換連接器代碼
勾選「接受傳入的連結器參數」核取方塊。
decorate_forms
如要評估在多個網域之間傳送的表單資料,請將 decorate_forms 屬性設為 true。
gtag.js
gtag('set', 'linker', {
'domains': ['example.com'],
'decorate_forms': true
});
代碼管理工具
Google Ads 和 Floodlight 轉換的轉換連接器代碼
將「裝飾表單」設為「true」。
Google Analytics 代碼
代碼管理工具中的 Google Analytics 代碼沒有 decorate_forms 控制項。請改用 gtag.js 指南。
domains
要連結的一或多個網域陣列。
gtag.js
gtag('set', 'linker', {
'domains': [
'example1.com',
'example2.com',
'subdomain1.example3.com',
'subdomain2.example3.com'
]
});
代碼管理工具
Google Ads 和 Floodlight 轉換的轉換連接器代碼
- 選取「啟用跨網域連結」
- 在「自動連結網域」欄位中,輸入以半形逗號分隔的網域清單。
Google Analytics
url_position
某些內容應用程式會要求您在網址字串中使用片段/雜湊字元 (#) 做為分隔符號,而非較常用的問號字元 (?),以表示查詢參數。如要設定連接器參數,使其顯示在 # 字元後的網址中 (例如 https://example.com#_gl=1~abcde5~),請將 url_position 設為 fragment。
gtag.js
gtag('set', 'linker', {
'domains': ['example.com'],
'decorate_forms': true,
'url_position': 'fragment'
});
代碼管理工具
Google Ads 和 Floodlight 轉換的轉換連接器代碼
如果您需要讓代碼管理工具從片段 (#) 中讀取專用參數,而非從標準查詢 (?) 讀取,請將「網址位置」欄位設為「片段」。不需要這麼做的話,請沿用預設的「查詢參數」選項即可。
Google Analytics 代碼
如要為 Google Analytics 代碼設定 url_position,請在 Google 代碼的設定設定中設定 linker
參數。
- 在代碼管理工具中,開啟 Google 代碼。
- 在「配置設定」中,按一下「新增參數」。
- 在「Configuration Parameter」(設定參數) 中輸入
linker。 - 在「值」部分輸入連結器物件,包括
url_position和domains。舉例來說,如要將url_position設為fragment,並連結example.com和anotherexample.com,請輸入:none `{'url_position': 'fragment', 'domains': ['example.com', 'anotherexample.com']}` - 儲存並發布容器。