Przejdź do głównej zawartości

Program afiliacyjny

Moduł programu afiliacyjnego pozwala prowadzić program poleceń w sklepie. Afilianci dzielą się linkami polecającymi, a plugin śledzi konwersje i nalicza prowizje.

  1. Klient rejestruje się jako afiliant w panelu Moje konto
  2. Administrator aktywuje konto afilianta
  3. Afiliant otrzymuje unikalny token i link polecający
  4. Afiliant udostępnia link (np. w mediach społecznościowych, na blogu)
  5. Odwiedzający klika link - token jest zapisywany w cookie
  6. Odwiedzający składa zamówienie - plugin powiązuje zamówienie z afiliantem
  7. Po opłaceniu zamówienia plugin nalicza prowizję

Przejdź do WooCommerce > Ustawienia > Polski > Moduły PRO > Program afiliacyjny.

Moduł jest kontrolowany opcją:

polski_affiliates
UstawienieOpis
Włącz program afiliacyjnyAktywuje moduł
Stawka prowizji (%)Procentowa prowizja od wartości zamówienia (domyślnie 10%)
Podstawa prowizjiKwota netto / Kwota brutto / Kwota netto bez dostawy
Czas trwania cookie (dni)Ile dni cookie z tokenem jest ważne (domyślnie 30)
Automatyczna aktywacjaAutomatycznie aktywuj nowych afiliantów (domyślnie: wyłączone)
Minimalna wypłataMinimalna kwota prowizji do wypłaty
Parametr URLNazwa parametru w linku polecającym (domyślnie poleca)

Oprócz globalnej stawki ustaw indywidualną stawkę dla produktu. W edycji produktu, sekcja “Program afiliacyjny”:

  • Stawka prowizji (%) - nadpisuje globalną stawkę
  • Wyłącz z programu - produkt nie generuje prowizji

Stawki per kategoria też działają - dotyczą wszystkich produktów w kategorii, chyba że produkt ma własną stawkę.

Link zawiera parametr URL z tokenem afilianta:

https://example.com/?poleca=abc123def456

Parametr poleca jest konfigurowalny. Token jest unikalnym identyfikatorem afilianta generowanym przy rejestracji.

Po kliknięciu linku polecającego plugin ustawia cookie:

ParametrWartość
Nazwa cookiepolski_affiliate_token
WartośćToken afilianta
Czas życiaKonfigurowalny (domyślnie 30 dni)
Ścieżka/
SameSiteLax

Cookie jest ustawiane po stronie serwera (PHP) z flagą HttpOnly. Przy kolejnych wizytach plugin wiąże zamówienie z afiliantem.

Plugin stosuje model “last click” - prowizję otrzymuje ostatni afiliant, którego link kliknął klient.

Klient rejestruje się jako afiliant w Moje konto (/moje-konto/polski-affiliates/). Formularz zawiera:

  • imię i nazwisko (pobierane automatycznie z konta)
  • metoda płatności prowizji (przelew / kod rabatowy)
  • numer konta bankowego (dla przelewu)
  • zgoda na regulamin programu afiliacyjnego

Domyślnie nowe konta wymagają ręcznej aktywacji. Administrator dostaje e-mail o rejestracji i może:

  • aktywować konto w panelu WooCommerce > Afilianci
  • odrzucić rejestrację z podaniem powodu

Włącz automatyczną aktywację, aby konta stawały się aktywne od razu.

StatusOpis
PendingOczekujący na aktywację
ActiveAktywny - może generować linki i zarabiać prowizje
SuspendedZawieszony przez administratora
RejectedOdrzucony - rejestracja odrzucona

Prowizja nalicza się automatycznie po opłaceniu zamówienia. Nie nalicza się dla:

  • zamówień anulowanych lub zwróconych
  • zamówień złożonych przez samego afilianta (self-referral)
  • produktów wyłączonych z programu
StatusOpis
PendingNaliczona, oczekuje na zatwierdzenie
ApprovedZatwierdzona, gotowa do wypłaty
PaidWypłacona
RejectedOdrzucona (np. zamówienie zwrócone)

Prowizja zmienia się z “Pending” na “Approved” po 14 dniach (konfigurowalne). To chroni przed prowizjami od zwróconych zamówień.

Jeśli zamówienie zostanie anulowane w okresie oczekiwania, prowizja jest odrzucana automatycznie.

Moduł dodaje sekcję w Moje konto pod adresem:

/moje-konto/polski-affiliates/

