MailChimp Integration

One of the new feature within version 4 is the ability to send your form data to another website. In this article, we’ll show you how to integrate your form with MailChimp.

Basically, using this new webhook feature, you’ll be able to call any MailChimp API to do the tasks you need.

Some common integrations are:
[listarrow]

  • Add a new subscriber to a list of your choosing
  • Unsubscribe an email address from a list of your choosing
  • Edit the email address, merge fields, and interest groups for a list member
  • Create a new draft campaign to send
  • Delete a campaign

[/listarrow]

Find your MailChimp API Key

The first thing you need to do before proceeding with the integration is to generate/find your MailChimp API Key.

Login to your MailChimp panel, click Profile ⇢ Account Settings ⇢ Extras ⇢ API Keys and then copy your existing API Key or click the Create a Key button.

More detailed instruction (video) also available on MailChimp help page.

Your MailChimp API Key should be something like this:
1644b44d50bcc02f6f789aaf324f82ec-us4

Find your MailChimp URL (API Endpoint)

The next thing you need is your MailChimp URL (API Endpoint). MachForm will be using this URL to submit your form data to your MailChimp account.

The generic format for your MailChimp URL is like this:

https://XXX.api.mailchimp.com/2.0/

where XXX should be replaced with the portion after the dash in your API Key. e.g. “us1”, “us2”, “uk1”, etc. A solid example – say your API Key is 1644b44d50bcc02f6f789aaf324f82ec-us4.

Then your MailChimp URL would be:

https://us4.api.mailchimp.com/2.0/

We’ll be using the above URL as the base part of any other URLs, since each task will have its own specific URL.

Add a new subscriber to a list of your choosing

Let say you have a simple form with only one email field:

and you would like to add the email address entered by your users into your MailChimp list named Subscriber List.

Simply go to your MachForm panel and click Notifications menu.

Click Send Form Data to Another Website option and then enter this URL into the Website URL:

https://us4.api.mailchimp.com/2.0/lists/subscribe

Note that the URL above is basically using your MailChimp URL, with the addition of lists/subscribe at the end of it. Make sure to use your own MailChimp URL.

Check the Use Custom HTTP Headers and paste this code:

{
"Content-Type": "application/json",
"User-Agent": "MachForm Webhook v4.0"
}

like this:

Then select Send Raw Data and paste this code:

{
"apikey": "1644b44d50bcc02f6f789aaf324f82ec-us4",
"id": "7bab35f1af",
"email": {
"email": "{element_2}"
},
"double_optin": false,
"update_existing": true,
"replace_interests": true,
"send_welcome": true
}

like this:

Note that the code above need to be adjusted with your own API Key, List ID and the template variable of your email field.

To get the template variable of your email field, simply click the template variable link at the bottom of the page:

To get your List ID, go to your MailChimp account, click Lists and select the list name you would like the form to send the data into. Click Settings ⇢ List Name and Defaults and you’ll find your List ID:

and that’s it. Save the settings and test by submitting your form. The email address will be automatically added to the list you choose on your MailChimp account.

Unsubscribe an email address from a list of your choosing

