you've got mail! - transactional e-mail @ drupaljam 2014 - vincent van scherpenseel
Post on 01-Nov-2014
396 Views
Preview:
DESCRIPTION
TRANSCRIPT
you’ve got mail!drupaljam 2014 vincent van scherpenseel
introductie
Vincent van ScherpenseelExperience Designer
Transactional e-mail Individuele e-mail uit je app.
voorbeelden
waarom niet zelf versturen?
1. Deliverability
2. Maintenance
3. Actionable insights
+4. Kosten
services
services
1. Goede deliverability
2. Developers-friendly
3. Geen kosten tot 12.000 e-mails
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?
templating
versus
round 1: e-mail templates
round 2: website templates
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.
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.
responsive web design
Foto: Brad Frost
responsive web design
Ondersteuning van media queries is zeer redelijk! Google Mail client is de grootste uitzondering.
Handig overzicht: www.campaignmonitor.com/guides/mobile/
template testing
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.
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).
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"" }" }" }" }"
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
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).
truukje :)
truukje :)?
versturen
e-mail versturen
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.
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": "info@drupaljam.nl", "from_name": "DrupalJam", "to": [ { "email": "bert@example.com", "name": "Bert Boerland", "type": "to" } ], "track_opens": true, "track_clicks": true, [..]
[..]! "attachments": [ { "type": "application/pdf", "name": "contract_007.pdf", "content": base64_encode($pdfContents) } ],! [..]
attachment bijvoegen
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).
queue e-mail sending
api wrappers
Generic PHP wrappergithub.com/dotblue/Mandrill
Drupal moduledrupal.org/project/mandrill
reputatie
Verzend quota}
Reputatie score}Deliverability ratio}
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
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
sub-accounts
Sub-accounts hebben een eigen reputatie. Handig voor:
• Testomgevingen
• Systeem e-mails
• Multi-tenant situaties
[..]! "subaccount": "development-env",! [..]
meten en optimaliseren
kpi’s
1. Deliverability (bounces & rejects)
2.Opens
3. Clicks
4. Conversies
een aantal voorbeelden
1. Registratie bevestiging?
2.Password reset?
3. Order bevestiging?
4. Back-in-stock notificatie?
5.Favourited-product campagne?
6.Campaign mail
schets je e-mail flow
a/b testingE-mail is net zo belangrijk als je website om te A/B testen.
[..]! "tags": [ "password-reset" ],! [..]
a/b testing
google analytics integratie
[..]! "google_analytics_domains": [ "drupaljam.nl" ], "google_analytics_campaign": "registration_confirmation",! [..]
Belangrijk: configureer je doelen!
veel conversies = goed bezig?
gebruik alle data die je hebt
gebruik alle data die je hebt
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.
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.
vragen?@vanscherpenseel http://vincent.io/
top related