Przejdź do treści

SQL. HAVING. Kampanie z spendem powyżej 500 zł i ROAS poniżej 2 po agregacji.

Na czym to polega w sklepie

Kiedy WHERE nie wystarcza? Gdy chcesz odrzucić kampanie dopiero po zsumowaniu kosztów i przychodu. HAVING filtruje grupy po agregacji - np. kampanie z min. 500 zł wydatku i ROAS poniżej 2. Bez progu spendu wycinasz kampanie z jednym kliknięciem za 2 zł.

Przykład ze sklepu internetowego

Sklep DTC z dziesiątkami kampanii Search - media buyer chce listę do review: min. 500 zł spendu w maju i ROAS poniżej progu rentowności:

SELECT
  campaign_name,
  SUM(cost_pln) AS total_cost,
  SUM(revenue_pln) AS total_revenue
FROM campaign_daily
WHERE report_date >= DATE '2026-05-01'
GROUP BY campaign_name
HAVING SUM(cost_pln) >= 500
   AND SAFE_DIVIDE(SUM(revenue_pln), SUM(cost_pln)) < 2
ORDER BY total_cost DESC;

Co zrobić po stronie biznesu

  • Wygeneruj tygodniową listę kampanii do pauzy i prześlij ją zespołowi Ads przed poniedziałkowym optymalizowaniem.
  • Zastosuj próg min. liczby sesji przed porównaniem conversion rate między kanałami - odfiltruj szum.
  • Dla feedu Shopping: SKU z dużą liczbą wyświetleń i niskim CTR - kandydaci do wykluczenia lub zmiany tytułu.

W skrócie

HAVING to filtr na poziomie kampanii i SKU, nie pojedynczego dnia. Próg minimalnego spendu chroni przed przedwczesnym wyłączaniem testów, które jeszcze nie zebrały danych.