Google 代碼 (gtag.js) API 由單一函式 gtag()
組成,其語法如下:
gtag(<command>, <command parameters>);
<command>
是下列其中一個指令:<command parameters>
是您可以傳遞至gtag()
的參數。指令參數會因指令而異;請參閱下方的指令參考資料。
只要指令顯示在 Google 代碼片段下方,您就可以在網頁的任何位置叫用 gtag()
指令。如要瞭解如何將程式碼片段新增至網頁,請參閱安裝指南。
參數範圍
您可以將參數值的範圍限定為個別事件、傳送至特定 <TARGET_ID>
的所有事件,或是所有事件。這可透過 event
、config
和 set
指令達成。
在一個範圍中設定的參數值,不會修改在不同範圍中為相同參數所設定的值。在以下範例中,config
指令不會修改先前透過 set
指令指派給 campaign_id
的通用值。執行這兩項指令後,campaign_id
的全域值仍然是 '1234'
。
// Set global campaign ID
gtag('set', { 'campaign_id': '1234' });
// Set campaign ID for <TARGET_ID>
gtag('config','<TARGET_ID>', { 'campaign_id': 'ABCD' });
參數優先順序
如果在不同範圍中為同一個參數指派不同的值,處理事件時只會使用單一值。範圍限定為 event
的參數值優先於範圍為 config
的參數,而 config
參數的優先順序高於使用 set
的全域範圍參數。
// Set campaign information at the global scope
gtag('set', { 'campaign_name': 'Black Friday Sale' });
// Set currency for <TARGET_ID1> to 'USD'
gtag('config','<TARGET_ID1>', { 'currency': 'USD' });
// Process a conversion event with currency: 'GBP'
gtag('event','conversion', { 'currency': 'GBP', 'send_to': '<TARGET_ID1>' });
// Process a conversion event with currency: 'EUR'
gtag('event','conversion');
// Process a conversion event with currency: 'USD'
gtag('event','conversion', { 'send_to': '<TARGET_ID1>' });
config
可讓您將額外的設定資訊新增至目標。這通常是產品的專屬設定,但如果您同時使用 Google Ads 和 Google Analytics,只需設定一次即可。
gtag('config', '<TARGET_ID>', {<additional_config_info>});
<TARGET_ID>
是用於識別命中目標的專屬 ID,例如 Google Analytics 資源或 Google Ads 帳戶。<additional_config_info>
是一或多個參數值組合。
以下範例會設定代碼,將資料傳送至 Google Ads 帳戶:
gtag('config', 'TAG_ID');
其中「TAG_ID」是 Google 代碼的代碼 ID。
為說明如何傳送其他設定資訊,以下範例會設定代碼,將資料傳送至 Analytics 帳戶,其中 send_page_view
參數會傳遞 false
的值,而 groups
參數會傳遞 'agency'
的值。
gtag('config', 'TAG_ID', {
'send_page_view': false,
'groups': 'agency'
});
get
可讓您從 gtag.js
取得各種值,包括使用 set
指令設定的值。
gtag('get', '<target>', '<field_name>', callback)
引數 | 類型 | 範例 | 說明 |
---|---|---|---|
<target> | string |
G-XXXXXXXXX |
要擷取值的目標。 |
<field_name> | FieldName | client_id | 要取得的欄位名稱。 |
回呼 | Function |
(field) => console.log(field) |
會在要求的欄位中叫用的函式,如果未設定,則為 |
FieldName
欄位名稱可以是您使用 gtag('set')
指令設定的自訂欄位名稱,也可以是下列其中一個值:
欄位名稱 | 支援的目標 |
---|---|
client_id |
|
session_id |
|
gclid |
|
範例
發揮承諾的效益
const gclidPromise = new Promise(resolve => {
gtag('get', 'DC-XXXXXXXX', 'gclid', resolve)
});
gclidPromise.then((gclid) => {
// Do something with gclid...
})
將事件傳送至 Measurement Protocol
gtag('get', 'G-XXXXXXXXXX', 'client_id', (clientID) => {
sendOfflineEvent(clientID, "tutorial_begin")
});
function sendOfflineEvent(clientID, eventName, eventData) {
// Send necessary data to your server...
}
取得您設定的價值
gtag('set', {campaign_name: 'Spring_Sale'});
gtag('get', 'G-XXXXXXXXXX', 'campaign_name', (campaign_name) => {
// Do something with currency value you set earlier.
})
set
您可以使用 set 指令定義參數,這些參數會與網頁上後續的每個事件相關聯。
gtag('set', {<parameter-value-pair>, <parameter-value-pair>});
舉例來說,您可以共用 campaign 參數,讓同一個網頁上的多個代碼存取這些參數。
以下範例說明如何為黑色星期五購物活動設定廣告活動名稱和 ID。由於您已使用 set
,所有其他代碼 (例如 GA4 事件代碼或 Google Ads 再行銷代碼) 都可以存取這項資料。
gtag('set', 'campaign', {
'id': 'abc',
'source': 'google',
'name': 'black_friday_promotion',
'term': 'running+shoes',
});
event
使用 event
指令傳送事件資料。
gtag('event', '<event_name>', {<event_params>});
<event_name>
為以下任一項:
<event_params>
是一或多個參數/值組合。每個組合之間以半形逗號分隔。
下列 event
指令會觸發建議事件 screen_view
,並使用兩個參數:app_name
和 screen_name
。
gtag('event', 'screen_view', {
'app_name': 'myAppName',
'screen_name': 'Home'
});
consent
使用 consent
指令設定同意聲明。
gtag('consent', {<consent_arg>}, {<consent_params>});
如要進一步瞭解這些參數設定的行為,請參閱說明中心的同意聲明。
<consent_arg>
為 'default'
或 'update'
之一。'default'
用於設定應使用的預設同意聲明參數,而 'update'
則用於在使用者表示同意後更新這些參數。
支援下列 <consent_params>
:
欄位名稱 | 接受的值 | 說明 |
---|---|---|
ad_storage |
'granted' | 'denied' |
啟用與廣告相關的儲存功能,例如 Cookie (網站) 或裝置 ID (應用程式)。 |
ad_user_data |
'granted' | 'denied' |
設定同意聲明狀態,指明可否基於廣告用途將使用者資料傳送給 Google。 |
ad_personalization |
'granted' | 'denied' |
設定個人化廣告的同意聲明。 |
analytics_storage |
'granted' | 'denied' |
啟用與數據分析 (例如造訪停留時間) 相關的儲存功能 (例如 Cookie (網站) 或應用程式 ID (應用程式))。 |
wait_for_update |
任何正整數 | 以毫秒為單位設定等待同意聲明更新呼叫的時間。 |