從 analytics.js 遷移至 gtag.js (通用 Analytics (分析))

本指南將逐步說明將現有的 analytics.js 通用 Analytics (分析) 導入作業遷移至使用 gtag.js 的程序。

總覽

analytics.js 提供兩種傳送資料給 Google Analytics (分析) 的主要機制:

  1. 追蹤工具

    追蹤程式會指定要測量的屬性。

  2. 命中類型

    命中類型可指定您要評估的互動類型。

gtag.js 屬性中,您可以透過 config 指令或指令的參數指定。

與 analytics.js 不同的是,gtag.js 不會使用追蹤器將資料傳送至 Google Analytics (分析)。系統會將資料傳送至 config 指令設定 ID 所識別的 Google Analytics (分析) 資源。提供給 gtag.js 的事件名稱會指定要傳送至 Google Analytics (分析) 的資料類型。

如要從 analytics.js 遷移至 gtag.js,請為網站的每個網頁執行下列步驟:

將 analytics.js 程式碼片段換成 gtag.js 程式碼片段

替換網頁上的 analytics.js 程式碼片段

<!-- Google Analytics -->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'TAG_ID', 'auto');
  ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

加入下列 gtag.js 程式碼片段

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID');
</script>

評估網頁瀏覽量

analytics.js 會使用追蹤程式將網頁瀏覽量傳送到 Google Analytics (分析)。一個追蹤程式擁有 Google Analytics (分析) 資源的評估 ID。gtag.js 會將網頁瀏覽傳送至 config 指令中指定的 TAG_ID 識別的 Google Analytics (分析) 資源。

使用預設追蹤程式評估網頁瀏覽量

移除下列使用預設追蹤程式,向 Google Analytics (分析) send 網頁瀏覽的 analytics.js 程式碼:

// Creates the default tracker.
ga('create', 'TAG_ID', 'auto');

// Uses the default tracker to send a pageview to the
// Google Analytics property with tag ID of 'TAG_ID'.
ga('send', 'pageview');

以下 gtag.js 程式碼片段中的下列程式碼會自動將網頁瀏覽傳送至 Google Analytics (分析) 資源 (代碼 ID 為 TAG_ID):

gtag('config', 'TAG_ID');

使用指定追蹤程式評估網頁瀏覽量

替換下列使用指定追蹤程式將網頁瀏覽傳送至 Google Analytics (分析) 的 analytics.js 程式碼:

ga('create', 'TAG_ID', 'auto', 'trackerName');
ga('trackerName.send', 'pageview');

並使用下列 gtag.js event 指令:

gtag('event', 'page_view', { 'send_to': 'TAG_ID' });

評估事件

如前文所述,analytics.js 會使用追蹤程式將事件傳送至 Google Analytics (分析)。追蹤程式擁有 Google Analytics (分析) 資源的追蹤 ID。相反地,gtag.js 會將事件傳送到 config 指令中指定的 TAG_ID 識別的 Google Analytics (分析) 資源。

使用預設追蹤工具評估事件

將下列使用預設追蹤程式的 analytics.js 程式碼,替換為 send 事件至 Google Analytics (分析):

ga('create', 'TAG_ID', 'auto');
ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);

使用下列 gtag.js event 指令:

gtag('event', eventName, eventParameters);

其中 eventName 是您要記錄的事件名稱。

示例:

analytics.js

// Creates the default tracker.
ga('create', 'TAG_ID', 'auto');

// Uses the default tracker to send the event to the
// Google Analytics property with a tag ID of `TAG_ID`.
ga('send', 'event', 'Videos', 'play', 'Fall Campaign');

gtag.js

// Sends the event to the Google Analytics property with a
// tag ID of `TAG_ID` set by the config command in
// the gtag.js snippet.
gtag('event', 'play', {
  'event_category': 'Videos',
  'event_label': 'Fall Campaign'
});

使用指定追蹤工具評估事件

替換下列使用指定追蹤程式傳送事件至 Google Analytics (分析) 的 analytics.js 程式碼:

