Wtyczka WordPress: zapis z formularza prosto na listę
Typowy układ wygląda tak: formularz stoi na WordPressie, lista adresów mieszka w zupełnie innym systemie, a między nimi kursuje człowiek z plikiem CSV. Zapis z formularza prosto na listę wycina ten etap i skraca drogę od kliknięcia „Zapisz się” do pierwszej wiadomości. Ręczne przenoszenie kosztuje więcej, niż widać na pierwszy rzut oka. Opóźnienie liczone w dniach, literówki przy przepisywaniu, duble po kolejnym imporcie, a czasem utrata dowodu zgody, bo w arkuszu nie ma ani daty, ani treści klauzuli. Adres zebrany dziś, a użyty za trzy tygodnie, zachowuje się zupełnie inaczej niż świeży – rośnie odsetek odbić, a reputacja nadawcy dostaje po kieszeni.
Piszemy o tym jako zespół prowadzący własną flotę serwerów wysyłkowych. Patrzymy na formularz od strony dostarczalności, nie od strony liczby pozyskanych leadów.
Dlaczego zapis z formularza WordPress warto wpiąć bezpośrednio w listę
Każdy dzień między zapisem a pierwszym mailem osłabia pamięć odbiorcy. Ktoś zostawia adres, dostaje wiadomość po miesiącu i nie kojarzy nadawcy. I wtedy klika „to spam”, a nie „wypisz”. Filtry po stronie operatorów traktują taki sygnał znacznie poważniej niż jakąkolwiek optymalizację treści.
Bezpośrednia integracja daje trzy rzeczy naraz. Kontakt trafia na listę w sekundach, więc powitalna wychodzi, gdy zainteresowanie jest jeszcze świeże. Dowód zgody zapisuje się automatycznie, razem z metadanymi, których po fakcie nikt już nie odtworzy. Segment powstaje od razu, bo wtyczka może przypiąć tag według źródła zapisu.
No i argument czysto operacyjny. Ręczny eksport wykonuje konkretna osoba, a ta osoba idzie na urlop, choruje albo po prostu zapomina. Automat takich stanów nie ma. Jeśli coś się psuje, psuje się głośno i widać to w logu, zamiast cicho zatrzymywać napływ kontaktów na dwa tygodnie.
Jak działa integracja formularza z listą: przepływ krok po kroku
Całość rozkłada się na trzy warstwy. Pierwsza to formularz na stronie. Druga to warstwa przekazania danych, czyli wtyczka albo webhook. Trzecia to lista po stronie platformy wysyłkowej. Awarie zwykle siedzą w tej środkowej i tam patrzymy najpierw. Zakres tego, co da się spiąć bez pisania własnego kodu, zależy od dostępnych integracji z systemami CMS i CRM.
Pełna ścieżka pojedynczego zapisu:
- Odwiedzający wypełnia pole adresu i zaznacza zgodę.
- Walidacja składni adresu po stronie przeglądarki, potem powtórnie na serwerze.
- Zapis lokalny w bazie WordPressa razem ze znacznikiem czasu.
- Wywołanie API platformy wysyłkowej z serwera.
- Przypisanie kontaktu do listy i nadanie tagów według źródła.
- Wysyłka wiadomości potwierdzającej z unikalnym odnośnikiem.
- Potwierdzenie kliknięciem przez subskrybenta.
- Wpis do rejestru zgód z kompletem metadanych.
Klucz API trzymamy po stronie serwera. Nigdy w JavaScripcie na froncie – tam odczyta go każdy i zacznie dopisywać własne kontakty do twojej listy. Sieć bywa zawodna, więc warstwa przekazania potrzebuje kolejki: zapis lokalny plus ponowienie przy błędzie zamiast cichej utraty kontaktu. Do tego idempotencja. Ten sam adres wysłany dwa razy ma dać jeden rekord, nie dwa. Jeśli wolisz spiąć formularz bez wtyczki, pierwszy request do API wysyłasz w kilkanaście minut.
Single opt-in kontra double opt-in, czyli co robi z tym dostarczalność
Formularz otwarty na świat zbiera nie tylko ludzi. Trafiają do niego boty, adresy z literówką w domenie i wpisy od kogoś, kto podał cudzą skrzynkę. Single opt-in wpuszcza to wszystko wprost na listę. Pierwsza kampania idzie więc częściowo w próżnię.
Double opt-in odcina większość śmieci jeszcze przed pierwszą wysyłką masową. Adres musi realnie odebrać pocztę i ktoś musi kliknąć. Prosty filtr, który działa na wejściu, a nie po fakcie. Efekt widać w twardych odbiciach i skargach, a te dwie liczby przekładają się wprost na reputację domeny oraz adresów IP.
Przy starcie robi to największą różnicę. Nowa domena i świeże IP wymagają rozgrzewania, czyli stopniowego zwiększania wolumenu. Lista zbudowana z formularza to najlepszy materiał na warmup, bo ci ludzie faktycznie czekają na wiadomość i ją otwierają.
Tip: pierwszą kampanię po uruchomieniu wyślij wyłącznie do subskrybentów z ostatnich dni. Dopiero gdy statystyki otwarć wyglądają zdrowo, dokładaj starszą część bazy.
Żadna z tych praktyk nie omija filtrów. Filtry oceniają zaangażowanie odbiorców i liczbę skarg. Nie ma tu sztuczek, jest tylko higiena listy.
Zgoda i dane osobowe po stronie formularza
RODO wymaga zgody dobrowolnej, konkretnej i możliwej do udowodnienia. Ten ostatni warunek przegrywa najczęściej, bo dane leżą w arkuszu bez historii. Polskie Prawo komunikacji elektronicznej dokłada artykuł 398: zgoda na komunikację marketingową jest wymagana także w kontaktach B2B. Firmowy adres w domenie kontrahenta jej nie zastępuje.
Konsekwencje dla formularza są konkretne. Checkbox nigdy nie może być zaznaczony domyślnie. Zgoda na newsletter to osobne pole niż zgoda na kontakt handlowy, bo to dwa różne cele.
Razem z adresem zapisuj:
- datę i godzinę zapisu,
- treść klauzuli w wersji obowiązującej tego dnia,
- adres IP zgłoszenia,
- identyfikator formularza i podstronę, z której przyszedł,
- znacznik potwierdzenia double opt-in wraz z czasem kliknięcia.
Po drugiej stronie musi działać równie prosta droga wyjścia. Wypis w jednym kliknięciu z każdej wiadomości, bez logowania i bez ankiety. Do tego nagłówek List-Unsubscribe, żeby przycisk rezygnacji w kliencie pocztowym działał zamiast przycisku „zgłoś spam”. Zgodę traktuj jako cechę konfiguracji formularza, a nie dopisek w regulaminie, do którego i tak nikt nie zagląda.
Techniczna strona wysyłki: co ustawić, zanim formularz ruszy
Uwierzytelnienie domeny ustawia się przed pierwszym zapisem, nie po pierwszych problemach. Rekord SPF ma wskazywać serwery, które faktycznie wysyłają, i mieścić się w limicie odwołań DNS. Przekroczenie limitu unieważnia cały rekord, więc kolejne dopisane include potrafi zepsuć działającą konfigurację.
DKIM podpisuje wiadomości domeną nadawcy. Przy wysyłkach masowych używaj osobnego selektora i osobnego klucza, żeby dało się je rotować niezależnie od poczty firmowej. DMARC ustaw startowo na p=none z adresem raportowym, przeczytaj raporty, a dopiero potem zaostrzaj politykę. Uwierzytelnienie wszystkich trzech rekordów to dziś minimum wymagane przez Gmaila i Yahoo od nadawców masowych.
Return-Path prowadź we własnej subdomenie. Wtedy odbicia wracają do systemu i automatycznie czyszczą listę, zamiast lądować w skrzynce, do której nikt nie zagląda. Rekord PTR musi zgadzać się z nazwą hosta wysyłkowego – na własnej flocie kontrolujemy to sami, u zewnętrznego dostawcy zwykle nie masz na to wpływu.
Marketing trzymaj na osobnej subdomenie. Gdy kampania oberwie, poczta firmowa działa dalej.
Tip: przed uruchomieniem formularza wyślij testową wiadomość na własne skrzynki u kilku dużych operatorów. Otwórz nagłówki i sprawdź wyniki uwierzytelnienia. Trzy razy pass to warunek wstępny, nie sukces.
Najczęstsze błędy przy wpinaniu formularza w listę
Najdroższy jest import starej bazy tą samą drogą co świeże zapisy. Kontakty sprzed lat mieszają się z dzisiejszymi, segmenty przestają cokolwiek znaczyć, a odbicia ze starego pliku psują statystyki całej domeny.
Zaraz za nim brak wiadomości powitalnej. Pierwszy kontakt po miesiącu wygląda dla filtra jak wysyłka do obcego adresu, bo żadnej wcześniejszej wymiany po prostu nie było.
Lista typowych potknięć
- Pole e-mail bez walidacji domeny i bez limitu zgłoszeń – otwarte drzwi dla botów, które zapełnią listę w jedną noc.
- Agresywna captcha zamiast honeypota – zbiera boty, ale wycina też część realnych zapisów. Ukryte pole plus limit zgłoszeń z jednego adresu IP działa bez szkody dla konwersji.
- Klucz API wklejony w kod motywu – a potem cały motyw ląduje w repozytorium.
- Brak logowania odpowiedzi z API – kontakty giną po cichu i nikt tego nie zauważa przez tygodnie.
- Jedna lista na wszystko – bez tagów według źródła zapisu nie odróżnisz zapisu z bloga od zapisu ze strony cennika.
Każdy z tych błędów wykryjesz w kwadrans, jeśli po wdrożeniu przejdziesz ścieżkę zapisu własnoręcznie i sprawdzisz, co dokładnie wylądowało w bazie oraz w logu odpowiedzi API.
Jak podchodzimy do tego w MailCraft
Prowadzimy własną flotę serwerów wysyłkowych. SPF, DKIM, Return-Path i PTR ustawiamy po swojej stronie, zamiast prosić o to zewnętrznego dostawcę i czekać na zgłoszenie w systemie ticketowym. Przy PTR ta różnica jest zasadnicza, bo rekord należy do właściciela adresacji IP.
Mieliśmy blokady u dużych filtrów i wiemy, jak z nich wychodzić. Wygląda to nudno: czyszczenie listy, ograniczenie wolumenu, wysyłka wyłącznie do aktywnych odbiorców, cierpliwość. Zmiana adresu IP niczego nie rozwiązuje, tylko przenosi problem w nowe miejsce razem z przyczyną.
Uczciwie o zakresie: część automatyzacji i gotowych wtyczek do systemów CMS mamy dopiero na roadmapie. Opisany wyżej przepływ to w dużej mierze podejście branżowe, a nie spis funkcji naszego panelu. Pełne zestawienie funkcji dostępnych w panelu pokazuje, co działa dziś, a Kto potrzebuje integracji już teraz, spina formularz webhookiem prosto do API – wtyczka jest wygodą, nie warunkiem.
Jeśli szukasz platformy do email marketingu z własną infrastrukturą wysyłkową, sprawdź, kto realnie odpowiada za uwierzytelnienie domeny i reputację adresów, z których wychodzi twoja poczta.
Podsumowanie: lista rośnie sama, jeśli fundament jest ustawiony
Zapis z formularza prosto na listę skraca drogę od zainteresowania do pierwszej wiadomości. To najprostsza zmiana, jaką da się wprowadzić w pozyskiwaniu kontaktów, i jedna z niewielu, która poprawia jednocześnie konwersję i dostarczalność.
Kolejność wdrożenia ma znaczenie:
- Uwierzytelnienie domeny – SPF, DKIM, DMARC, Return-Path, PTR. Bez tego reszta nie ma sensu.
- Potwierdzanie zapisu – double opt-in i wiadomość powitalna wychodząca od razu.
- Automatyzacja i segmenty – tagi według źródła, sekwencje, scoring. Dopiero na końcu.
Rejestr zgód traktuj jak część systemu, na równi z bazą kontaktów. Ma być kompletny, przeszukiwalny i gotowy do pokazania, gdy ktoś zapyta o podstawę prawną konkretnej wysyłki.
Reszta jest prosta. Dobra lista to lista, która chce dostawać pocztę.


