Przejdź do treści
Kampanie · 2026-10-02

Jak obliczyć koszt pozyskania klienta w firmie usługowej: trzy liczby, których większość nie zbiera

Jak obliczyć koszt pozyskania klienta: wydatek z miesiąca dzielisz przez podpisane umowy, nie przez kontakty. Trzy liczby, które zbierasz po swojej stronie, a nie w Menedżerze.

Zanim przewiniesz dalej

Jak obliczyć koszt pozyskania klienta w firmie usługowej: bierzesz wydatek na reklamę z jednego miesiąca i dzielisz go przez liczbę podpisanych umów z kontaktów, które przyszły z tej reklamy, a nie przez liczbę kontaktów. Do tego potrzebujesz trzech liczb, których Menedżer reklam sam nie policzy: ile zapytań w firmie przyszło z tej kampanii, a ile z poleceń i telefonów, ile z nich skończyło się rozmową i ile umową. Na moim własnym koncie kampania wydała w trzydzieści dni 1 396 zł i zebrała 15 kontaktów po 93,09 zł (to koszt kontaktu dla mojej usługi, a nie norma dla Twojej branży), a ile z tego wyszło umów, nie wie ani panel, ani mój rejestr. Niżej masz, jak te trzy liczby zbierać, i trzy miejsca, w których ten rachunek wychodzi krzywo.

Piętnaście kontaktów po 93,09 zł i jedna rubryka, której nie było

Na początku września siadałem do restartu kampanii na swoim koncie i najpierw wszedłem w Menedżera sprawdzić, z czego startuję. Ostatnie trzydzieści dni: 1 396 zł wydatku, 15 kontaktów, czyli 93,09 zł za kontakt, przy CPM 121,62 zł i częstotliwości 1,92. Kampania stała już wtedy na pauzie.

No i każdy, kto widzi 93,09 zł, od razu myśli: drogo. Tylko że to jest koszt kontaktu dla mojej usługi, na moim koncie, w jednym miesiącu. To nie jest benchmark dla Twojej branży, więc nie przepisuj go do siebie.

W rejestrze testów, który prowadzę przy tym koncie, przy tej kampanii stoją wydatek, kontakty, koszt kontaktu, CPM i częstotliwość, a rubryki „umowy” tam nie ma. Menedżer kończy się na formularzu, a pieniądz zaczyna się dopiero kilka kroków dalej.

Co za tą liczbą stoi, a czego panel nie widzi

Miesiąc wcześniej robiłem audyt własnego konta. Zapisałem sobie wprost, że różnica między mną a konkurentem, z którym się porównywałem, siedzi w ciągłości wydatku i w dziurawym środku, a nie w jakości kreacji. Konkretnie: zdarzenie umówionej rozmowy nie wracało do Mety, a etapy w CRM były przeterminowane.

Wydatek widać na wyciągu z karty. Kontakty widać w panelu, bo liczy je Meta. Natomiast liczby, która mówi, ile kosztował Cię człowiek, który zapłacił, nie policzy za Ciebie żaden panel, bo żeby ją mieć, ktoś musi ją ręcznie zebrać po drugiej stronie formularza, przy telefonie, przy wycenie i przy podpisie.

A jak jej nie masz, to jedyne, co możesz porównać, to koszt kontaktu. Załóżmy, że wyłączasz reklamę, bo kontakt podrożał. Tylko że bez tej trzeciej liczby nie wiesz, czy to nie była akurat ta reklama, z której w tym miesiącu ktoś podpisał.

Jak obliczyć koszt pozyskania klienta: trzy liczby z jednego miesiąca

Sam wzór mieści się w jednej linijce: wydatek na reklamę z danego okresu podzielony przez liczbę klientów, którzy z tej reklamy przyszli i podpisali. Problem nie siedzi we wzorze, tylko w tym, że mianownika nikt nie ma pod ręką.

Pierwsza liczba to kontakty z rozpiską, skąd przyszły. Nie „zapytania ogółem”, tylko kontakty z tej konkretnej kampanii, oddzielone od poleceń, od telefonów z wizytówki w Google i od wiadomości na Messengerze. Jeżeli kontakty z formularza wpadają Ci do arkusza, to masz to prawie za darmo. Wystarczy osobna zakładka na każdą kampanię, bo dopiero wtedy da się jedną z drugą porównać.

Druga liczba to rozmowy, które się faktycznie odbyły, a nie te umówione. Część kontaktów w ogóle nie odbiera telefonu, o czym pisałem przy koszcie dzwonienia do martwych kontaktów, a część umówionych nie przychodzi, więc jeżeli liczysz umówione, to wychodzi Ci ładniej, niż jest naprawdę.

