iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
Modern Web

跟著 OXXO 一起學 GA4 ( Google Analytics 4 )系列 第 23

( Day 11.3 ) GA4 設定電子商務事件

  • 分享至 

  • xImage
  •  

如果要透過 GA4 收集電子商務資料 ( 例如選取商品、加入購物車、付款...等 ),必須要自行添加「電子商務事件」,透過電子商務事件,就能更清楚的掌握使用者與商品的互動情形以及最熱門的商品,進而評估廣告或行銷活動的轉換成效,這篇教學會介紹如何在網站中添加電子商務事件,以及電子商務事件的相關設定。

原文參考:設定電子商務事件

電子商務事件參數範圍

電子商務事件屬於「建議事件」,在設定時的事件名稱需要使用「線上銷售」的建議事件名稱,建立電子商務事件後,參數分成下列兩種範圍:

  • 事件範圍 ( Event Scope )

    電子商務事件的相關資訊,參數使用建議事件中線上銷售類型的相關參數,例如 purchase 事件會使用 currency、transaction_id、value、affiliation、coupon、shipping、tax、items 參數。

  • 項目範圍 ( Item Scope )

    產品和服務的相關資訊,根據不同的產品或服務類型,從項目清單中挑選合適的參數,例如 item_name、item_category...等,使用時必須包含 item_id 或 item_name 其中一個,項目範圍會以陣列的方式放在 items 參數裡,最多可包含 27 個元素。

以下圖使用 gtag.js 傳送電子商務事件的程式碼為例,當使用者點擊結帳按鈕,會發送 purchase 事件,事件中會包事件範圍和項目範圍的相關資訊。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - 參數範圍

電子商務事件參數與項目列表

下方列出電子商務線上購買類別的事件,除了可以查看事件參數,點擊參數裡的「items」就可以查看該事件支援的項目。

事件 觸發時機 建議參數
add_payment_info 使用者提交付款資訊時。 currency、value、coupon、payment_type、items
add_shipping_info 使用者提交運送資訊時。 currency、value、coupon、shipping_tier、items
add_to_cart 使用者將商品加入購物車時。 currency、value、items
add_to_wishlist 使用者將商品加入願望清單時。 currency、value、items
begin_checkout 使用者開始結帳時。 currency、value、coupon、items
generate_lead 使用者提交表單或索取資訊時。 currency、value
purchase 使用者完成購買時。 currency、transaction_id、value、affiliation、coupon、shipping、tax、items
refund 使用者收到退款時。 currency、transaction_id、value、affiliation、coupon、shipping、tax、items
remove_from_cart 使用者從購物車中移除商品時。 currency、value、items
select_item 使用者從清單中選取商品時。 item_list_id、item_list_name、items
select_promotion 使用者選取促銷活動時。 creative_name、creative_slot、location_id、promotion_id、promotion_name、items
view_cart 使用者查看購物車時。 currency、value、items
view_item 使用者查看商品時。 currency、value、items
view_item_list 使用者查看商品/服務清單時。 item_list_id、item_list_name、items
view_promotion 使用者查看促銷活動時。 creative_name、creative_slot、location_id、promotion_id、promotion_name、items

傳送電子商務事件 ( gtag.js )

使用 gtag.js API 裡的 gtag() 函式可以很快速的傳送電子商務事件,下方程式碼以 purchase 事件為例,事件範圍只需要編輯第一層參數,項目範圍則編輯 items 的參數內容,事件參數通常是最後結帳的總金額、稅率、幣值之類的資訊,items 項目參數則是以陣列的形式,紀錄購買的細項:

需要注意 transaction_id 表示交易 ID,每次交易應該都要有所不同,避免事件重複計算影響分析結果。

gtag("event", "purchase", {
    transaction_id: "oxxo",
    value: 100,
    tax: 5.0,
    shipping: 2,
    currency: "TWD",
    coupon: "oxxo_sale",
    items: [
    // 需要傳送的商品或服務項目
     {
      item_id: "oxxo12345",
      item_name: "OXXO 公仔",
      affiliation: "OXXO Store",
      coupon: "oxxo_sale",
      discount: 2,
      index: 0,
      item_brand: "OXXO",
      item_category: "toy",
      item_category2: "cute",
      item_category3: "kids",
      item_category4: "robot",
      item_category5: "big",
      item_list_id: "oxxo_products",
      item_list_name: "OXXO Products",
      item_variant: "XOOX",
      location_id: "Taiwan1234567",
      price: 9.99,
      quantity: 1
    }]
});

