Google 代碼 API 參考資料

Google 代碼 (gtag.js) API 是由單一函式 gtag() 組成,其語法如下:

gtag(<command>, <command parameters>);
  • <command> 是下列其中一個指令:
  • <command parameters> 是您可以傳遞至 gtag() 的參數。指令參數會因指令而不同;請參閱下方的指令參考資料。

您可以在網頁上的任何位置叫用 gtag() 指令,前提是您的指令必須顯示在 Google 代碼片段下方。如要瞭解如何在網頁中加入程式碼片段,請參閱安裝指南

參數範圍

您可以將參數值的範圍限制為個別事件、傳送至特定 <TARGET_ID> 的所有事件,或是全域套用至所有事件。方法是使用 eventconfigset 指令。

在某個範圍中設定的參數值不會修改在不同範圍中為相同參數設定的值。在以下範例中,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

以下範例說明如何設定代碼,透過可傳遞 false 值的 send_page_view 和可傳遞 'agency' 值的 groups 參數,將資料傳送至 Analytics (分析) 帳戶,以便瞭解如何傳送其他設定資訊。

gtag('config', 'TAG_ID', {
  'send_page_view': false,
  'groups': 'agency'
});

get

可讓您從 gtag.js 取得各種值,包括使用 set 指令設定的值。

gtag('get', '<target>', '<field_name>', callback)
引數 類型 範例 說明
<target> string G-XXXXXXXXXX

要從哪個目標擷取值。

<field_name> FieldName client_id 要取得的欄位名稱。
回呼 Function (field) => console.log(field)

系統會使用要求的欄位叫用函式;如未設定,則為 undefined

FieldName

欄位名稱可以是您使用 gtag('set') 指令設定的自訂欄位名稱,也可以是下列其中一個值:

欄位名稱 支援的目標
client_id
  • Google Analytics (分析) 4
  • Google Analytics (分析) 通用 Analytics (分析)
session_id
  • Google Analytics (分析) 4
gclid
  • Google Ads
  • 泛光燈

範例

實現計畫價值

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_viewapp_namescreen_name

gtag('event', 'screen_view', {
  'app_name': 'myAppName',
  'screen_name': 'Home'
});

使用 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 任何正整數 設定等待同意聲明更新呼叫的時間 (以毫秒為單位)。