e-mail marketing framework (drupal module)

36
E-mail Marketing Framework Davy Van Den Bremt http://www.drupalcoder.com

Upload: davyvdb

Post on 25-Jan-2015

9.210 views

Category:

Technology


1 download

DESCRIPTION

Presentation slides on E-mail marketing framework. A Drupal module that provides a generic framework on top of services like MailChimp, Campaign Monitor, ...

TRANSCRIPT

Page 1: E-mail Marketing Framework (Drupal module)

E-mailMarketingFramework

Davy Van Den Bremthttp://www.drupalcoder.com

Page 2: E-mail Marketing Framework (Drupal module)

Who am I?

• Krimson

• EMF, Administration theme, Subsites, ...

• drupalcoder.com

• twitter.com/davyvandenbremt

Page 3: E-mail Marketing Framework (Drupal module)
Page 4: E-mail Marketing Framework (Drupal module)

Roadmap

•Why EMF exists

•What EMF does

•How to integrate new services

•Missing stuff

Page 5: E-mail Marketing Framework (Drupal module)

Why EMF exists

Page 6: E-mail Marketing Framework (Drupal module)

What EM is about (1)

• Subscriber management

•Campaign management

•Campaign reporting

Page 7: E-mail Marketing Framework (Drupal module)

What EM is about (2)

• Privacy

• Spam

Page 8: E-mail Marketing Framework (Drupal module)

State of EM in Drupal

• Simplenews

•Campaign Monitor

•MailChimp

• PHPList

•Mailman

Page 9: E-mail Marketing Framework (Drupal module)

EMF?

•All services do the same, but different

• Provide a middle layer

•Write functionality once, use for compatible services

Page 10: E-mail Marketing Framework (Drupal module)

Subscription management

• Lists

• Fields

• Subscribers

Page 11: E-mail Marketing Framework (Drupal module)

Abstraction

function ..._subscribe($email, $fields, $lid)

function ..._unsubscribe($email, $lid)

function ..._get_subscribers_subscribed($date = 0, $lid = NULL)

function ..._get_subscribers_unsubscribed($date = 0, $lid = NULL)

function ..._get_lists()

function ..._get_custom_fields($lid)

Page 12: E-mail Marketing Framework (Drupal module)

What EMF does

Page 13: E-mail Marketing Framework (Drupal module)

Framework

• Implement functionality once

•Write plugins (as modules) that teach EMF basic stuff

Page 14: E-mail Marketing Framework (Drupal module)

Supported services

•Campaign Monitor

•MailChimp

• Interspire (Thx Coworks!)

•Addemar (Thx Stijn De Meyere)

Page 15: E-mail Marketing Framework (Drupal module)

Performance/reliability

• Requests are queued

• Subscription status synced locally

Page 16: E-mail Marketing Framework (Drupal module)

Supports multiple lists

Page 17: E-mail Marketing Framework (Drupal module)

Field mapping (1)

•Map list fields to Drupal values

• Per list configuration

• Support for PHP, Profile, Token

Page 18: E-mail Marketing Framework (Drupal module)

Field mapping (2)

Page 19: E-mail Marketing Framework (Drupal module)

Multiple UI elements

• Block per list

•Common block

• Page per list

•Common page

Page 20: E-mail Marketing Framework (Drupal module)

Block per list

Page 21: E-mail Marketing Framework (Drupal module)

Common block

Page 22: E-mail Marketing Framework (Drupal module)

Page per list

Page 23: E-mail Marketing Framework (Drupal module)

Common page

Page 24: E-mail Marketing Framework (Drupal module)

Smart UI

• Field values of authenticated users are calculated and just checkbox is offered

• Lists a user is subscribed too are not offered anymore

Page 25: E-mail Marketing Framework (Drupal module)

Roles support

Page 26: E-mail Marketing Framework (Drupal module)

Easy to use

•Configure on mail service

• Sync config to Drupal

• Bidirectional sync of subscriptions

•Change UI header, title, ... per list

• Field mapping in UI

Page 27: E-mail Marketing Framework (Drupal module)

API for your modules

function emf_db_get_requests()

function emf_db_save_request($type, $mail, $lid, $fields = array())

function emf_db_delete_request($mail, $lid)

function emf_db_get_subscriptions($mail)

function emf_db_save_subscription($mail, $lid)

function emf_db_delete_subscription($mail, $lid)

function emf_db_get_list($lid = 0)

function emf_db_get_lists($active_only = FALSE)

Page 28: E-mail Marketing Framework (Drupal module)

How to integrate new services

Page 29: E-mail Marketing Framework (Drupal module)

Plugin module

Page 30: E-mail Marketing Framework (Drupal module)

hook_emf_info

Page 31: E-mail Marketing Framework (Drupal module)

Implement methods

Page 32: E-mail Marketing Framework (Drupal module)

Missing stuff

Page 33: E-mail Marketing Framework (Drupal module)

Subscriber management only

•No campaign management

•No reporting

• But that’s the stuff those services are so good at (including spam and privacy)

Page 34: E-mail Marketing Framework (Drupal module)

Advanced subscriber management

• Subscription on registration

•Webform support

•Contact form support

•Unsubscription support

•Manage subscriptions on profile

Page 35: E-mail Marketing Framework (Drupal module)

Multiple active services

Page 36: E-mail Marketing Framework (Drupal module)

Questions?drupal.org/project/emf

twitter.com/davyvandenbremt