Deliverability

Czym jest one-click unsubscribe i jak zaimplementować List-Unsubscribe?

One-click unsubscribe usuwa odbiorcę za pomocą żądania POST klienta pocztowego, wykorzystując podpisane nagłówki List-Unsubscribe bez etapu potwierdzenia na stronie.

Automatyczne narzędzia bezpieczeństwa mogą otwierać linki w przychodzących wiadomościach e-mail. Samo odwiedzenie linku nie jest więc wystarczającym dowodem na to, że odbiorca chce zrezygnować z subskrypcji.

Jak one-click odróżnia żądanie rezygnacji od odwiedzenia linku?

One-click wysyła żądanie POST HTTP po uzyskaniu zgody odbiorcy, zamiast traktować pobrany link jako rezygnację.

RFC 8058 wymaga, aby system odbierający uzyskał zgodę użytkownika przed wysłaniem tego żądania.

Nadawca może wtedy przetworzyć rezygnację bez logowania ani strony potwierdzenia. Łatwa rezygnacja daje też odbiorcom alternatywę wobec zgłaszania niechcianych wiadomości jako spam.

Jakie nagłówki musi zawierać wiadomość?

Wiadomość wymaga jednego nagłówka List-Unsubscribe i jednego nagłówka List-Unsubscribe-Post.

Pierwszy wskazuje miejsce docelowe rezygnacji. Drugi zawiera dokładną wartość List-Unsubscribe=One-Click. Wytyczne dla nadawców Google pokazują tę parę:

List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe: <https://solarmora.com/unsubscribe/example>

Użyj adresu URL HTTPS jako miejsca docelowego, aby chronić żądania rezygnacji przed przechwyceniem. Dodatkowe miejsca docelowe inne niż HTTP, na przykład adres mailto, są dozwolone.

Podpisz oba nagłówki za pomocą DKIM. Umieść je na liście h= podpisanych nagłówków. Bez wymaganego prawidłowego podpisu RFC 8058 zaleca odbiorcom niewyświetlanie kontrolki one-click. Samo dodanie nagłówków nie gwarantuje więc pojawienia się przycisku.

Co musi akceptować endpoint rezygnacji?

Endpoint musi akceptować żądanie POST one-click bez wymagania logowania, ciasteczek ani autoryzacji HTTP. System pocztowy odbiorcy wysyła żądanie bez sesji na stronie odbiorcy.

URL musi identyfikować odbiorcę i listę, z której ma zostać usunięty, ponieważ żadna sesja nie dostarcza tego kontekstu. Treść żądania POST zawiera stałą parę List-Unsubscribe=One-Click.

Użyj trudnego do podrobienia identyfikatora w URL-u, ponieważ przewidywalny adres mógłby pozwolić komuś wypisać innego odbiorcę. Zweryfikuj ten identyfikator przed zastosowaniem żądania.

Nadawca nie może zwracać przekierowania HTTPS. Przekierowanie może zmienić sposób obsługi żądania POST, więc opublikowany endpoint musi przetwarzać żądanie bezpośrednio. Odpowiedź z przekierowaniem 3xx nie spełnia tego wymagania.

Co jeśli zapora sieciowa zablokuje żądanie?

Zablokowane żądanie może nadal pozostawić nadawcę odpowiedzialnym za nieprzetworzoną rezygnację.

Panel stanu zgodności Google zlicza udane żądania rezygnacji nawet wtedy, gdy pośrednik uniemożliwia ich dotarcie do Twoich serwerów.

Wyzwanie botowe wymagające sesji przeglądarki jest sprzeczne z anonimowym żądaniem POST one-click. Skonfiguruj reguły dostępu endpointu tak, aby prawidłowe żądania mogły do niego dotrzeć. Pusty log aplikacji nie dowodzi, że żaden odbiorca nie próbował zrezygnować z subskrypcji.

Nie, Google i Yahoo wymagają też widocznego linku do rezygnacji w treści wiadomości marketingowych i subskrypcyjnych.

Google wymaga metody RFC 8058 dla kontrolki opartej na nagłówku. Wytyczne Yahoo rekomendują tę metodę, ale akceptują też mailto w nagłówku list-unsubscribe.

Link w treści daje odbiorcom kolejny sposób na zgłoszenie rezygnacji. Pozostaje konieczny nawet wtedy, gdy klient pocztowy wyświetla własną kontrolkę.

W jakim czasie musisz przetworzyć żądanie?

Google i Yahoo wymagają realizacji żądań rezygnacji w ciągu dwóch dni.

Google wyraża termin jako 48 godzin w swoim panelu zgodności. Żądanie złożone w poniedziałek w południe musi więc zostać przetworzone do środy w południe.

Termin dotyczy usunięcia odbiorcy z listy. Działający endpoint, który pozostawia odbiorcę na liście po upływie tego czasu, nie spełnia wymagania przetwarzania.

Jak korzystać z obsługi rezygnacji w Bird?

Oznacz wysyłkę jako marketingową, aby Bird zastosował zarządzaną obsługę rezygnacji.

Pole category w API przyjmuje wartość marketing dla poczty promocyjnej lub transactional dla wiadomości operacyjnych. Bez jawnej kategorii wysyłka korzystająca z szablonu wielokrotnego użytku dziedziczy jego klasyfikację. Pozostałe wysyłki domyślnie otrzymują marketing.

Bird dodaje parę nagłówków rezygnacji do wiadomości marketingowych i uwzględnia je w podpisanej treści. Hostowany endpoint rejestruje rezygnację. Przyszłe wysyłki marketingowe respektują tę blokadę, czyli zapis uniemożliwiający dostarczenie do adresu, który zrezygnował.

W przypadku pojedynczych wysyłek HTTP API pozostaw oba zarządzane nagłówki rezygnacji na Bird. Podanie któregokolwiek zarządzanego nagłówka zwraca 422. Gdy wysyłasz do odbiorców za pomocą broadcastów Bird, Bird odrzuca wszelkie podane przez Ciebie nagłówki rezygnacji marketingowej. Zgłoszenia SMTP również odrzucają te nagłówki.

Bird nie dodaje automatycznie zarządzanej pary do wiadomości transakcyjnych. Pojedyncze wysyłki HTTP API mogą przekazywać niestandardowe nagłówki rezygnacji w tej kategorii.

Przewodnik po linkach rezygnacji opisuje widoczny link w treści i domyślną stopkę. Kategorie wyjaśniają, jak klasyfikacja wpływa na dostarczanie do odbiorców, którzy zrezygnowali.

W skrócie

  1. RFC 8058 wymaga pary nagłówków.

    List-Unsubscribe wskazuje miejsce docelowe HTTPS, a List-Unsubscribe-Post identyfikuje żądanie one-click.

  2. Podpis musi obejmować oba nagłówki.

    Prawidłowy podpis DKIM musi zawierać oba nagłówki unsubscribe na liście podpisanych nagłówków.

  3. Endpoint nie wymaga logowania ani przekierowania.

    Żądanie zawiera informacje identyfikujące w URL-u i musi działać bez ciasteczek i autoryzacji.

  4. Widoczne linki i terminowe przetwarzanie nadal mają znaczenie.

    Wymagania dostawców obejmują widoczny link do rezygnacji w treści wiadomości i przetworzenie w ciągu dwóch dni.

Zastosuj w praktyce.

Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.

Uzyskaj brief wdrożeniowy

Buduj na tej samej sieci.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i zweryfikowaniu nadawcy.

Twój kolejny pomysł.
Gotowy do połączenia.