ga('create', 'TAG_ID', 'auto', 'trackerName');
ga('trackerName.send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);

並使用下列 gtag.js event 指令:

gtag('event', eventName, {
  'send_to': 'TAG_ID',
  'parameter1': 'value1',
  'parameter2': 'value2',
  // ...
});

示例:

analytics.js

// Creates a tracker named <b>clientTracker</b>.
ga('create', 'TAG_ID', 'auto', 'clientTracker');

// Uses tracker clientTracker to send the event to the
// Google Analytics property with a tag ID of TAG_ID.
ga('clientTracker.send', 'event', 'Videos', 'play', 'Fall Campaign');

gtag.js

// Send the event to the Google Analytics property
// with a tag ID of 'TAG_ID'.
gtag('event', 'play', {
  'send_to': 'TAG_ID',
  'event_category': 'Videos',
  'event_label': 'Fall Campaign'
});

傳送自訂維度和指標

在網頁中,將將自訂維度傳送至 Google Analytics (分析) 的所有 analytics.js send 指令替換:

ga('send', 'hitType', { 'dimension&lt;Index&gt;':  'dimension_value'});

並加入以下 gtag.js 程式碼:

gtag('config', 'TAG_ID', {
  'custom_map': {'dimension<Index>': 'dimension_name'}
});
gtag('event', 'any_event_name', {'dimension_name': 'dimension_value'});

TAG_ID 換成您自己的 Analytics (分析) ID。

在網頁中,將傳送自訂指標給 Google Analytics (分析) 的所有 analytics.js send 指令替換:

ga('send', 'hitType', { 'metric<Index>':  'metric_value'});

並加入以下 gtag.js 程式碼:

gtag('config', 'TAG_ID', {
  'custom_map': {'metric<Index>': 'metric_name'}
});
gtag('event', 'any_event_name', {'metric_name': 'metric_value'});

TAG_ID 替換成您的代碼 ID。

評估使用者載入時間

在網頁中,替換追蹤使用者時間的所有 analytics.js send 指令:

ga('send', 'timing', 'timingCategory', 'timingVar', timingValue, 'timingLabel');

使用下列 gtag.js event 指令:

gtag('event', 'timing_complete', {
  'name': 'timingVar',
  'value': timingValue,
  'event_category': 'timingCategory',
  'event_label': 'timingLabel'
});

評估例外狀況

在網頁中,替換追蹤例外狀況的所有 analytics.js send 指令:

ga('send', 'exception', {
  'exDescription': 'error_message',
  'exFatal': false  // set to true if the exception is fatal
});

使用下列 gtag.js event 指令:

gtag('event', 'exception', {
  'description': 'error_message',
  'fatal': false  // set to true if the exception is fatal
});

將 analytics.js 欄位對應至 gtag.js 參數

下表將 analytics.js 欄位對應至對應的 gtag.js 參數。

活動

analytics.js 欄位 gtag.js 參數
eventAction event_action
eventCategory event_category
eventLabel event_label
eventValue value

自訂維度和指標

analytics.js 欄位 gtag.js 參數
dimension<Index> dimension<Index>
metric<Index> metric<Index>

其中 <Index> 是非負整數,代表自訂維度或指標的索引。

使用者載入時間

analytics.js 欄位 gtag.js 參數
timingCategory event_category
timingLabel event_label
timingValue value
timingVar name

例外狀況評估

analytics.js 欄位 gtag.js 參數
exDescription description
exFatal fatal

加強型電子商務動作資料

analytics.js 欄位 gtag.js 參數
id transaction_id
affiliation affiliation
revenue value
tax tax
shipping shipping
coupon coupon
list list_name
step checkout_step
option checkout_option

促銷活動資料

analytics.js 欄位 gtag.js 參數
creative creative_name
position (曝光、產品) list_position
position (促銷活動) creative_slot

產品和促銷活動動作

analytics.js 欄位 gtag.js 事件
add add_to_cart
checkout (第一個步驟) begin_checkout
checkout (任何後續步驟) checkout_progress
checkout_option set_checkout_option
click select_content (不含促銷優惠)
detail view_item
promo_click select_content (含促銷優惠)
purchase purchase
refund refund
remove remove_from_cart

用戶端 ID 和使用者 ID

analytics.js 欄位 gtag.js 參數
clientId client_id
userId user_id