Przejdź do treści

SQL. Funkcja COUNT(). Liczba unikalnych transakcji i sesji z konwersją.

Na czym to polega w sklepie

Panel Ads pokazuje 120 konwersji, CRM - 98 zamówień. Gdzie jest rozjazd? COUNT(DISTINCT transaction_id) liczy unikalne transakcje; COUNT(*) na surowym eksporcie GA4 często liczy każdy hit purchase osobno. Różnica między tymi liczbami to sygnał do audytu tagów.

Przykład ze sklepu internetowego

Marketplace z tagowaniem server-side + client-side widzi podwójne wiersze purchase na jedno zamówienie. Ile naprawdę było transakcji wczoraj per kanał?

SELECT
  session_default_channel_group,
  COUNT(*) AS purchase_events,
  COUNT(DISTINCT transaction_id) AS orders
FROM purchases_staging
WHERE event_date = '2026-06-10'
GROUP BY session_default_channel_group;

Co zrobić po stronie biznesu

  • Ustal z CRM oficjalną liczbę zamówień i porównaj z COUNT DISTINCT w hurtowni - tolerancja powyżej 3% to alarm.
  • Mierz sesje z zakupem (COUNT(DISTINCT session_id)) obok liczby transakcji - widać wielokrotne zakupy w jednej wizycie.
  • Przy add_to_cart licz unikalne produkty w koszyku, żeby ocenić głębokość zainteresowania przed purchase.

W skrócie

Zawsze zestaw COUNT(*) z COUNT(DISTINCT transaction_id) w raporcie QA. Każdy punkt procentowy różnicy to zawyżony ROAS lub zaniżona konwersja w optymalizacji kampanii.