you've got mail! - transactional e-mail @ drupaljam 2014 - vincent van scherpenseel

48
you’ve got mail! drupaljam 2014 vincent van scherpenseel

Upload: dotblue

Post on 01-Nov-2014

395 views

Category:

Technology


1 download

DESCRIPTION

Ondanks de sociale revolutie is e-mail verre van dood. Dankzij services als Mandrill, SendGrid en MailGun stuur je eenvoudig transactional e-mail vanuit je Drupal project, zonder dat je zelf een e-mail server hoeft te onderhouden. Maar hoe zit een succesvolle transactional e-mail strategie in elkaar, waar moet je op letten en hoe zet je dit medium het effectiefst in? In 45 minuten leer je alles over de mogelijkheden van transactional e-mail aan de hand van praktijkvoorbeelden en technische best-practices.

TRANSCRIPT

Page 1: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

you’ve got mail!drupaljam 2014 vincent van scherpenseel

Page 2: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

introductie

Vincent van ScherpenseelExperience Designer

Transactional e-mail Individuele e-mail uit je app.

Page 3: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

voorbeelden

Page 4: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

waarom niet zelf versturen?

1. Deliverability

2. Maintenance

3. Actionable insights

+4. Kosten

Page 5: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

services

Page 6: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

services

1. Goede deliverability

2. Developers-friendly

3. Geen kosten tot 12.000 e-mails

Page 7: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

programma

1. Templating Waarom een goede template, en hoe?

2. VersturenHoe verstuur je de e-mail?

3. Meten en optimaliseren Hoe optimaliseer je je campagnes?

Page 8: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

templating

Page 9: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

versus

Page 10: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

round 1: e-mail templates

Page 11: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

round 2: website templates

Page 12: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

waarom een mooie template?

1. Transactional e-mail is vaak het laatste contact.

2. In geval van bevestigingen worden e-mails meerdere malen bekeken.

3. Waarom veel geld en tijd stoppen in een professionele website, maar niet in een e-mail uitstraling?

4. Branding opportunity.

Page 13: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

templating best-practices

• 90’s revival!

• Gebruik maximaal 600px breedte.

• Gebruik standaard fonts (Arial, Georgia, Verdana, ...).

• Afbeeldingen worden standaard niet geladen.

• Beweging alleen mogelijk middels GIF animaties.

• Check wat mogelijk is per e-mail client.CSS ondersteuning: http://dotb.lu/emailcss.

Page 14: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

responsive web design

Foto: Brad Frost

Page 15: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

responsive web design

Ondersteuning van media queries is zeer redelijk! Google Mail client is de grootste uitzondering.

Handig overzicht: www.campaignmonitor.com/guides/mobile/

Page 16: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

template testing

Page 17: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

template testing

Vanaf $79 per maand.www.litmus.com

Spam filter testing vanaf $149 per maand.

Vanaf $45 per maand.www.emailonacid.com

Spamfilter testing standaard inbregrepen.

Mozify vanaf $70 per maand.

Page 18: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

schema.org mark-up

• Follow-up acties direct uitvoeren in de inbox.

• Op basis van open standaard (schema.org).

• Eenvoudig te implementeren, op basis van JSON-LD ( json-ld.org).

Page 19: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

schema.org mark-up    <script type="application/ld+json">"    {"      "@context":              "http://schema.org","      "@type":                 "EventReservation","      "reservationNumber":     "IO12345","      "underName": {"        "@type":               "Person","        "name":                "John Smith""      },"      "reservationFor": {"        "@type":               "Event","        "name":                "Google I/O 2013","        "startDate":           "2013-05-15T08:30:00-08:00","        "location": {"          "@type":             "Place","          "name":              "Moscone Center","          "address": {"            "@type":           "PostalAddress","            "streetAddress":   "800 Howard St.","            "addressLocality": "San Francisco","            "addressRegion":   "CA","            "postalCode":      "94103","            "addressCountry":  "US""          }"        }"      }"    }"

Page 20: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

schema.org mark-up

Review ActionsInitieer het achterlaten van reviews direct in Google Mail (of andere mail clients).

http://dotb.lu/review

RSVP ActionsDirect afspraken bevestigen vanuit de inbox view. Let op: API preview, nog niet ondesteund.

http://dotb.lu/rsvp

Page 21: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

schema.org mark-upVluchtinformatie (http://dotb.lu/flight)

• Toon het reisschema direct bovenin de e-mail view.

• Mogelijkheid voor ontvanger om direct in te checken.

• Houd de ontvanger op dezelfde plek op de hoogte van wijzigingen (of zelfs annuleringen).

Page 22: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

truukje :)

Page 23: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

truukje :)?

Page 24: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

versturen

Page 25: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

e-mail versturen

Page 26: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

versturen via smtp

Host

Port

SMTP Username

SMTP Password

smtp.mandrillapp.com

587

drupaljam