Trzecia liczba to podpisane umowy, z datą podpisu i z dopiskiem, z której kampanii przyszedł ten człowiek. Jeżeli umowa podpisuje się w innym miesiącu niż wydatek, to w dniu podpisu bez tego dopisku nikt już nie pamięta, skąd ten klient się wziął.

No i dopiero teraz dzielisz. Weź te moje 1 396 zł i załóż dwa warianty, bo umów z tej kampanii w rejestrze nie mam. Jedna umowa z tych piętnastu kontaktów daje klienta za 1 396 zł, trzy dają po 465,33 zł. W Menedżerze w obu wariantach stoi te same 93,09 zł.

Czyli to nie koszt kontaktu decyduje, czy kampania się opłaca, tylko to, ile z tych kontaktów dochodzi do podpisu. Cztery umowy z pierwszego miesiąca u Oskara z budowlanki mam od niego, nie z panelu, co rozpisałem we wpisie o reklamie firmy budowlanej.

Trzy miejsca, w których koszt klienta wychodzi krzywo

Pierwsze miejsce to okno czasowe. Jeżeli sprzedajesz coś, przy czym klient zbiera oferty przez miesiąc i decyduje razem z drugą osobą, to umowy z wrześniowego wydatku będą Ci wpadać jeszcze w październiku, więc koszt klienta liczony na koniec września wyjdzie zawyżony. Wydatek z września dzielisz nie na koniec miesiąca, tylko wtedy, gdy minie czas, w którym ludzie realnie podejmują u Ciebie decyzję, i doliczasz do niego tylko umowy z wrześniowych kontaktów.

Drugie miejsce to mała próba. Przy piętnastu kontaktach i jednej albo dwóch umowach jedna umowa więcej albo mniej zmienia koszt klienta dwukrotnie, więc z jednego miesiąca nie wyciągasz wniosku, że kampania jest dobra albo zła, nawet jeżeli w tym miesiącu wyszło wyjątkowo dobrze albo wyjątkowo słabo. Patrzysz na to jak na kierunek i dopisujesz kolejny miesiąc, a o tym, ile kreacja musi wydać, zanim jej wynik cokolwiek znaczy, piszę osobno przy progu decyzji w testowaniu kreacji.

Trzecie miejsce to Twój czas. Ten wzór liczy pieniądze wydane na reklamę i nic więcej, a godziny przy telefonie, dojazdy na wizję lokalną i wieczory nad wycenami też coś kosztują. Nie dokładaj ich do tej samej liczby, bo zrobi się z tego coś, czego nie da się porównać miesiąc do miesiąca, tylko zapisz obok w osobnej kolumnie.

Pytania, które dostaję najczęściej

Czym się różni koszt pozyskania klienta (CAC) od kosztu leada?

Koszt leada dzielisz przez kontakty, a koszt pozyskania klienta przez podpisane umowy. Pierwszy mówi, ile płacisz Mecie za zostawiony numer, a drugi, ile płacisz za człowieka, który faktycznie zapłacił, i tylko ten drugi da się zestawić z tym, ile na jednym kliencie zarabiasz.

Czy do kosztu pozyskania jednego klienta liczyć polecenia?

Nie, polecenia trzymasz osobno, bo nie kosztowały Cię złotówki z budżetu reklamowego. Jak je wrzucisz do jednego worka, to kampania wyjdzie Ci tańsza, niż jest naprawdę, i w miesiącu, w którym poleceń zabraknie, zdziwisz się, że nagle wszystko podrożało.

Ile miesięcy danych potrzebuję, żeby ta liczba coś znaczyła?

Przynajmniej tyle, żeby zamknął się jeden pełny cykl od formularza do podpisu. Dwie kampanie porównujesz po tym samym czasie od wydatku, bo inaczej zestawiasz kampanię, której klienci już podpisali, z kampanią, której klienci jeszcze się zastanawiają.

Twój najbliższy ruch

  1. Załóż w arkuszu osobną zakładkę na każdą kampanię, a w niej trzy kolumny: kontakt, czy rozmowa się odbyła, czy podpisał i kiedy.
  2. Przejdź ostatnie trzydzieści dni wstecz i przy każdym podpisanym kliencie dopisz, skąd przyszedł, nawet jeśli musisz zapytać go wprost.
  3. Podziel wydatek z każdej kampanii przez liczbę umów z niej, a polecenia zostaw w osobnej rubryce.
  4. Zapisz w kolumnie obok, ile godzin zeszło Ci na tych klientów, i nie mieszaj tego z wydatkiem.

Jak to ustawiam po stronie konta, formularza i arkusza, żeby ta trzecia liczba zbierała się sama, masz na stronie o kampaniach, a to, jak wygląda panel, w którym te liczby stoją obok siebie, zobaczysz w demo. Wolisz przejść to na liczbach ze swojego konta, to umów bezpłatną rozmowę o kampanii.

