Przejdź do treści

SQL. Funkcja COALESCE(). Uzupełnianie pustego medium i zerowego revenue w raporcie joinów.

Na czym to polega w sklepie

Po połączeniu kosztów Ads z przychodem sklepu wiele dni ma puste revenue - to nie zawsze „zero sprzedaży", czasem brak dopasowania w joinie. COALESCE(revenue, 0) zamienia NULL na zero, żeby wykres ROAS się nie wysypał. Do audytu jakości danych zostaw osobną kolumnę z flagą braku dopasowania.

Przykład ze sklepu internetowego

Modowy DTC łączy dzienny spend z Ads z revenue z GA4. Dni z wydatkiem, ale bez sprzedaży (lub bez dopasowania kampanii) mają NULL w kolumnie przychodu:

SELECT
  a.report_date,
  a.campaign_name,
  a.cost_pln,
  COALESCE(s.revenue_pln, 0) AS revenue_pln,
  COALESCE(s.default_channel, '(brak dopasowania)') AS channel
FROM ads_daily a
LEFT JOIN shop_revenue s USING (report_date, campaign_id);

Co zrobić po stronie biznesu

  • Zamów raport ROAS z zerami zamiast pustych komórek - Looker i Sheets nie psują wykresów na NULL.
  • Uzupełnij puste medium i kampanie etykietą „(not set)" przed eksportem do zespołu contentu.
  • Rozróżniaj w procesie: zero sprzedaży vs brak danych - to inna diagnoza i inna akcja.

W skrócie

COALESCE porządkuje prezentację po joinie, ale nie zastępuje audytu tagów. Zanim zamienisz NULL na 0 w KPI dla zarządu, sprawdź, czy to lag konwersji, czy zepsuty UTM.