# Real Profit Dashboard: kompletny przewodnik

> Real Profit Dashboard liczy rzeczywistą rentowność Twojego sklepu WooCommerce, zamówienie po zamówieniu. Ten przewodnik obejmuje instalację, konfigurację kosztów (COGS, prowizje płatności, wysyłka), podpięcie trzech integracji reklamowych (Meta, Google, TikTok), korzystanie…

- Strona: <https://www.datafirefly.com/pl/documentation/real-profit-dashboard/>
- Język: pl
- Zaktualizowano: 2026-07-29
- Inne języki: [fr](https://www.datafirefly.com/documentation/real-profit-dashboard/index.md), [en](https://www.datafirefly.com/en/documentation/real-profit-dashboard/index.md), [es](https://www.datafirefly.com/es/documentation/real-profit-dashboard/index.md), [de](https://www.datafirefly.com/de/documentation/real-profit-dashboard/index.md), [it](https://www.datafirefly.com/it/documentation/real-profit-dashboard/index.md), [nl](https://www.datafirefly.com/nl/documentation/real-profit-dashboard/index.md), [pt](https://www.datafirefly.com/pt/documentation/real-profit-dashboard/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

Real Profit Dashboard liczy rzeczywistą rentowność Twojego sklepu WooCommerce, zamówienie po zamówieniu. Ten przewodnik obejmuje instalację, konfigurację kosztów (COGS, prowizje płatności, wysyłka), podpięcie trzech integracji reklamowych (Meta, Google, TikTok), korzystanie z panelu i bieżącą konserwację.

## Wymagania

- WordPress 6.2 lub nowszy
- WooCommerce 8.0 lub nowszy (zgodny z HPOS oraz blokami Cart i Checkout)
- PHP 8.0 lub nowszy
- Dostęp administratora do panelu WordPressa
- Dane dostępowe API Meta Ads, Google Ads i/albo TikTok Ads, jeśli chcesz włączyć automatyczny import wydatków reklamowych (opcjonalnie)

## Instalacja

1. Przejdź do **Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer**.
2. Wybierz plik `dfrealprofit.zip` i kliknij **Zainstaluj**.
3. Włącz wtyczkę.
4. W pasku bocznym, pod WooCommerce, pojawia się nowe menu główne **Profit Dashboard**.

Przy aktywacji wtyczka tworzy trzy tabele (`wp_dfrp_ad_spend`, `wp_dfrp_order_metrics`, `wp_dfrp_sync_log`) i planuje dwa godzinne zadania CRON: synchronizację wydatków reklamowych i kroczące przeliczanie ostatnich 14 dni.

## Pierwsze kroki

### Uzupełnienie kosztu zakupu (COGS) na produktach

COGS (Cost of Goods Sold, koszt sprzedanych towarów) to filar obliczania marży. Bez niego wyświetlany zysk jest zawyżony.

- **Produkt prosty:** otwórz kartę produktu, zakładka **Ogólne**, wypełnij pole _Koszt zakupu_ kwotą netto zapłaconą dostawcy.
- **Produkt wariantowy:** każdy wariant ma własne pole _Koszt zakupu_. Jeśli koszty się różnią (rozmiary, kolory, materiały), koniecznie uzupełnij je wariant po wariancie.
- **Masowo:** pole jest też zapisywalne przez API REST WooCommerce (`PUT /wp-json/wc/v3/products/{id}`, meta `_dfrp_cogs`), co pozwala na masowy import z ERP.

Na liście produktów pojawia się kolumna _COGS_, pozwalająca szybko rozpoznać produkty jeszcze nieuzupełnione.

### Konfiguracja prowizji płatności

Przejdź do **Profit Dashboard → Ustawienia → Prowizje płatności**.

- **Stripe, WooCommerce PayPal Payments, Mollie:** nic nie ustawiasz. Wtyczka odczytuje faktycznie naliczone prowizje bezpośrednio z meta zamówienia (`_stripe_fee`, `_ppcp_paypal_fees`, `_mollie_fee`).
- **Pozostałe bramki:** wpisz obowiązujący cennik procent + kwota stała. Na przykład dla darmowego przelewu: 0 % / 0 €. Dla czeku z opłatą bankową: 0 % / 0,15 €. Te wartości domyślne są używane, gdy na zamówieniu nie znaleziono meta z rzeczywistymi prowizjami.

### Konfiguracja kosztów wysyłki

Przejdź do **Profit Dashboard → Ustawienia → Domyślne koszty wysyłki**. Tabela automatycznie wymienia wszystkie metody dostawy z Twoich stref WooCommerce.

Dla każdej metody wpisz rzeczywisty średni koszt płacony przewoźnikowi (bez marży doliczanej klientowi). Na przykład, jeśli za dostawę Colissimo pobierasz 6,90 €, a kosztuje Cię ona 4,50 €, wpisz **4,50**.

To wartości domyślne. Zawsze możesz nadpisać rzeczywisty koszt dla pojedynczego zamówienia (boczny meta box na karcie zamówienia), jeśli konkretna wysyłka kosztowała Cię więcej albo mniej.

## Integracje reklamowe

Każda integracja jest niezależna. Możesz włączyć jedną, dwie albo wszystkie trzy. Wszystkie konfiguruje się w **Profit Dashboard → Ustawienia**.

### Meta Ads (Facebook + Instagram)

1. Utwórz aplikację w [Meta for Developers](https://developers.facebook.com/) albo użyj istniejącej.
2. Wygeneruj **długoterminowy access token** z zakresem `ads_read`. Oficjalna dokumentacja znajduje się w _Marketing API → Get Started_.
3. Pobierz swój **Ad Account ID** z _Meta Business Manager → Ustawienia → Konta reklamowe_ (format liczbowy, bez przedrostka `act_`).
4. W ustawieniach wtyczki zaznacz **Włącz Meta Ads**, wklej access token i Ad Account ID.
5. Zapisz, a następnie kliknij **Synchronizuj Ads teraz** na panelu, aby zweryfikować połączenie.

### Google Ads

Google Ads używa OAuth 2. Potrzebujesz pięciu identyfikatorów.

1. **Developer token:** zawnioskuj o niego ze swojego konta Google Ads Manager (MCC), sekcja _Narzędzia i ustawienia → Konfiguracja → Centrum API_.
2. **Customer ID:** 10-cyfrowy identyfikator konta reklamowego, którego wydatki chcesz śledzić (bez myślników).
3. **OAuth client ID** i **client secret:** utwórz projekt w [Google Cloud Console](https://console.cloud.google.com/), włącz API Google Ads, utwórz klienta OAuth 2 typu _Aplikacja komputerowa_.
4. **Refresh token:** uzyskaj go jednorazowo przez przepływ OAuth (patrz dokumentacja Google Ads API v18). Nigdy się nie zmieni.

Wtyczka automatycznie wymienia refresh token na access token przy każdej synchronizacji i cache'uje go na czas ważności (godzinę). Po wpisaniu identyfikatorów nie musisz nic robić.

### TikTok Ads

1. Utwórz aplikację w [TikTok Business Developers](https://business-api.tiktok.com/portal/).
2. Autoryzuj ją na swoim koncie reklamowym, aby uzyskać **access token**.
3. Pobierz **Advertiser ID** w TikTok Ads Manager (menu konta, u góry po prawej).
4. W ustawieniach wtyczki zaznacz **Włącz TikTok Ads**, wklej access token i Advertiser ID.

## Atrybucja multi-touch

Od aktywacji wtyczki każdemu odwiedzającemu zakładane są dwa ciasteczka: `dfrp_ft` (first-touch, pierwszy znany kanał) i `dfrp_lt` (last-touch, najświeższy kanał). Żyją 90 dni.

Przy każdej wizycie wtyczka przechwytuje z adresu URL następujące parametry:

- Standardowe UTM-y: `utm_source`, `utm_medium`, `utm_campaign`, `utm_content`, `utm_term`
- Identyfikatory kliknięć: `fbclid` (Facebook), `gclid` (Google), `ttclid` (TikTok)

W chwili utworzenia zamówienia oba ciasteczka są utrwalane w meta zamówienia (`_dfrp_utm_ft`, `_dfrp_utm_lt`). Znormalizowany kanał wyprowadzany jest następnie z last-touch (z fallbackiem na first-touch) i przypisywany do jednej z dziewięciu kategorii: _Facebook, Instagram, Google, TikTok, Email, Organic, Direct, Referral, Other_.

### Alokacja wydatków reklamowych

W ustawieniach dostępne są dwa tryby:

- **Per zamówienie** (domyślnie): łączny dzienny wydatek kanału dzielony jest przez liczbę zamówień przypisanych do tego kanału danego dnia. Każde zamówienie otrzymuje równą część.
- **Proporcjonalnie do przychodu**: wydatek jest rozdzielany proporcjonalnie do udziału przychodu każdego zamówienia w dziennej sumie kanału. Zamówienie za 300 € otrzymuje trzy razy więcej kosztu reklamowego niż zamówienie za 100 €.

## Korzystanie z panelu

Główny panel dostępny jest w **Profit Dashboard → Panel**.

### Główne KPI

U góry strony wyświetlanych jest siedem wskaźników dla wybranego zakresu:

- **Przychód**: przychód netto (bez podatków zależnie od ustawienia, bez zwrotów)
- **COGS**: suma kosztów zakupu sprzedanych pozycji
- **Prowizje płatności**: suma prowizji bramek
- **Wysyłka**: suma rzeczywistych kosztów wysyłki
- **Reklama**: suma alokowanych wydatków reklamowych
- **Zysk netto**: przychód − COGS − prowizje płatności − wysyłka − reklama − inne koszty
- **Marża**: zysk netto / przychód w procentach

### Wykres i kanały

Pod KPI wykres słupkowy pokazuje dzienny zysk w zakresie (zielone słupki przy zysku dodatnim, czerwone przy stracie).

Blok **Wyniki per kanał** agreguje zamówienia po znormalizowanym kanale, a dla każdego pokazuje: liczbę zamówień, przychód, wydatek reklamowy, ROAS (zwrot z inwestycji reklamowej = przychód / wydatek reklamowy), zysk netto i marżę.

### Filtry i zakresy dat

Siedem gotowych zakresów: Dziś, 7 dni, 30 dni, 90 dni, Bieżący miesiąc, Bieżący rok, Zakres własny. Zakresy są względne wobec bieżącego dnia i aktualizują się automatycznie przy każdym załadowaniu strony.

## Meta box na karcie zamówienia

Każde zamówienie ma meta box **Real Profit Dashboard** w prawej kolumnie ekranu edycji. Pokazuje wykryty kanał pozyskania i oferuje trzy pola ręcznego wpisu, które nadpisują wartości wyliczone:

- **Prowizja płatności (€)**: jeśli chcesz wymusić wartość (na przykład przy częściowym zwrocie prowizji)
- **Rzeczywisty koszt wysyłki (€)**: koszt faktycznie zapłacony przewoźnikowi za to konkretne zamówienie
- **Inne koszty (€)**: pole dowolne na każdy koszt szczególny (cło, specjalne opakowanie, zwrot od klienta i tym podobne)

Podsumowanie pod polami pokazuje na bieżąco: przychód netto, koszty w rozbiciu, zysk i marżę. Każdy zapis zamówienia automatycznie uruchamia przeliczenie.

## CRON i synchronizacja

Zaplanowane są dwa automatyczne zadania:

- **dfrp_cron_sync_ads** (co godzinę): wywołuje każdą aktywną integrację, aby pobrać wydatki z ostatnich 7 dni, kampania po kampanii, i aktualizuje tabelę `wp_dfrp_ad_spend`.
- **dfrp_cron_recalculate_orders** (co godzinę, łańcuchowo): przelicza metryki zamówień z ostatnich 14 dni, aby uwzględnić nowo zaimportowane wydatki reklamowe.

Pełny dziennik każdego wykonania dostępny jest w **Profit Dashboard → Logi synchronizacji**: status, czas trwania, liczba wstawionych i zaktualizowanych rekordów, ewentualny komunikat błędu.

Jeśli Twój WordPress działa na hostingu współdzielonym z mało niezawodnym WP-Cronem, zaleca się ustawić `DISABLE_WP_CRON` i zaplanować prawdziwy CRON systemowy co godzinę: `curl -s https://twoja-domena.pl/wp-cron.php > /dev/null`.

## Ręczne przeliczenie

Przycisk **Przelicz 60 dni** na panelu regeneruje metryki wszystkich zamówień z ostatnich 60 dni. Użyj go po:

- pierwszej instalacji wtyczki (aby zainicjować historię)
- masowej zmianie COGS produktów
- zmianie cenników prowizji płatności albo kosztów wysyłki
- zmianie trybu alokacji wydatków reklamowych

Operacja jest idempotentna: ponowne uruchomienie daje ten sam wynik.

## REST API

Trzy endpointy udostępniane są pod `/wp-json/dfrealprofit/v1/`. Wymagają zdolności `manage_woocommerce` i przyjmują uwierzytelnianie ciasteczkiem WordPressa albo Application Password.

- `GET /summary?from=YYYY-MM-DD&to=YYYY-MM-DD` — zagregowane KPI (przychód, COGS, prowizje, reklama, zysk, marża)
- `GET /series?from=YYYY-MM-DD&to=YYYY-MM-DD` — seria dzienna (przychód, koszty, zysk per dzień)
- `GET /channels?from=YYYY-MM-DD&to=YYYY-MM-DD` — wyniki per kanał (zamówienia, przychód, reklama, ROAS, zysk, marża)

Te endpointy pozwalają podpiąć zewnętrzny panel (Looker Studio, Metabase, Grafana, arkusz kalkulacyjny) pod metryki wtyczki.

## Deinstalacja

Samo wyłączenie nie usuwa żadnych danych. Pełne usunięcie ze strony **Wtyczki** uruchamia `uninstall.php`, który:

- kasuje trzy własne tabele (`ad_spend`, `order_metrics`, `sync_log`)
- usuwa opcje wtyczki
- odplanowuje CRON-y
- **zachowuje** COGS produktów i meta zamówień (cenne dane biznesowe)

Aby wyczyścić wszystko łącznie z meta, przed deinstalacją odkomentuj dwie linie SQL w `uninstall.php`.

## Krótkie FAQ

### Czy wtyczka jest zgodna z WooCommerce Subscriptions?

Tak. Każde odnowienie generuje standardowe zamówienie, przetwarzane jak każde inne.

### Co się stanie, gdy zmienię cenę produktu?

Nic dla istniejących zamówień: historyczny COGS i cena pozostają utrwalone na moment sprzedaży. Nową cenę wykorzystają wyłącznie nowe zamówienia.

### Jak obsłużyć zwrot pieniędzy?

Utwórz standardowy zwrot w WooCommerce. Przychód netto jest automatycznie przeliczany (zwrócona kwota jest odejmowana). Poniesione już koszty (COGS, wysyłka, prowizje płatności, reklama) pozostają, co daje prawdziwą, rzeczywistą stratę.

### Czy mogę używać wtyczki bez integracji Ads?

Tak. Bez integracji reklamowej koszty reklamowe wynoszą zero, a obliczenie ogranicza się do: przychód netto − COGS − prowizje płatności − wysyłka − inne koszty. To i tak znacznie więcej, niż WooCommerce pokazuje domyślnie.

### Czy dane są wysyłane na zewnętrzny serwer?

Nie. Jedyne wywołania zewnętrzne to te, które sam konfigurujesz do API Meta, Google i TikToka, aby **pobrać** swoje wydatki. Żadne dane Twojego sklepu nie są wysyłane do DataFirefly ani do żadnej strony trzeciej.
