Na czym to polega w sklepie
Ten sam koszyk w GA4 pojawia się dwa razy - rehit thank-you page, server + client. Bez deduplikacji join z kosztami kampanii mnoży przychód. SELECT DISTINCT lub COUNT(DISTINCT transaction_id) to pierwsza linia obrony przed zawyżonym ROAS w raporcie dla zarządu.
Przykład ze sklepu internetowego
Sklep modowy DTC po migracji na server-side GTM widzi podwójne wiersze purchase. Lista unikalnych transakcji na dzień przed joinem z spendem Google Ads:
WITH unique_orders AS (
SELECT DISTINCT
event_date,
transaction_id,
user_pseudo_id,
purchase_revenue
FROM raw_ga4_purchase
WHERE transaction_id IS NOT NULL
)
SELECT
event_date,
COUNT(*) AS orders,
SUM(purchase_revenue) AS revenue
FROM unique_orders
GROUP BY event_date
ORDER BY event_date;
Co zrobić po stronie biznesu
- Zamów deduplikację przed raportem ROAS - jedna transakcja = jeden wiersz przychodu w joinie z Ads.
- Wyciągnij unikalne gclid przed importem offline conversions do Google Ads.
- Gdy dwa duplikaty mają różny revenue, wybierz regułę (ostatni timestamp) zamiast ślepego DISTINCT na wielu kolumnach.
W skrócie
DISTINCT to plaster na duplikaty - docelowo napraw tag purchase w GTM. Do wyboru „właściwego" wiersza przy konflikcie revenue użyj ROW_NUMBER() … = 1 zamiast samego DISTINCT.