MailChimp API 2.0 integration for a Spree 2.1 store, using the gibbon gem.
Adds a checkbox to the user signup form to allow customer to opt-in to your Mailchimp mailing list. Mailchimp API calls happen via the gibbon gem.
Mailchimp subscription status is tracked with a boolean flag on the users table, we also fetch and store the unique MC record id when the subscription is created. This allows us to modify existing email addresses with minimal fuss.
This is a very simple extension as of now, any ideas suggestions or improvements welcome!
Also includes a partial at shared/newsletter_subscribe_form
that can be included in your footer or sidebar anywhere on the site, has one field for the email address. jQuery code in public/javascripts/mailchimp_subscribe.js
will POST to the SubscriptionsController which will relay to Mailchimp.
Flash messages will show a confirmation or error alert.
Add to project’s Gemfile:
gem 'spree_mailchimp_gibbon', github: 'bluehandtalking/spree_mailchimp_gibbon', branch: '2-1-stable'
Run from project’s root:
$ bundle install
$ rails g spree_mailchimp_gibbon:install
Add this in your app’s config/environments/production.rb file:
config.assets.precompile += %w( admin/jquery.validate/jquery.validate.min.js )
Or add the following line at the bottom of your javascripts/admin/all.js file:
//= require jquery.validate/jquery.validate.min
See the Mail Chimp Settings forms in the Admin under Configuration.
Note, using Mail Chimp “Merge Vars”, you can have any callable methods on User sent
to the MC list, mapped to indentically named (but uppercased) fields in the MC list admin console.
Unfortunately these are only sent at the time the subscription is created, so there isn’t much available.
Spree 2.1.x
gem ‘gibbon’, ‘~> 1.0.x’
Authored by Jerrold Thompson @bluehandtalking
Based heavily on spree_mail_chimp by Sam Beam @sbeam