傳送電子商務事件 ( GTM )

如果要使用 GTM 傳送電子商務事件,相較 gtag.js 而言會稍微麻煩,首先必須先在網頁的 HTML 裡 datalayer 資料層加入電子商務的資訊 ( 通常需要請網頁工程師幫忙,在結帳時替購買的商品自動加入這些資訊 ),程式碼寫法如下 ( 以 purchase 事件為例 ),事件範圍只需要編輯第一層參數,項目範圍則編輯 items 的參數內容。

  • GTM 教學請先參考左側選單裡 GTM 相關文章,或由「開始使用 GTM」這篇文章開始。
  • 注意 transaction_id 表示交易 ID,每次交易應該都要有所不同,避免事件重複計算影響分析結果。
dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
dataLayer.push({
  event: "purchase",
  ecommerce: {
    transaction_id: "oxxo",
    value: 100,
    tax: 5.0,
    shipping: 2,
    currency: "TWD",
    coupon: "oxxo_sale",
    items: [
    // 需要傳送的商品或服務項目
     {
      item_id: "oxxo12345",
      item_name: "OXXO 公仔",
      affiliation: "OXXO Store",
      coupon: "oxxo_sale",
      discount: 2,
      index: 0,
      item_brand: "OXXO",
      item_category: "toy",
      item_category2: "cute",
      item_category3: "kids",
      item_category4: "robot",
      item_category5: "big",
      item_list_id: "oxxo_products",
      item_list_name: "OXXO Products",
      item_variant: "XOOX",
      location_id: "Taiwan1234567",
      price: 9.99,
      quantity: 1
    }]
  }
});

回到 GTM,點擊左側選單「變數」新增「資料層變數」,輸入 GTM 變數名稱以及資料層變數名稱 ( 版本按照官方說法使用版本 2 不用更動 ),下圖的範例對照上方 value 的位置 ( ecommerce.value ),建立一個資料層變數負責接收 value 的值。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - 新增資料層變數

根據 datalayer 資料層參數內容,建立對應的資料層變數,下圖的範例建立了六個資料層變數。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - 資料層變數

點擊左側選單「觸發條件」新增「自訂事件」,設定偵測接收到 purchase 事件時會觸發。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - 自訂事件觸發條件

點擊左側選單「代碼」新增「GA4 事件」代碼,設定參數名稱以及對應的變數值 ( 變數表示會接收動態的資料 ),勾選傳送電子商務資料 ( 官方沒有說明這個選項的用處,但因為是傳送電子商務事件,就先勾選 )。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - GA4 事件代碼

最下方新增觸發條件,設定為剛剛的自訂事件觸發條件。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - GA4 事件代碼

設定完成後提交發布,完成後可以點擊「預覽」查看觸發狀況。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - 提交發布和預覽

輸入要預覽的網址後,進行會觸發 purchase 事件的動作,完成後關閉預覽,就會看見出現 purchase 事件已經被觸發 ( Fired )。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - purchase 事件已經被觸發

點擊該事件名稱,就能查看相關細節資訊。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - 查看觸發的相關資訊

切換成 value,就能查看傳送參數的詳細內容。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - 查看傳送參數的詳細內容

回到 GA4 的即時報表,也能觀察到出現 purchase 的事件。

GA4 ( Google Analytics 4 ) 教學 - 電子商務事件 - GA4 觀察 purchase 事件

小結

因為傳送電子商務事件必須搭配許多的參數,參數包含電子商務的事類型以及各個商品資訊,所以仍得由網頁工程師在購物頁面加入對應的資訊,因此使用 gtag.js 的方式相對 GTM 來說會比較簡單,不過也因為電子商務事件可以記錄許多商品資訊,更能由數據觀察線上購物購物的狀況。

參考

更多教學

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,我有個超過一千篇教學的 STEAM 教育學習網,有興趣可以參考下方連結呦~ ^_^


上一篇
( Day 11.2 ) GA4 設定轉換事件價值
下一篇
( Day 12.1 ) GA4 啟用 Google 信號
系列文
跟著 OXXO 一起學 GA4 ( Google Analytics 4 )79
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言