預約頁追蹤事件
Dolyu 預約頁送往 Google Tag Manager(GTM)、Google Analytics 4(GA4)與 Meta Pixel 的事件與欄位。追蹤碼的填寫位置與報表設定,請見說明中心〈廣告與分析追蹤〉。
適用範圍
- 填了 GTM 容器 ID 才會推入 dataLayer,填了 GA4 評估 ID 才會送到 GA4,填了 Meta Pixel ID 才會送到 Meta。
purchase只在顧客於預約頁送出預約時送出。
事件總覽
| 事件 | 送出時機 | booking_step | GTM/GA4 | Meta Pixel |
|---|---|---|---|---|
add_to_cart | 顧客把服務加入這次預約 | service | 送出 | AddToCart |
remove_from_cart | 顧客移除已選的服務 | service | 送出 | 不送 |
begin_checkout | 前進到選擇時段的步驟 | time | 送出 | InitiateCheckout |
booking_time_selected | 選好時段、前進到確認步驟(自訂事件) | confirm | 送出 | 不送 |
purchase | 預約送出成功 | complete | 送出 | Schedule |
- 商家沒有開啟 [允許一次預約多項服務] 時,顧客改選另一項服務,會先對原本的服務送出
remove_from_cart,再對新的服務送出add_to_cart。 - 步驟事件只在前進時送出:退回上一步不送,之後再前進會再送一次。
- 多時段預約只送一次
purchase,時段數見slot_count。
範例:預約完成
一位顧客預約「體驗課」3 人,單價 1000、總金額依人數計算,value 是 1000 × 3。切換分頁可看 GTM、GA4 與 Meta Pixel 各自收到的內容:
js
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
ecommerce: {
currency: 'TWD',
value: 3000,
transaction_id: '9f1c2e4a-…',
items: [
{
item_id: '5b7d…',
item_name: '體驗課',
item_category: '課程',
item_variant: '王小美',
price: 1000,
quantity: 3,
index: 0,
},
],
},
booking_step: 'complete',
slot_count: 1,
});js
gtag('event', 'purchase', {
currency: 'TWD',
value: 3000,
transaction_id: '9f1c2e4a-…',
items: [
{
item_id: '5b7d…',
item_name: '體驗課',
item_category: '課程',
item_variant: '王小美',
price: 1000,
quantity: 3,
index: 0,
},
],
booking_step: 'complete',
slot_count: 1,
send_to: 'G-XXXXXXXXXX',
});js
fbq('track', 'Schedule', {
value: 3000,
currency: 'TWD',
content_type: 'product',
content_ids: ['5b7d…'],
contents: [{ id: '5b7d…', quantity: 3, item_price: 1000 }],
num_items: 1,
});Google Tag Manager
每個事件推入兩筆資料:先推入 { ecommerce: null } 清除上一筆電子商務資料,再推入事件本身,格式見範例的「GTM(dataLayer)」分頁。
| 欄位 | 型別 | 說明 |
|---|---|---|
event | string | 事件名稱,見事件總覽 |
ecommerce.currency | string | 商家設定的幣別,ISO 4217 代碼(例如 TWD) |
ecommerce.value | number | 所有品項 price × quantity 的總和 |
ecommerce.items | array | 品項,見品項欄位 |
ecommerce.transaction_id | string | 只在 purchase:預約編號 |
booking_step | string | service、time、confirm 或 complete |
slot_count | number | 只在 booking_time_selected 與 purchase:這次預約的時段數 |
站內換頁
顧客在預約頁內切換頁面時(不含第一次載入),會推入:
js
window.dataLayer.push({ event: 'virtual_page_view', page_path: '/…', page_title: '…' });Google Analytics 4
填了 GA4 評估 ID 時,同樣的五個事件以 gtag 送出,參數與 GTM 的 ecommerce 內容相同,另外帶 booking_step 與 slot_count(同 GTM 欄位),並以 send_to 指定商家填的評估 ID,寫法見範例的「GA4(gtag)」分頁。站內換頁時另送 page_view。
品項欄位
| 欄位 | 型別 | 說明 |
|---|---|---|
item_id | string | 服務編號 |
item_name | string | 服務名稱 |
item_category | string | 服務分類名稱 |
item_variant | string | 服務人員姓名。人員尚未確定或服務不需要人員時不帶 |
price | number | 單價,以幣別的主要單位表示(例如新台幣元) |
quantity | number | 總金額依人數計算的服務為人數,其他服務為 1;purchase 再乘以時段數 |
index | number | 品項順序,從 0 開始 |
value 與 price 是服務定價,不是實際收款金額。
Meta Pixel
| Dolyu 事件 | Meta 標準事件 |
|---|---|
add_to_cart | AddToCart |
begin_checkout | InitiateCheckout |
purchase | Schedule |
參數(寫法見範例的「Meta Pixel(fbq)」分頁):value、currency、content_type(固定為 product)、content_ids(服務編號)、contents(每個品項的 id、quantity、item_price)、num_items(品項數)。頁面載入與站內換頁時送 PageView。