DRUPALJAM-API-KEY

Eenvoudig te gebruiken en handig voor:

• Het versturen van systeem e-mails.

• Wanneer API integratie om wat voor reden dan ook niet mogelijk is.

• E-mail versturen via Mandrill vanuit je e-mail client.

Page 27: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

versturen via api call{

"key": "DRUPALJAM-API-KEY", "template_name": "drupaljam", "template_content": [ { "name": "name", "content": "Bert Boerland" } ], "message": { "subject": "Bedankt voor je registratie!", "from_email": "[email protected]", "from_name": "DrupalJam", "to": [ { "email": "[email protected]", "name": "Bert Boerland", "type": "to" } ], "track_opens": true, "track_clicks": true, [..]

Page 28: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

[..]! "attachments": [ { "type": "application/pdf", "name": "contract_007.pdf", "content": base64_encode($pdfContents) } ],! [..]

attachment bijvoegen

Page 29: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

queue e-mail sending

Het uitvoeren van een synchrone API-call vertraagt de gebruikerservaring. Maak gebruik van de async-flagMaar houd ook rekening met mislukte API calls. Gebruik daarom een queue.

• Poor man’s solution: crontab + SQL database.

• Cool man’s solution: Gearman (gearman.org).

Page 30: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

queue e-mail sending

Page 31: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

api wrappers

Generic PHP wrappergithub.com/dotblue/Mandrill

Drupal moduledrupal.org/project/mandrill

Page 32: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

reputatie

Verzend quota}

Reputatie score}Deliverability ratio}

Page 33: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

sender policy framework

Middels SPF geef je aan welke hosts e-mail mogen versturen voor een specifiek domein.

local:~ vincent$ host -t txt saleschamp.nl!saleschamp.nl descriptive text "v=spf1 a include:_spf.google.com include:spf.mandrillapp.com ~all"!!local:~ vincent$ host -t txt spf.mandrillapp.com!spf.mandrillapp.com descriptive text "v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ?all"

http://en.wikipedia.org/wiki/Sender_Policy_Framework

Page 34: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

domainkeys identified mail

Middels DKIM bewijs je dat een bericht bij een domeinnaam hoort.

Dankzij encryptie kan je bewijzen dat een bericht in-transit niet aangepast is.

local:~ vincent$ host -t txt mandrill._domainkey.saleschamp.nl!mandrill._domainkey.saleschamp.nl descriptive text "k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrLHiExVd55zd/IQ/J/mRwSRMAocV/hMB3jXwaHH36d9NaVynQFYV8NaWi69c1veUtRzGt7yAioXqLj7Z4TeEUoOLgrKsn8YnckGs9i3B3tVFB+Ch/4mPhXWiNfNdynHWBcPcbJ8kjEQ2U8y78dHZj1YeRXXVvWob2OaKynO8/lQIDAQAB\;"

http://en.wikipedia.org/wiki/DomainKeys_Identified_Mail

Page 35: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

sub-accounts

Sub-accounts hebben een eigen reputatie. Handig voor:

• Testomgevingen

• Systeem e-mails

• Multi-tenant situaties

[..]! "subaccount": "development-env",! [..]

Page 36: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

meten en optimaliseren

Page 37: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

kpi’s

1. Deliverability (bounces & rejects)

2.Opens

3. Clicks

4. Conversies

Page 38: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

een aantal voorbeelden

1. Registratie bevestiging?

2.Password reset?

3. Order bevestiging?

4. Back-in-stock notificatie?

5.Favourited-product campagne?

6.Campaign mail

Page 39: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

schets je e-mail flow

Page 40: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

a/b testingE-mail is net zo belangrijk als je website om te A/B testen.

[..]! "tags": [ "password-reset" ],! [..]

Page 41: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

a/b testing

Page 42: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

google analytics integratie

[..]! "google_analytics_domains": [ "drupaljam.nl" ], "google_analytics_campaign": "registration_confirmation",! [..]

Belangrijk: configureer je doelen!

Page 43: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

veel conversies = goed bezig?

Page 44: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

gebruik alle data die je hebt

Page 45: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

gebruik alle data die je hebt

Page 46: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

webhooks

Middels webhooks stelt Mandrill je op de hoogte van events als bounces, opens, clicks, unsubscribes en meer.

Hard-bounces hoeven niet tot een dood spoor te leiden.

Page 47: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

key take-aways

1. Betere deliverability, amper onderhoud, veel meer inzichten en lagere kosten.

2. Een professionele en fraaie template is van essentieel belang.

3. Zorg dat je templates goed getest zijn in relevante e-mail clients.

4. Denk aan je reputatie. Maak gebruik van SPF en DKIM.

5. Houd je KPI’s in de gaten. Blijf optimaliseren.

Page 48: You've got mail!  - Transactional E-mail @ DrupalJam 2014 - Vincent van Scherpenseel

vragen?@vanscherpenseel http://vincent.io/