BB123
BB123

Reputation: 225

Rails 4 and MailChimp: Cannot get First Name and Last Name to merge on sign up

I am trying to create a subscription for MailChimp when users sign up on my website. I have successfully added them to my "Newsletter" list by email but their first name and last name do not show up. I have referred to the following:

Aspiring Web Dev: Guide

Bitbucket

MailChimp API Docs

RubyDoc - mailchimp-api gem

In the User model, I've tried:

user.rb

after_create :add_newsletter_subscriber

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "FNAME" => self.first_name,
                      "LNAME" => self.last_name
                    },
      :double_optin => false
 })
end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      :FNAME => self.first_name,
                      :LNAME => self.last_name
                    },
      :double_optin => false
 })
end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "FIRSTNAME" => self.first_name,
                      "LASTNAME" => self.last_name
                    },
      :double_optin => false
  })
 end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "FNAME" => :first_name,
                      "LNAME" => :last_name
                    },
      :double_optin => false
  })
 end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "*|FNAME|*" => self.first_name,
                      "*|LNAME|* => self.last_name
                    },
      :double_optin => false
 })
end

All of these send the email to MailChimp but not the first and last name. Please help. Thank you.

Upvotes: 0

Views: 261

Answers (1)

mikdiet
mikdiet

Reputation: 10018

Use gibbon gem to work with the latest (v3) API version.

mailchimp-api-ruby gem works only with deprecated v2 version.

Upvotes: 0

Related Questions