Google 代碼 API 參考資料

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

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

只要指令顯示在 Google 代碼片段下方,您就可以在網頁的任何位置叫用 gtag() 指令。如要瞭解如何將程式碼片段新增至網頁,請參閱安裝指南

參數範圍

您可以將參數值的範圍限定為個別事件、傳送至特定 <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

為說明如何傳送其他設定資訊,以下範例會設定代碼,將資料傳送至 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

要擷取值的目標。

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

會在要求的欄位中叫用的函式,如果未設定,則為 undefined

FieldName

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

欄位名稱 支援的目標
client_id
  • Google Analytics 4
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_view,並使用兩個參數:app_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 任何正整數 以毫秒為單位設定等待同意聲明更新呼叫的時間。