Tech Blog :: Need some mass email strategy tips
Need some mass email strategy tips
I'd like to pick your brains if you'll allow me, any ideas/tips/experiences about this would be most welcome:
One of the sites I'm working on needs some mass emailing functionality. The site will involve primarily user-generated content, with nodes representing events, all location-based. We'd like users to be able to subscribe to email notifications (probably daily or weekly digest) of every event created within a specified range from their zip code.
There are a bunch of different ways this could be done, but the main question I don't know much about is whether it's better to use standard Drupal modules like Notifications or Messaging, or better to integrate with a 3rd party mail service like MailChimp or Constant Contact. I imagine with the latter it's easier to send in bulk, less likely for mail to get filtered as spam, easier to track metrics and clickthroughs, etc... but maybe a lot more difficult to set up (or maybe not).
Has anyone done anything like this, where the mail that gets sent out is customized for each user? Any suggestions of how that might be done, or which services are best/worst?
In terms of the email-generation algorithm itself, I'm thinking there are a few ways...
- Use cron to run through every user with notifications enabled, and run a bunch of big queries (probably passing through a view with a location proximity filter) that generate each individual users' mail on the fly and send or queue it. Likely to be extremely processing-intensive and not sure if this can scale.
- Limit the options for mail to preset geographic areas, and when a node is created, populate the queue for that area's upcoming letter with a reference, so it's all ready to go.
- Variation on 2, whenever a node is created, see if any users are interested in being notified about it, and queue it for the user's mail, to be ready to go. (Not sure if the queries can be easily run in this direction.)
I'm mostly curious about the first question -- 3rd party vs pure drupal, and which services -- but if anyone has experience or suggestions about the algorithmic considerations, that would be awesome too.
Thanks!

@thebuckst0p
Google: TheBuckSt0p
Facebook: BenBuckman
LinkedIn
Skype: thebuckst0p
AIM: thebuckst0p
Amazon Wish List
Delicious: thebuckst0p
Drupal.org: thebuckst0p
Very interesting concept for the site and e-news integration. First, general 3rd party vs pure Drupal: I've been using MailChimp for a few years and highly recommend them. It is very easy-to-use and there is a Drupal Module. For simple newsletters, I actually find it easier to embed MailChimp's form into a block instead of using the MailChimp Module itself, but you might find it useful: http://drupal.org/project/mailchimp
As for your specific geo-location needs, MailChimp Version 5 includes a geo-targeting feature that seems to do what you are looking for. That is, it can divide your list into segments based on where they are located. You can send a different email to each segment in your list who are within a certain distance of a zip code. I've never used this specific feature, but it seems to fit the bill. Check it out:
http://www.mailchimp.com/blog/geolocation-in-mailchimp/
Good luck!
We recently went down this track when developing for a social networking site in German. We also recommended Mailchimp...but in the end, because the site owner/admin wanted Drupal control and integration, I modified the Mass Contact module. And it works a treat. The only thing is it would need modification again in order to send personalised mail. I hacked it to send to custom roles, and to send a custom content type called - a newsletter, as well as offer to send an addendum subject/email pair.
My hacked module here: http://chalcedony.co.nz/gemsofwisdom/new-drupal-modules
Have a look at http://drupal.org/project/views_send
You definitely want to push mass emailing outside of Drupal for the actual delivery part. For your particular needs, I'd say that some customization / API use is definitely going to be needed.
I love MailChimp, but it's very focused on sending newsletter type content by default. Using the API, you can likely still build what you need.
SendGrid is much more API focused. There was a recent write up of integrating Civimail with it that may give you some ideas - http://civicrm.org/blogs/ctashian/integrating-sendgrid-civimail
Please do let us know what you come up with -- I'm working on a write up for Drupal Radar that will cover some of these options.
I agree with the previous posters. From experience, I'd never do mass mail-outs myself again. Tracking down missing emails when the client rings claiming someone hasn't received one, working out why your mail won't deliver to say, yahoo.co.uk addresses, ever, and keeping up with the latest tips about avoiding spam filters is a full time job I prefer to leave to specialists.
I've done a couple successful integrations using the Lyris API. Their web site is crap but their API is pretty good. See http://lyrishq.lyris.com/index.php/Email-Marketing/Email-Marketing/. I have some sample code I can share.
If you are going to personalize the events for each user then I think you should start off with sending the mail yourself.
I wrote http://drupal.org/project/notifications_location for this purpose; unfortunately I haven't been able to keep up with the latest notifications API so the module needs some love. If you're able to contribute patches toward this project, that would be fantastic!
On the other hand, I have found that 3rd-party mailers offer 2 big advantages:
I have many clients who have email lists over 5K and they can't imagine paying over $70 a month on bulk emailing for newsletters to these 3rd party services. I recently tried Interspire's Email Marketer and it seems to fit the bill, somewhat. I wish there was some enterprise class solution within Drupal, however, because I would *love* to have full integration with content, newsletter archives (searchable within Drupal), etc. It's a shame that there isn't a world class bulk emailer module yet. I think Drupal deserves one. In my experience this is one of its biggest shortcomings. Simplenews has stung me in the past sending repeated emails to a large list (some people got slammed over 20 times), without being able to shut it down, and I'll never use it again.
Post new comment