Поки що потестую на 5 питаннях і буду дивитись на ваші реакції і коменти, тому не скупіться на них)
Почнемо
Чи виконує GA4 автоматичну дедуплікацію транзакцій при відправці через gtag і Measurement Protocol?
Ні, GA4 не буде гарантовано дедуплікувати події лише тому, що в них однаковий transaction_id. Якщо ми відправимо purchase через gtag і окремо через Measurement Protocol — отримаємо дубль.
Тепер детальніше:
GA4 — це event-based система. Її базова логіка дуже проста: якщо подія прийшла і пройшла валідацію — вона записується. GA4 не робить “розумного злиття” подій між різними способами відправки.
GA4 практично ніколи не “видаляє” події після збору. Система створена для запису, а не для очищення.
Чому інколи здається, що дублів немає:
Нещодавно я мав питання на консультації, клієнт вірив, що дублів немає, оскільки в звіті Monetization -> Transactions не було повторюваних Transaction ID. Але дані показників в GA4 агрегуються по параметрах.
Це умовний GROUP BY як у SQL. У таблиці ми можемо не бачити повторів ID, але це не означає, що події не продубльовані.
Якщо перевірити експорт у BigQuery — там ми побачимо кожен рядок події.
Якщо відправляти з браузера і через Measurement Protocol - потрібна свідома архітектура.
Безпечніший підхід:
- З браузера — подія типу “order created”.
- З бекенду — фінальна purchase через Measurement Protocol.
Важливо:
- Measurement Protocol подія повинна містити правильний client_id або app_instance_id + session_id + timestamp_micros.
- Вона має бути відправлена протягом 72 годин з моменту взаємодії користувача.
