我用我的訂單確認頁面上的通用分析:谷歌分析重複的事務
// Create the tracker
ga('create', 'UA-XXXXX-Y');
// Fire off a pageview
ga('send', 'pageview');
// Include the ecommerce plugin
ga('require', 'ecommerce', 'ecommerce.js');
// Initialize the transaction
ga('ecommerce:addTransaction', {
id: '1234abc', // Transaction ID*
affiliation: 'Tech Shirts', // Store Name
revenue: '52.19', // Total
shipping: '10', // Shipping
tax: '3.22' // Tax
});
// Add a few items
ga('ecommerce:addItem', {
id: '1234abc', // Transaction ID*
sku: 'TSHIRT-12A', // Product SKU
name: 'Analytics Wizard', // Product Name*
category: 'Men\'s Shirts', // Product Category
price: '12.99', // Price
quantity: '1' // Quantity
});
ga('ecommerce:addItem', {
id: '1234abc', // Transaction ID*
sku: 'TSHIRT-36B', // Product SKU
name: 'Best Developer', // Product Name*
category: 'Women\'s Shirts', // Product Category
price: '12.99', // Price
quantity: '2' // Quantity
});
// Send off the transaction
ga('ecommerce:send');
出於某種原因,分析團隊已經決定,如果用戶刷新頁面兩次記錄相同的事務。
鑑於事務ID相同(它顯然代表相同的事務,爲什麼要複製它?),記錄同一事務似乎不合邏輯。
這是預期的行爲,因爲它沒有被記錄? GA團隊是否真的希望每個用戶都必須編寫代碼來防止重複?
這聽起來像一個可怕的設計feature..why不只是有一個獨立的方法根據這個想法刪除一個事務?我覺得很荒謬,我需要設置DB持久性來防止重複事務。 – 2014-11-03 00:27:58
這是一個很好的設計功能。 GA電子商務追蹤不是面向交易的數據庫;它只是一個日誌記錄和報告引擎。它旨在讓您瞭解哪些內容有助於銷售。您不需要將任何內容持久保存到數據庫,以防止刷新頁面上的重複事務。你所需要的只是一點JavaScript。關於如何在堆棧溢出中使用JavaScript檢測頁面重新加載有很多建議。 – kevintechie 2014-11-03 06:10:40
按照定義,您現在必須從無狀態遷移到有狀態系統。您可以將狀態存儲在cookie中,但如果用戶通過書籤或電子郵件發送確認頁並在另一個瀏覽器上打開,會發生什麼情況? – 2014-11-03 09:50:11