Я использую Universal Analytics на моей странице подтверждения заказа:Google Analytics Повторяющиеся Операции
// 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');
По какой-то причине команда аналитики решили записать ту же операцию дважды, если пользователь обновляет страницу.
Кажется нелогичным записывать одну и ту же транзакцию дважды, учитывая, что идентификатор транзакции является одним и тем же (очевидно, это одна и та же транзакция, поэтому зачем ее дублировать?).
Ожидается ли такое поведение, поскольку оно не документировано? Действительно ли команда GA ожидает, что каждый пользователь должен написать код, чтобы предотвратить дублирование?
Это звучит как страшный дизайн feature..why не просто отдельный метод удаления транзакции на основе идеи? Мне смешно, что мне нужно настроить постоянство БД для предотвращения дублирования транзакций. –
Это прекрасная особенность дизайна. Прослеживание электронной коммерции GA - это не транзакционная база данных; это всего лишь механизм ведения журнала и отчетности. Он разработан, чтобы дать вам представление о том, какой контент способствует продажам. Вам не нужно ничего хранить в базе данных, чтобы предотвратить дублирование транзакций при обновлении страницы. Все, что вам нужно, это немного JavaScript. Существует множество предложений о том, как обнаружить перезагрузку страницы с помощью JavaScript здесь, в Stack Overflow. – kevintechie
По определению вам теперь нужно перейти от системы без состояния к состоянию. Вы можете сохранить состояние в файле cookie, но что произойдет, если пользователь заметит или отправит письмо на страницу подтверждения и откроется в другом браузере? –