Creating unsubscribe form is pretty much the same as the subscribe form above (#1). The only thing different are the Website URL and the Raw Data.

You should use this URL to unsubscribe:
https://us4.api.mailchimp.com/2.0/lists/unsubscribe

Note that the URL above is basically using your MailChimp URL, with the addition of lists/subscribe at the end of it. Make sure to use your own MailChimp URL.

Check the Use Custom HTTP Headers and paste this code:

{
"Content-Type": "application/json",
"User-Agent": "MachForm Webhook v4.0"
}

like this:

Then select Send Raw Data and paste this code:

{
"apikey": "1644b44d50bcc02f6f789aaf324f82ec-us4",
"id": "7bab35f1af",
"email": {
"email": "{element_1}"
},
"delete_member": false,
"send_goodbye": false,
"send_notify": true
}

like this:

Note that the code above need to be adjusted with your own API Key, List ID and the template variable of your email field.

Other possible integrations

There are lots other thing you can do with your form and MailChimp. You might want to take a look into MailChimp API Documentation page.

Find the method you would like to implement and paste the code into the Raw Data section as above. Enjoy!

The new MachForm 4 is now available!

Howdy! We’re very excited to announce the immediate availability of the new MachForm 4!

This release is a huge improvement over previous version which made MachForm even more powerful and fun.

Here’s what’s new in MachForm 4

[gs_4a]

Report Builder

Easily create graphical charts!
Pie, Donut, Bars, Line, Area and Grid.

[/gs_4a]

[gs_4z]

Authorize.net Integration

Accept credit card payment on your forms.
Charge one-time or recurring payments.

[/gs_4z]
[gs_4a]

Webhook Integration

Send form data to another website.
Works with CampaignMonitor, MailChimp, etc.

[/gs_4a][gs_4z]

Discount Code

Allows your clients to enter coupon code
and receive discount (fixed/percentage).

[/gs_4z]

[hr]

[listarrow]

[/listarrow]

Bugfixes and Improvements

[listarrow]

  • Updated Admin Panel to support retina display
  • Added more currencies to Stripe integration
  • Paragraph on view entry page will be displayed using single column
  • Display subscription ID as payment ID on Stripe’s recurring payment
  • Bugfix: Using quotes for keyword on logics is causing error
  • Bugfix: Stripe payment page didn’t work on IE8 or older
  • Bugfix: Duplicating a form doesn’t copy the whole email logic conditions
  • Bugfix: Deleting a form doesn’t remove the email logic conditions records
  • Bugfix: Leading zero issue when using Time field for conditional logic
  • Bugfix: PHP sessions doesn’t work under Safari browsers when the form is being embedded from different domain
  • Bugfix: Form logo aren’t being resized properly on mobile view
  • Bugfix: Gross amount missmatch bug on some occasions within PayPal IPN script
  • Bugfix: A field with ‘admin only’ and ‘required’ enabled is causing validation error when the admin logged in and submit the form
  • Bugfix: On european date field, setting empty min-Date is causing trouble (missing date value) when editing the entry
  • Bugfix: Sales tax on Stripe is causing some error
  • Bugfix: Multiple uploaded files on some PHP version (PHP 5.3) doesn’t have proper ‘br’ tags within the email
  • Bugfix: Form limit submission rule make it impossible to edit entry on admin panel
  • Bugfix: HTML tags are double encoded on email logic settings page
  • Bugfix: Template variable for Signature field is being overridden by {entry_data}
  • Bugfix: Issue with conditional logic to show/hide fields when the rule consist of fields from multiple pages
  • Bugfix: Editing entries that has date field with rules (disabled past dates) is causing error
  • Bugfix: Hidden fields due to conditional logic shouldn’t be included within price calculation
  • Bugfix: When payment fields being used as part of entries filter and the payment fields aren’t set as preference, the entries are broken/can’t be displayed
  • Bugfix: The resume option is having some session issue when the user is using the browser back button after saving the form
  • Bugfix: Updated switfmailer library to support STARTTLS
  • Bugfix: Skip page logic doesn’t work properly
  • Bugfix: On recurring payments with trial price under Stripe, the recurring price is the one being displayed within the email instead of the trial price
  • Bugfix: : Trial Period on Stripe is incorrectly using the interval of the main subscription
  • Bugfix: UTF-8 encoding issue with the email subject on the resume email
  • Bugfix: Non-required matrix field that was hidden due to logic and then being displayed and left empty, it will be incorrectly marked as ‘required’
  • Bugfix: Email validation doesn’t accept quote character
  • Bugfix: Payment field selected as sort preference on entries manager causing query error
  • Bugfix: Trailing zero on review page’s payment total is not being displayed
  • Bugfix: Added ob_clean() on download.php and export script to discard any new lines from config.php file
  • Bugfix: Uploading multiple files using the same file names all at once within a session won’t work
  • Bugfix: Hidden section break due to logic shouldn’t be displayed within the review and email
  • Bugfix: Domain/email validation couldn’t handle long TLD
  • Bugfix: Declined cards error messages wasn’t being handled properly on Stripe’s payment page

[/listarrow]

How to Upgrade

This is a major version release and you will be able to upgrade your existing license at the following prices:

Standard
Professional
Unlimited
$39
$69
$165


Click here to upgrade
.

For those who purchased any license within 2014, this upgrade is free of charge and you can download the upgrade from our Member Area. Simply login there to get the update and your license key.

Thanks for your support!

A huge “THANK YOU” to all of you, our awesome MachForm users and beta testers for helping us define and test this release, we couldn’t have done it without you!