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.