/ Problem
Po co w ogóle wyprowadzać zgłoszenia poza skrzynkę
Bo skrzynka pocztowa jest najgorszym możliwym miejscem na listę klientów, a przy tym domyślnym. Formularz wysyła maila, mail trafia do skrzynki i tam zostaje — wymieszany z fakturami, ofertami hostingu i wiadomościami od dostawców.
Konkretne skutki widać dopiero po kilku miesiącach. Nie da się powiedzieć, ile zapytań było w zeszłym kwartale, bez ręcznego liczenia. Nie da się sprawdzić, na które odpowiedziano, a które przepadły. Nie da się pokazać listy komuś z zespołu bez przekazywania dostępu do całej skrzynki. A kiedy filtr antyspamowy uzna jedną z takich wiadomości za spam, nikt się o tym nie dowie, bo nikt nie zauważa braku maila, którego się nie spodziewał.
Arkusz rozwiązuje dokładnie te problemy i nic więcej. Zgłoszenia lądują w jednym miejscu, jedno pod drugim, z datą. Można je posortować, policzyć, opisać kolumną „status” i udostępnić jednej osobie bez oddawania jej skrzynki. To nie jest system CRM i nie próbuje nim być — to lista, która sama się uzupełnia.
/ Przegląd
Trzy drogi i czym się naprawdę różnią
Sposobów jest dokładnie trzy i różnią się nie tyle efektem, ile tym, co się dzieje, gdy przestaną działać — oraz tym, kto to naprawi.
| Wtyczka | Platforma automatyzacji | Własny skrypt | |
|---|---|---|---|
| Gdzie działa | W Twoim WordPressie | W usłudze zewnętrznej | Po stronie Google |
| Koszt startowy | 0 zł (są bezpłatne) | 0 zł w planie darmowym | 0 zł |
| Czas wdrożenia | Kwadrans | Godzina | Kilka godzin |
| Opóźnienie | Natychmiast | Zależy od planu | Natychmiast |
| Kilka miejsc docelowych | Zwykle w wersji płatnej | Naturalnie | Trzeba dopisać |
| Kto naprawi awarię | Autor wtyczki | Dostawca platformy | Tylko Ty |
/ Droga 1
Wtyczka w WordPressie — najkrótsza droga
Dla większości małych firm to jest właściwa odpowiedź i nie ma sensu szukać dalej. Wtyczka siedzi w tym samym WordPressie co formularz, więc po wysłaniu zgłoszenia zapisuje wiersz od razu — bez pośredników i bez abonamentu.
Dla Contact Form 7, czyli najpopularniejszego bezpłatnego formularza, dostępna jest wtyczka GSheetConnector z ponad 40 tysiącami aktywnych instalacji. W wersji bezpłatnej daje logowanie do Google, mapowanie pól formularza na kolumny arkusza, zapis kopii zgłoszeń do bazy WordPressa oraz — co ważniejsze, niż brzmi — ochronę przed wstrzyknięciem formuły do arkusza. Wersja płatna dokłada między innymi kilka arkuszy docelowych dla jednego formularza, własną kolejność kolumn i logikę warunkową.
Jeśli używasz komercyjnej wtyczki formularzy, integracja zwykle już w niej jest, tylko wyżej w cenniku — na przykład dodatek Arkuszy Google do WPForms wymaga licencji Pro lub Elite. Warto to sprawdzić przed kupnem osobnego narzędzia, bo bywa, że płacisz dwa razy za to samo.
Zasada przy wyborze wtyczki
Sprawdź datę ostatniej aktualizacji i deklarowaną zgodność z Twoją wersją WordPressa, zanim spojrzysz na listę funkcji. Wtyczka łącząca się z zewnętrzną usługą przestaje działać, gdy ta usługa zmienia zasady logowania — a to dzieje się co kilka lat. Porzucona wtyczka tego nie nadrobi.
/ Droga 2
Platforma automatyzacji — gdy miejsc docelowych jest więcej
Make i n8n to usługi, w których buduje się przepływ z klocków: „gdy przyjdzie zgłoszenie, dopisz wiersz do arkusza, wyślij powiadomienie i dodaj kontakt do listy”. Formularz wysyła dane pod jeden adres, a platforma rozdziela je dalej.
To jest właściwy wybór dokładnie w jednym przypadku: gdy jedno zgłoszenie ma wywołać kilka rzeczy naraz. Do samego dopisania wiersza do arkusza platforma jest nadmiarowa — dokłada usługę, konto i abonament tam, gdzie wystarczy wtyczka.
Warunki, które trzeba znać przed decyzją:
- Make — plan bezpłatny obejmuje 1000 kredytów miesięcznie, maksymalnie dwa aktywne scenariusze i minimalny odstęp uruchomień co 15 minut. Najtańszy płatny plan Core kosztuje 9 dolarów miesięcznie, daje 10 000 kredytów, odstęp skrócony do minuty i nielimitowaną liczbę scenariuszy.
- n8n — plan Starter to 20 euro miesięcznie przy płatności rocznej z limitem 2500 uruchomień, plan Pro 50 euro i 10 000 uruchomień. Istnieje też bezpłatna wersja społecznościowa do samodzielnego uruchomienia na własnym serwerze, na licencji fair-code — bez abonamentu, ale z serwerem i aktualizacjami po Twojej stronie.
Ta różnica jest istotniejsza, niż wygląda w tabeli cen. W modelu abonamentowym płacisz i masz spokój. W modelu samodzielnym nie płacisz nikomu, ale to Ty jesteś działem utrzymania — a przepływ, który cicho przestał działać w czasie urlopu, kosztuje więcej niż roczny abonament.
/ Droga 3
Własny skrypt — najtaniej i najbardziej po Twojej stronie
Google Apps Script pozwala napisać krótki program działający po stronie Google, który przyjmuje dane i dopisuje je do arkusza. Nie ma tu abonamentu ani pośrednika — jest natomiast kod, który ktoś musi rozumieć.
Limity zależą od rodzaju konta i to jest jedyne miejsce w tym tekście, gdzie konto firmowe daje wymierną przewagę:
| Limit dzienny | Zwykłe konto Google | Google Workspace |
|---|---|---|
| Czas pracy wyzwalaczy | 90 minut | 6 godzin |
| Zapytania do zewnętrznych adresów | 20 000 | 100 000 |
| Adresaci wiadomości | 100 | 1500 |
| Czas jednego uruchomienia | 6 minut — tak samo w obu | |
Dla formularza kontaktowego małej firmy nawet limity konta bezpłatnego są nieosiągalne. Prawdziwym kosztem tej drogi nie są limity, tylko to, że nikt poza autorem nie wie, jak to działa. Jeśli skrypt pisze zewnętrzny wykonawca, poproś o komentarze w kodzie i jedną stronę opisu — inaczej za dwa lata taniej będzie napisać wszystko od nowa.
/ Decyzja
Którą drogę wybrać
Reguła mieści się w trzech zdaniach. Jeden formularz i jeden arkusz — wtyczka. Jedno zgłoszenie, kilka miejsc docelowych — platforma automatyzacji. Nietypowe przetwarzanie danych po drodze i ktoś, kto to utrzyma — własny skrypt.
Najczęstszy błąd polega na wyborze drogi trzeciej albo drugiej, gdy wystarczy pierwsza — zwykle dlatego, że brzmią poważniej. Warto pamiętać, że każde ogniwo w tym łańcuchu to kolejne miejsce, które może zawieść po cichu, i kolejne konto, którego hasło trzeba będzie odzyskać za trzy lata.
Jakie kolumny założyć od początku
Niezależnie od wybranej drogi warto przemyśleć układ arkusza przed pierwszym zgłoszeniem, bo zmiana kolejności kolumn po fakcie jest dokładnie tą czynnością, która psuje zapis. Sprawdza się prosty podział: najpierw kolumny zapisywane automatycznie, potem kolumny wypełniane ręcznie, z wyraźną przerwą między nimi.
Po stronie automatycznej: data i godzina zgłoszenia, pola formularza w stałej kolejności oraz — jeśli narzędzie to potrafi — adres podstrony, z której wysłano formularz. Ta ostatnia kolumna kosztuje nic, a po pół roku odpowiada na pytanie, które sekcje strony faktycznie przynoszą zapytania.
Po stronie ręcznej wystarczą trzy: status, osoba prowadząca i notatka. Dopisuj je zawsze na końcu, nigdy między kolumnami automatycznymi — wtedy narzędzie zapisujące dane nie ma szans trafić w niewłaściwe miejsce.
/ Pułapki
Co się psuje — i dlaczego nikt tego nie zauważa
To jest sekcja, której nie znajdziesz w materiałach producentów, bo każdy z nich sprzedaje jedno z powyższych narzędzi. Wszystkie te sytuacje widziałem u klientów.
1. Zapis pada, a strona nadal dziękuje
Najgroźniejsza z całej listy. Zapis do arkusza odbywa się po przyjęciu formularza, więc odwiedzający zawsze zobaczy podziękowanie — niezależnie od tego, czy wiersz gdziekolwiek dotarł. Gdy wygaśnie autoryzacja Google albo ktoś zmieni nazwę arkusza, zgłoszenia po prostu przestają się pojawiać, a strona zachowuje się bez najmniejszej zmiany.
Zabezpieczenie: zawsze zostaw drugie miejsce zapisu — kopię w bazie WordPressa albo powiadomienie mailem — i wpisz sobie w kalendarz cotygodniowe spojrzenie do arkusza. Jeśli od tygodnia nie ma ani jednego wiersza, sprawdź połączenie, zanim uznasz, że to słaby miesiąc.
2. Ktoś wpisuje formułę do pola formularza
Jeżeli treść pola trafia do arkusza bez zabezpieczenia, tekst zaczynający się od znaku równości zostanie potraktowany jako formuła i wykonany. Tak można nakłonić arkusz do pobrania danych z zewnętrznego adresu albo do wyświetlenia zawartości innych komórek — łącznie z tymi, których autor wpisu nie powinien zobaczyć.
Zabezpieczenie: narzędzie powinno poprzedzać zapisywaną treść apostrofem, co zamienia formułę w zwykły tekst. Bezpłatna wersja GSheetConnectora wymienia taką ochronę wprost. Przy własnym skrypcie trzeba to dopisać samodzielnie — i to jest rzecz, o którą warto zapytać wykonawcę.
3. Ktoś porządkuje arkusz
Arkusz wygląda jak zaproszenie do sprzątania. Ktoś posortuje wiersze, wstawi kolumnę „uwagi” w środku albo przeniesie plik do innego folderu. Narzędzie zapisujące dane trafia wtedy w niewłaściwe kolumny albo przestaje trafiać w ogóle.
Zabezpieczenie: zostaw arkusz zapisu w spokoju i pracuj na drugiej zakładce, która pobiera z niego dane. Kolumny robocze — status, notatki, osoba prowadząca — dopisuj na końcu, nigdy w środku.
4. Powtórzone wiersze
Gdy zapis się nie powiedzie, część narzędzi ponawia próbę. Jeśli pierwsza próba jednak doszła, w arkuszu pojawia się ten sam wpis dwa razy. Przy formularzu kontaktowym to drobiazg, przy formularzu zamówienia — nie.
Zabezpieczenie: zapisuj w osobnej kolumnie identyfikator zgłoszenia albo dokładny znacznik czasu i szukaj po nim duplikatów, zanim policzysz wyniki miesiąca.
5. Arkusz przestaje wystarczać
Techniczny limit to 10 milionów komórek na plik i 18 278 kolumn, więc przy formularzu kontaktowym jest nieosiągalny. Znacznie wcześniej kończy się wygoda: przy kilku tysiącach wierszy, historii kontaktów i kilku osobach pracujących równocześnie arkusz przestaje być narzędziem, a staje się problemem. To jest moment na CRM, nie na większy arkusz.
/ Dane osobowe
Zanim wyślesz dane klientów do Google
Zgłoszenie z formularza kontaktowego prawie zawsze zawiera dane osobowe — imię, adres e-mail, często numer telefonu. Przesłanie ich do Arkuszy Google oznacza, że przetwarza je dla Ciebie kolejny podmiot, i wiąże się z obowiązkami, o których warto wiedzieć przed uruchomieniem, a nie po.
Dwie rzeczy przesądzają najwięcej: rodzaj konta Google, na którym stoi arkusz, oraz treść klauzuli informacyjnej pod formularzem. Rozpisałem to osobno, razem z pytaniem o umowę powierzenia i o przekazywanie danych poza Europejski Obszar Gospodarczy, w tekście o danych z formularza w Arkuszach Google a RODO.
A jeśli szukasz tu rozwiązania problemu, który zaczął się od tego, że formularz przestał wysyłać maile — to dobry trop. Naprawa wysyłki jest pierwszym krokiem, ale samo przeniesienie zgłoszeń poza skrzynkę zabezpiecza Cię przed następnym razem.
Jeżeli wolisz, żeby to po prostu działało i było sprawdzone — łącznie z drugim miejscem zapisu i zabezpieczeniem pól formularza — zajmuję się takimi integracjami.