NetSendo v2.11.3: naprawione automatyzacje urodzinowe i datowe
Życzenia urodzinowe to jedne z najskuteczniejszych wiadomości w email marketingu. Są osobiste, trafiają w odpowiednim momencie, a po skonfigurowaniu nie wymagają dalszej pracy. Warunek jest jeden: automatyzacja musi działać. W wersjach NetSendo przed v2.11.3 automatyzacje urodzinowe, rocznicowe i "osiągnięcia daty" nigdy się nie uruchamiały.
To wydanie serwisowe naprawia cały mechanizm wyzwalaczy datowych od początku do końca. Usuwa też błąd follow-upów CRM, który co pięć minut dopisywał wpis do logów. Jeśli korzystasz z automatyzacji opartych na datach lub sekwencji CRM, ta aktualizacja jest dla Ciebie ważna.
🚀 Co nowego w v2.11.3
Automatyzacje datowe wreszcie działają
Zadanie w tle sprawdza wyzwalacze datowe co minutę. Przed tym wydaniem odwoływało się do relacji contactList, której model subskrybenta nie ma. Każde uruchomienie zwracało błąd:
DateTriggerService error: Call to undefined method App\Models\Subscriber::contactList()
Na jednej z instalacji klienta błąd pojawiał się około 60 razy na godzinę. Sama poprawka tego błędu by nie wystarczyła. Zapytania odczytywały kolumnę birth_date i pole slug pól własnych, które nie istnieją. Warunek urodzinowy był dodatkowo łączony przez OR, więc nie był ograniczony do konta. To jak samochód z rozładowanym akumulatorem, pustym bakiem i zepsutą kierownicą: nowy akumulator nic by nie dał.
Wersja 2.11.3 usuwa wszystkie te problemy:
Urodziny z pól własnych
Data urodzin jest odczytywana z pola własnego typu data, którego nazwa lub etykieta o niej wspomina (urodzin…, birth…).
Właściwi odbiorcy
Uwzględniani są tylko subskrybenci konta, do których można wysyłać wiadomości i którzy są aktywnymi członkami co najmniej jednej z jego list.
Reguły z listą pasują
Zdarzenia datowe zawierają teraz aktywne listy subskrybenta, więc reguły ograniczone do listy wreszcie się uruchamiają.
Jedna data, jedno uruchomienie
Każda reguła "osiągnięcia daty" działa tylko w swoim dniu i tylko raz na subskrybenta.
Jak wykrywane są urodziny
Subskrybenci w NetSendo nie mają wbudowanego pola z datą urodzin. Data urodzin pochodzi teraz z pola własnego, które spełnia te warunki:
- Jest typu data.
- Jego nazwa lub etykieta wspomina o urodzinach, np.
data_urodzin,birthdaylubbirth_date. - Wartości są zapisane jako
RRRR-MM-DD(np.1990-04-17) lubDD.MM.RRRR(np.17.04.1990).
Wiek subskrybenta jest obliczany z tego samego pola, więc możesz go użyć w wiadomościach urodzinowych.
⚠️ Ważne: Bez takiego pola własnego automatyzacje urodzinowe nie mają do kogo trafić. Upewnij się, że pole istnieje, a formularze zapisu lub importy je wypełniają.
Reguły z listą i poprawki "osiągnięcia daty"
Gdy planujesz wiadomość na "urodziny subskrybenta" lub "rocznicę", NetSendo tworzy regułę powiązaną z listą. Wcześniej zdarzenia datowe nie zawierały list subskrybenta, więc takie reguły nigdy nie pasowały. Teraz zdarzenia zawierają aktywne listy subskrybenta.
Reguły "osiągnięcia daty" miały też błąd w harmonogramie. Gdy którakolwiek reguła konta była zaplanowana na dany dzień, zadanie uruchamiało wszystkie reguły "osiągnięcia daty" tego konta. Działały więc reguły ustawione na inne dni, a dwie reguły z tego samego dnia uruchamiały się nawzajem dwukrotnie. Teraz każda reguła działa tylko w swoim dniu, raz na subskrybenta.
Sekwencje follow-up CRM dla usuniętych kontaktów
Kontakty CRM są usuwane miękko (soft delete), więc ich zapisy do sekwencji pozostawały aktywne. Co pięć minut crm:process-follow-ups próbowało je przetworzyć, kończyło się błędem "Attempt to read property "id" on null" i zgłaszało niepowodzenie. Nie ustępowało to samo z siebie.
W v2.11.3:
- Zapisy usuniętych kontaktów są anulowane automatycznie.
- Zapisy, których sekwencja już nie istnieje, również są anulowane.
- Anulowanie nie koliduje już z wcześniej anulowanym zapisem tego samego kontaktu do tej samej sekwencji.
💼 Korzyści i przypadki użycia
E-commerce: rabaty urodzinowe
Zbieraj datę urodzin przy zakupie lub zapisie i zapisuj ją w polu własnym typu data. NetSendo może wtedy:
- Wysłać osobisty kod rabatowy w dniu urodzin klienta
- Skierować ofertę premium tylko do klientów z listy "VIP"
- Dopasować treść wiadomości do wieku subskrybenta
SaaS: rocznice a retencja
Automatyzacje rocznicowe pomagają ograniczyć odejścia klientów:
- Podziękuj użytkownikom w rocznicę rejestracji
- Pokaż funkcje, z których jeszcze nie korzystali
- Zaproponuj rabat na odnowienie przed końcem planu rocznego za pomocą reguły "osiągnięcia daty"
Agencje: czyste procesy CRM
Agencje zarządzające danymi CRM wielu klientów często usuwają kontakty hurtowo. Sekwencje follow-up tych kontaktów są teraz anulowane automatycznie, więc logi harmonogramu pozostają czyste, a prawdziwe błędy łatwo zauważyć.
🛠️ Przewodnik krok po kroku
-
Zrób kopię zapasową i zaktualizuj
Wykonaj kopię bazy danych, a następnie pobierz najnowszy obraz i uruchom ponownie kontenery:
docker compose pull docker compose up -d -
Utwórz lub sprawdź pole urodzin
W ustawieniach pól własnych upewnij się, że istnieje pole typu data, którego nazwa lub etykieta zawiera "urodzin" (albo "birth"), np. "Data urodzin".
-
Sprawdź format danych
Upewnij się, że zapisane wartości mają format
RRRR-MM-DDlubDD.MM.RRRR. Jeśli importy używają innych formatów, np.MM/DD/RRRR, najpierw je przekonwertuj. -
Przejrzyj automatyzacje datowe
Otwórz reguły urodzinowe, rocznicowe i "osiągnięcia daty". Reguły z listą zaczną teraz pasować, więc sprawdź treść i listy docelowe, zanim zaczną wysyłać.
-
Sprawdź logi
Po kilku minutach upewnij się, że błędy
DateTriggerService errori błędy follow-upów już się nie pojawiają. Dostosuj polecenie do swojej konfiguracji:docker compose logs --since 15m | grep -E "DateTriggerService|Follow-up processing error"
ℹ️ Uwaga: Automatyzacje, które dotąd po cichu nie działały, mogą zacząć wysyłać zaraz po aktualizacji. Najpierw przejrzyj wiadomości, aby subskrybenci nie dostali nieaktualnych treści.
Częste pułapki
- Pole tekstowe zamiast pola daty: pole nie zostanie wykryte. Zmień typ lub utwórz nowe pole typu data.
- Niejasna etykieta: pole o nazwie "DOB" nie zostanie dopasowane. Zmień nazwę tak, aby zawierała "urodzin" lub "birth".
- Brak aktywnego członkostwa: subskrybenci, którzy nie są aktywnymi członkami żadnej listy, są pomijani.
🎯 Porady ekspertów
Używaj jednego pola daty dla urodzin. Kilka podobnych pól utrudnia zarządzanie danymi i utrzymanie ich spójności między importami.
Dodaj testowego subskrybenta z dzisiejszą datą urodzin i aktywnym członkostwem na liście. Sprawdź, czy automatyzacja się uruchamia, zanim zaczniesz na niej polegać w produkcji.
Ustaw alert dla powtarzających się błędów zaplanowanych poleceń. Problemy takie jak ten łatwo przeoczyć, gdy nie zatrzymują aplikacji.
Data urodzin to dane osobowe. Zbieraj ją tylko za wyraźną zgodą i wyjaśnij, do czego jej potrzebujesz. NetSendo działa na Twoim serwerze, więc te dane zostają w Twojej infrastrukturze.
✅ Podsumowanie
NetSendo v2.11.3 to małe wydanie o dużym znaczeniu. Przywraca jedne z najcenniejszych automatyzacji w email marketingu:
- Automatyzacje urodzinowe, rocznicowe i "osiągnięcia daty" działają poprawnie.
- Data urodzin pochodzi z pola własnego typu data, a wiek jest z niego obliczany.
- Reguły z listą pasują, a reguły "osiągnięcia daty" działają raz, w swoim dniu.
- Follow-upy CRM dla usuniętych kontaktów lub sekwencji są poprawnie anulowane.
Zaktualizuj NetSendo, sprawdź pole urodzin i przejrzyj kampanie oparte na datach. Więcej informacji znajdziesz w dokumentacji oraz na stronie integracji.
Gotowy, by świętować z subskrybentami?
Zaktualizuj NetSendo do v2.11.3 i uruchom automatyzacje oparte na datach.

