Uitschrijflinks
Een ontvanger van je marketingmail kan zich op twee manieren afmelden: via de uitschrijfknop die de mailboxprovider toont, en via een link in de berichttekst. We plaatsen beide op elke marketing-verzending, rapporteren elke afmelding als een webhook-event en registreren de afmelding van het adres zodat je volgende campagne het overslaat. De categorie correct instellen is het enige deel dat bij jou ligt.
Stel de categorie in
Een uitschrijving betekent alleen iets voor mail waar een ontvanger zich voor kan afmelden, en daarom komt de categorie eerst. Een verzending is standaard category: "marketing", dus campagne-, nieuwsbrief- en aankondigingsmail wordt zonder extra werk correct afgehandeld. Stel category: "transactional" expliciet in op operationele mail, dan laten we die met rust. Een ontvangstbevestiging of wachtwoordreset heeft geen uitschrijflink en wordt nooit geblokkeerd door een eerdere afmelding.
Hier zitten twee verplichtingen achter. Bulkverzenders zijn door Gmail en Yahoo verplicht om one-click-uitschrijving aan te bieden op marketingmail, en een zichtbare link in de berichttekst is in de meeste markten apart wettelijk verplicht. Een marketing-verzending heeft beide.
De one-click-uitschrijfknop
Dit is het uitschrijfbesturingselement dat mailboxproviders tonen in de berichtheader. Het komt voort uit een paar headers, List-Unsubscribe en List-Unsubscribe-Post, en providers bieden de one-tap-versie alleen aan als beide aanwezig zijn en het opt-out-endpoint een niet-geauthenticeerde POST zonder bevestigingsstap accepteert. Dat is het contract waar Gmail en Yahoo op controleren.
Marketingmail gaat met die headers al erop de deur uit, ongeacht hoe je verzendt: een broadcast vanuit het dashboard, of een marketing-bericht via POST /v1/email/messages. Niets om te bouwen, niets om te hosten.
Omdat wij dat headerpaar op marketingmail beheren, wordt het instellen van je eigen List-Unsubscribe of List-Unsubscribe-Post op een marketing-verzending geweigerd met een 422. Op een transactional-verzending voegen we geen uitschrijfheader toe, en je kunt er zelf een instellen via het headers-veld als je daar een reden voor hebt.
Een ontvanger die de knop van de provider gebruikt, produceert een email.list_unsubscribed-event.
De link in de berichttekst
Het tweede pad is een zichtbare uitschrijflink in het bericht zelf. We voegen er een toe aan de HTML-body van je marketing-verzendingen, zodat een ontvanger altijd iets heeft om op te klikken. Je kunt ook een eigen link toevoegen die naar een voorkeurscentrum wijst dat je zelf host; de onze blijft ernaast staan als compliant ondergrens.
Standaard verschijnt de link als een kleine footer aan het einde van de body. Om de plek zelf te kiezen, plaats je de gereserveerde {{ bird.unsubscribe_url }}-variabele waar de link hoort:
Codevoorbeeld
<p>
You received this because you subscribed to our newsletter. You can {{ bird.unsubscribe_url }} at
any time.
</p>We renderen de link dan daar in plaats van de footer toe te voegen, als een anchor met de tekst "unsubscribe". Je kunt het ook als href-waarde gebruiken (<a href="{{ bird.unsubscribe_url }}">Leave this list</a>) om je eigen tekst en opmaak te behouden.
De substitutie vindt alleen plaats op de uitgaande kopie, dus als je het bericht terugleest via de API zie je je oorspronkelijke content met de variabele intact.
Pas de bestemmingspagina aan in Email > Unsubscribe page. Stel de afzendernaam, achtergrond, tekst- en knopkleuren in. De afzendernaam is standaard je organisatienaam. Gebruik de voorbeeldlink om het resultaat te bekijken.
Een ontvanger die de link in de berichttekst gebruikt, produceert een email.unsubscribed-event, te onderscheiden van email.list_unsubscribed zodat je de twee paden uit elkaar kunt houden.
Wat een afmelding doet
We stoppen met mailen naar de ontvanger zonder dat je iets met de webhook hoeft te doen. Beide events registreren het adres van de ontvanger als uitgeschreven voor niet-transactionele mail, wat betekent:
- marketing-verzendingen naar het adres worden geweigerd met email.rejected en rejection_reason: "recipient_suppressed". Die reden rapporteert elke blokkering op ontvangerniveau, zowel een suppressie als een opgegeven voorkeur, dus dat is hoe dan ook de juiste om op te matchen.
- transactional-verzendingen gaan gewoon door, omdat een uitschrijving betekent dat de ontvanger geen campagnes meer wil. Het adres zelf werkt nog steeds.
Een uitschrijving is een opgegeven voorkeur, geen suppressie: ze verschijnt op het tabblad Preferences van Email > Suppressions en op de detailpagina van het contact, niet in de suppressielijst. Alleen dat adres wordt beïnvloed, en het record toont wie zich heeft afgemeld en wanneer.
Met de webhook-events kun je de afmelding spiegelen naar je eigen database, een abonnementsvlag omzetten of loggen. Beide bevatten de identificatievelden van elk e-mailevent: email_id, recipient_id, workspace_id, het recipient-adres en de bijbehorende recipient_role. Ze bevatten ook tags en metadata van de oorspronkelijke verzending, zodat je kunt afstemmen met je eigen records zonder een extra opvraging, en broadcast_id met de naam van de broadcast waar de mail deel van uitmaakte, of null als de verzending geen broadcast had. Een uitschrijflink uit mail die verzonden is voordat we het veld toevoegden, noemt geen broadcast, dus een afmelding via zo'n link rapporteert null op beide events, ongeacht of een broadcast de mail heeft verstuurd. Abonneer je op dezelfde manier als op elk ander e-mailevent; de events reference bevat de volledige payloads.
Een uitschrijving is de eigen verklaring van de ontvanger, dus je kunt die niet verwijderen via de suppressions-API zoals je bij een suppressie zou doen. Om het adres weer te mailen registreer je een opt-in op Contacts > Preferences, of roep je POST /v1/preferences aan met status: granted. Die werkruimtebrede pagina registreert verklaringen voor elk kanaal, terwijl het tabblad op Email > Suppressions de e-mailverklaringen toont. In beide gevallen vereist het overschrijven van de afmelding consented_at, het moment waarop de ontvanger toestemming heeft gegeven, en de opt-in gaat pas in als dat moment na de afmelding valt die hij terugdraait.
Volgende stappen
- Categorieën: waarom marketing bepaalt of een uitschrijving effect heeft
- Suppressies: de deliverability-feitenlijst, en hoe die verschilt van een opgegeven voorkeur
- E-mailevents: de volledige email.unsubscribed- en email.list_unsubscribed-payloads
- Gmail- en Yahoo-vereisten: waar one-click-uitschrijving verplicht is voor bulkverzenders
- Webhooks: een endpoint abonneren, handtekeningverificatie en opnieuw proberen
Gerelateerde bronnen
Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.
Bekijk de gidsGetting started with emailOntdek de mogelijkheidEmailVolg het leerpadBuild your first integrationImplementatiegidsSend your first email
Probeer de oefening en ontvang een implementatieoverzicht