Sign inGet started

Linki rezygnacji z subskrypcji

Odbiorca Twojego marketingowego maila ma dwa sposoby na rezygnację: przycisk rezygnacji wyświetlany przez dostawcę skrzynki pocztowej oraz link w treści wiadomości. Dodajemy oba do każdej wysyłki marketing, zgłaszamy każdą rezygnację jako zdarzenie webhooka i zapisujemy rezygnację adresu, żeby Twoja następna kampania go pominęła. Jedyne, czego pilnujesz, to poprawne ustawienie kategorii.

Ustaw kategorię

Rezygnacja z subskrypcji ma sens tylko dla maili, z których odbiorca może zrezygnować, dlatego kategoria jest pierwsza. Wysyłka ma domyślnie wartość category: "marketing", więc kampanie, newslettery i powiadomienia marketingowe są obsługiwane poprawnie bez dodatkowej pracy. Ustaw category: "transactional" jawnie na mailach operacyjnych, a my ich nie ruszamy. Potwierdzenie zakupu czy reset hasła nie zawiera linku rezygnacji i nigdy nie jest blokowane przez wcześniejszą rezygnację odbiorcy.
Stoją za tym dwa obowiązki. Nadawcy masowi muszą zgodnie z wymaganiami Gmaila i Yahoo oferować rezygnację jednym kliknięciem w mailach marketingowych, a widoczny link w treści jest osobno wymagany prawnie na większości rynków. Wysyłka marketing zawiera oba.

Przycisk rezygnacji jednym kliknięciem

To kontrolka rezygnacji, którą dostawcy skrzynek pocztowych wyświetlają w nagłówku wiadomości. Pochodzi z pary nagłówków List-Unsubscribe i List-Unsubscribe-Post, a dostawcy oferują wersję jednym kliknięciem tylko wtedy, gdy oba są obecne, a endpoint rezygnacji akceptuje nieuwierzytelniony POST bez kroku potwierdzenia. To jest kontrakt, który sprawdzają Gmail i Yahoo.
Mail marketingowy wychodzi z tymi nagłówkami już ustawionymi, bez względu na sposób wysyłki: broadcast z dashboardu albo wiadomość marketing przez POST /v1/email/messages. Niczego nie musisz budować ani hostować.
Ponieważ to my zarządzamy tą parą nagłówków w mailach marketingowych, ustawienie własnego List-Unsubscribe lub List-Unsubscribe-Post w wysyłce marketing jest odrzucane z błędem 422. W wysyłce transactional nie dodajemy nagłówka rezygnacji i możesz ustawić własny przez pole headers, jeśli masz ku temu powód.
Użycie przycisku dostawcy przez odbiorcę generuje zdarzenie email.list_unsubscribed.
Druga ścieżka to widoczny link rezygnacji w samej treści wiadomości. Dodajemy go do kodu HTML Twoich wysyłek marketing, żeby odbiorca zawsze miał co kliknąć. Możesz dodać też własny link prowadzący do centrum preferencji, które hostujesz, a nasz pozostanie obok niego jako wymagane minimum.
Domyślnie link pojawia się jako mała stopka na końcu treści. Żeby wybrać miejsce samodzielnie, wstaw zarezerwowaną zmienną {{ bird.unsubscribe_url }} tam, gdzie ma się znaleźć link:
Przykład kodu
<p>
  You received this because you subscribed to our newsletter. You can {{ bird.unsubscribe_url }} at
  any time.
</p>
Wtedy renderujemy link w tym miejscu zamiast dołączać stopkę, jako anchor z tekstem "unsubscribe". Możesz też użyć jej jako wartości href (<a href="{{ bird.unsubscribe_url }}">Leave this list</a>), żeby zachować własne sformułowanie i stylowanie.
Podstawienie następuje tylko w kopii wychodzącej, więc odczytanie wiadomości przez API zwraca oryginalną treść z nietkniętą zmienną.
Dostosuj stronę docelową w Email > Unsubscribe page. Ustaw nazwę nadawcy, tło, kolory tekstu i przycisków. Nazwa nadawcy domyślnie odpowiada nazwie Twojej organizacji. Użyj przykładowego linku, żeby zobaczyć podgląd wyniku.
Użycie linku w treści wiadomości przez odbiorcę generuje zdarzenie email.unsubscribed, odrębne od email.list_unsubscribed, dzięki czemu możesz rozróżnić obie ścieżki.

Co robi rezygnacja

Przestajemy wysyłać do odbiorcy bez konieczności Twojej reakcji na webhook. Każde z tych zdarzeń zapisuje adres odbiorcy jako wypisany z maili nietransakcyjnych, co oznacza:
  • Wysyłki marketing na ten adres są odrzucane z email.rejected i rejection_reason: "recipient_suppressed". Ten powód obejmuje każdą blokadę na poziomie odbiorcy, zarówno supresję, jak i zadeklarowaną preferencję, więc w obu przypadkach jest to wartość, na którą należy filtrować.
  • Wysyłki transactional nadal przechodzą, ponieważ rezygnacja oznacza, że odbiorca nie chce więcej kampanii. Sam adres wciąż działa.
Rezygnacja to zadeklarowana preferencja, nie supresja: pojawia się na karcie Preferences w Email > Suppressions oraz na stronie szczegółów kontaktu, a nie na liście supresji. Dotyczy tylko tego adresu, a wpis pokazuje, kto zrezygnował i kiedy.
Zdarzenia webhooka pozwalają odzwierciedlić rezygnację we własnej bazie danych, zmienić flagę subskrypcji lub ją zalogować. Oba zawierają pola identyfikujące z każdego zdarzenia e-mail: email_id, recipient_id, workspace_id, adres recipient i jego recipient_role. Zawierają też tags i metadata oryginalnej wysyłki, dzięki czemu możesz uzgodnić dane ze swoimi rekordami bez dodatkowego wyszukiwania, oraz broadcast_id z nazwą broadcastu, w ramach którego mail został wysłany, lub null, gdy wysyłka nie była częścią broadcastu. Link rezygnacji z maila wysłanego przed dodaniem tego pola nie wskazuje broadcastu, więc rezygnacja przez taki link raportuje null w obu zdarzeniach, niezależnie od tego, czy mail został wysłany w ramach broadcastu. Subskrybuj je tak samo jak każde inne zdarzenie e-mail; dokumentacja zdarzeń zawiera pełne payloady.
Rezygnacja to oświadczenie samego odbiorcy, więc nie możesz jej usunąć przez API supresji tak, jak usunąłbyś supresję. Żeby wznowić wysyłkę na ten adres, zapisz opt-in w Contacts > Preferences lub wywołaj POST /v1/preferences z status: granted. Ta strona obejmująca cały obszar roboczy zapisuje oświadczenia dla każdego kanału, a karta w Email > Suppressions pokazuje te dotyczące e-maila. W obu przypadkach nadpisanie rezygnacji wymaga consented_at, czyli momentu wyrażenia zgody przez odbiorcę, a opt-in obowiązuje tylko wtedy, gdy ten moment jest późniejszy niż rezygnacja, którą odwraca.

Następne kroki

  • Kategorie: dlaczego marketing decyduje o tym, czy rezygnacja odnosi skutek
  • Supresje: lista faktów dostarczalności i czym różni się od zadeklarowanej preferencji
  • Zdarzenia e-mail: pełne payloady email.unsubscribed i email.list_unsubscribed
  • Wymagania Gmaila i Yahoo: gdzie rezygnacja jednym kliknięciem jest wymagana dla nadawców masowych
  • Webhooki: subskrypcja endpointu, weryfikacja sygnatury i ponowne próby