<!-- źródło: REJESTR_TESTOW.md, log 2026-09-07 (konto Sosky 1278771847388584, kampania czerwcowa, ostatnie 30 dni przed 07.09: 1396 zł / 15 kontaktów / 93,09 zł / CPM 121,62 zł / frequency 1,92, PAUSED; brak liczby umów w rejestrze) + log 2026-08-06 (audyt vs konkurent: różnica w ciągłości wydatku i dziurawym środku, nie w jakości kreacji; event Schedule nie strzela, pipeline przeterminowany). 465,33 zł = 1396/3, jawnie podane jako samo dzielenie, nie wynik. PLAN_TESTOW_KREACJI_v1.md (90 dni 5 861,04 zł / 110 / 53,28 zł) NIE powtórzony, bo stoi już w prog-decyzji-testowanie-kreacji i kampania-reklamowa-na-facebooku-od-zera (ten sam klaster): link zamiast liczby. Oskar (case-bank: cztery umowy, liczba od Oskara) jednym zdaniem z linkiem do jak-reklamowac-firme-budowlana, bez 16,42. Korpus jak_on_mowi.py: koszt+klienta, umowy, arkusz („dwa arkusze z danej kampanii, i dzięki temu możemy to dopiero porównać”), rozmowy („zacząć to mierzyć na różnych etapach”); --czy: „koszt pozyskania klienta” RZADKIE (tylko w miejscach SEO), „tabelka” i „na wyczucie” ZERO (nieużyte). Fraza z frazy.py: „jak obliczyć koszt pozyskania klienta” (9), pytania FAQ z FRAZY.md (CAC, jednego klienta). Szkielet B, box „Zanim przewiniesz dalej”, zamknięcie „Twój najbliższy ruch”. Poprawka po bramce 2026-10-14: usunięte liczby bez źródła (dwadzieścia złotych, dwie umowy, dwa-trzy tygodnie, trzydzieści dni), zastrzeżenie przy 93,09 zł w boxie, opis bez 93,09, nowy H2 sekcji „gdzie się sypie”, link do martwych kontaktów z poprawnym podpisem. Bramki 2026-10-14 po poprawce: anty_slop.py CZYSTO; rytm_tekstu.py CZYSTO (mediana 17, >30 słów 15%, spójnik 42%, lampki 4/7); --szkielety OK (struktura rotuje); em dash 0; build.py bez błędu (17 wpisów); linki /blog/martwe-kontakty-koszt-dzwonienia, /blog/jak-reklamowac-firme-budowlana, /blog/prog-decyzji-testowanie-kreacji, /kampanie, /demo istnieją (oferta-kampanie.html brak w repo, więc nie linkowany); 1283 słowa. Poprawka po drugiej bramce 2026-10-14 (pkt 7): box bez „to jest wszystko, co panel pokazał” (teraz: umów nie zna ani panel, ani rejestr); usunięte „miałem to samo, co widzę u ludzi”; zdanie o Oskarze przepięte na tezę „liczbę umów zna tylko firma, nie panel”; mała próba: „dwukrotnie przy jednej albo dwóch umowach” zamiast „kilkaset złotych”. 93,09 zł zostaje jak w źródle (1396/15 = 93,07, wydatek w rejestrze zaokrąglony). anty_slop.py CZYSTO; rytm_tekstu.py CZYSTO (mediana 17, >30 słów 15%, spójnik 40%, lampki 4/7). Poprawka po trzeciej bramce 2026-10-14 (pkt 7, 5 trafień): opis i box doprecyzowane (pierwsza liczba = zapytania z kampanii oddzielone od poleceń i telefonów, nie same kontakty z panelu); usunięte „Pokazuję go z innego powodu”, „to nie jest przeoczenie…”, „koszt klienta może się różnić trzykrotnie”, „tę liczbę zna tylko ktoś po stronie firmy”; okno czasowe: wydatek z września dzielony po czasie decyzji, tylko przez umowy z wrześniowych kontaktów (bez „wrzesień i październik razem”); FAQ o liczbie miesięcy: porównanie kampanii po tym samym czasie od wydatku, bez powtórki okna. anty_slop.py CZYSTO; rytm_tekstu.py CZYSTO (mediana 16, >30 słów 12%, spójnik 36%, lampki 4/7). -->

Chcesz to przełożyć
na swoją firmę?

Bezpłatna rozmowa, 15-30 minut. Mówię wprost, co u Ciebie zadziała, a co będzie stratą czasu.

Umów bezpłatną rozmowę
Więcej z tej serii: Kampanie na blogu · Oferta: Kampanie · Wszystkie wpisy