Po aktywacji konta afiliant widzi dashboard z:

  • Statystyki - łączna liczba kliknięć, zamówień, prowizji
  • Link polecający - pełny link z przyciskiem kopiowania
  • Prowizje - lista prowizji z datami, kwotami i statusami
  • Wypłaty - historia wypłat
  • Statystyki miesięczne - wykres kliknięć i konwersji

Afiliant może wygenerować link polecający do:

  • strony głównej sklepu
  • konkretnego produktu
  • kategorii produktów
  • dowolnej strony w domenie sklepu

Każdy link zawiera parametr poleca z tokenem afilianta.

Przejdź do WooCommerce > Afilianci. Tabela zawiera:

  • imię i nazwisko
  • e-mail
  • status
  • data rejestracji
  • liczba poleceń
  • łączna prowizja
  • saldo do wypłaty

Przejdź do WooCommerce > Afilianci > Prowizje. Administrator może:

  • przeglądać listę prowizji z filtrami (afiliant, status, data)
  • zatwierdzać lub odrzucać prowizje
  • oznaczać prowizje jako wypłacone
  • eksportować prowizje do CSV

Przejdź do WooCommerce > Afilianci > Raport. Raport zawiera:

  • łączna wartość zamówień z poleceń
  • łączna kwota prowizji
  • konwersja (kliknięcia -> zamówienia)
  • top 10 afiliantów
  • trend miesięczny

Akcja wywoływana po naliczeniu prowizji.

/**
* @param int $commission_id ID prowizji
* @param int $affiliate_id ID afilianta
* @param int $order_id ID zamówienia
* @param float $amount Kwota prowizji
*/
do_action('polski_pro/affiliate/commission_created', int $commission_id, int $affiliate_id, int $order_id, float $amount);

Przykład:

add_action('polski_pro/affiliate/commission_created', function (int $commission_id, int $affiliate_id, int $order_id, float $amount): void {
// Powiadomienie afilianta o nowej prowizji
$affiliate = get_userdata($affiliate_id);
wp_mail(
$affiliate->user_email,
'Nowa prowizja w programie afiliacyjnym',
sprintf(
'Otrzymałeś prowizję %.2f zł za zamówienie #%d.',
$amount,
$order_id
)
);
}, 10, 4);

Akcja wywoływana po rejestracji nowego afilianta.

/**
* @param int $user_id ID użytkownika
* @param string $token Wygenerowany token afilianta
*/
do_action('polski_pro/affiliate/registered', int $user_id, string $token);

Przykład:

add_action('polski_pro/affiliate/registered', function (int $user_id, string $token): void {
// Przypisanie roli WordPress
$user = get_userdata($user_id);
$user->add_role('affiliate');
}, 10, 2);

Filtruje walidację polecenia przed naliczeniem prowizji.

/**
* @param bool $is_valid Czy polecenie jest prawidłowe
* @param int $affiliate_id ID afilianta
* @param int $order_id ID zamówienia
*/
apply_filters('polski_pro/affiliate/validate_referral', bool $is_valid, int $affiliate_id, int $order_id): bool;

Przykład:

add_filter('polski_pro/affiliate/validate_referral', function (bool $is_valid, int $affiliate_id, int $order_id): bool {
$order = wc_get_order($order_id);
// Blokowanie self-referral po adresie e-mail
$affiliate_email = get_userdata($affiliate_id)->user_email;
if ($order->get_billing_email() === $affiliate_email) {
return false;
}
return $is_valid;
}, 10, 3);
  1. Sprawdź, czy afiliant ma status “Active”
  2. Zweryfikuj, czy cookie polski_affiliate_token jest ustawione (narzędzia deweloperskie przeglądarki)
  3. Sprawdź, czy zamówienie nie zostało złożone przez samego afilianta
  4. Zweryfikuj, czy produkty w zamówieniu nie są wyłączone z programu
  1. Sprawdź, czy parametr URL jest poprawny (domyślnie poleca)
  2. Zweryfikuj, czy token afilianta istnieje i jest aktywny
  3. Sprawdź, czy wtyczki cache nie cachują strony z parametrami URL - dodaj parametr poleca do listy wykluczeń cache
  1. Sprawdź, czy moduł afiliacyjny jest włączony
  2. Przejdź do Ustawienia > Bezpośrednie odnośniki i kliknij “Zapisz” (odświeża reguły rewrite)
  3. Zweryfikuj, czy endpoint polski-affiliates jest zarejestrowany
Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.