Jump to content

Mailchimp for FormBuilder - A FormBuilder processor that adds Mailchimp support to your forms


FireWire
 Share

Recommended Posts

Hello!

Mailchimp is a popular email marketing platform and one that is used more often than any alternative by my clients. After having to work with embedding HTML and creating generic Textarea fields to output to pages, I wanted to create a better experience and robust form management.

Mailchimp for Formbuilder is a module that adds a new form processing Action to form configuration in FormBuilder. It's intended to be easy to use for both ProcessWire developers and end users while being very configurable. This module lets you do more in ProcessWire faster with great feature parity. Here are some module features:

  • Create new FormBuilder forms that collect Mailchimp subscription signups
  • Add Mailchimp subscription signup abilities to any existing FormBuilder form
  • Each FormBuilder form is configured independently so you can create forms for specific Mailchimp needs
  • Compatible with any type of field that can be configured in Mailchimp
  • Manage Mailchimp settings right where you configure other FormBuilder form settings
  • Stop pasting Mailchimp form embed codes and make subscribing to Mailchimp lists easy using your forms styled the way you want
  • No need to create redirect pages for successful signups, let FormBuilder handle the form submission experiences
  • Choose what actions to take, add new subscribers, update existing subscriber contact information, or unsubscribe existing contacts
  • Logs error messages when encountered while communicating with Mailchimp, or form submission issues occur that prevent sending a subscription to Mailchimp
  • Provides in-depth logging for each event during the subscription process while ProcessWire is in debug mode to help developers troubleshoot and/or understand what is happening behind the scenes.

Mailchimp for FormBuilder aims to take advantage of the core features Mailchimp offers:

  • Audiences (lists) - Collect subscriptions for any Audience in Mailchimp
  • Audience Tags - Organize and segment your Mailchimp contacts with one or more tags
  • Form Fields - Collect subscriber information using text, number, radio buttons, check boxes, drop downs, dates, addresses, website, and phone fields
  • Interest Groups - Create Interest Group fields in Mailchimp to further organize your Contacts and create targeted campaigns

Screenshots:

1766832719_Screenshotfrom2024-07-2606-24-48.thumb.png.589548a19e807c78c9d7e0230fe5d079.png

Install the module and Mailchimp for FormBuilder, add your Mailchimp API key. Edit your form, choose your audience, save, and return to configure.

 

674878400_Screenshotfrom2024-07-2606-25-43.thumb.png.cfc284a45bac2e7132136c040739762a.png

In addition to configuration options, Mailchimp for FormBuilder includes robust high-level instructions under "How to configure..." that help less-technical end users manage their forms. Choose your audience, subscription action, and status. Choose whether to only accept new subscribers, add and update existing contacts, or unsubscribe. Pre-define whether a subscriber will receive HTML or plain text email, or choose a field to let people filling out your forms decide. Optionally mark subscribers as VIP, choose whether to provide Mailchimp the IP address at the time of signup.

 

1604322671_Screenshotfrom2024-07-2608-01-04.thumb.png.86a0bb6a92d3755e5261b9ced4313447.png

Choose from existing Audience Tags, or create new tags right in ProcessWire. Audience Tags created while editing one form makes available as an option to all forms.

 

1007445833_Screenshotfrom2024-07-2608-49-52.thumb.png.439d6f92ac565b0d4895961f73eddc9b.png

Choose which Mailchimp fields should receive form data, as many or as few as desired. If a field is set as required in Mailchimp, it will be required here too. Mailchimp only requires an email address for all subscribers by default.

 

1255424339_Screenshotfrom2024-07-2608-55-00.thumb.png.7c7ba42a68ba66b05a3fa023d7275c42.png

The Mailchimp fields you select appear below to choose the form field that should be associated with it. Notes appear below each field where helpful information is provided by Mailchimp to help you configure your form fields. If a field has multiple options in Mailchimp, such as dropdown/radio/checkbox fields, the values Mailchimp expects are noted so that you can ensure your fields submit the correct information. Date fields show the format that Mailchimp uses for that field, but Mailchimp for FormBuilder will automatically format your date fields to match what Mailchimp requires so no extra work required.

Fields that are configured in Mailchimp as an Interest List show the value(s) your form field can submit.

 

2073477920_Screenshotfrom2024-07-2609-01-28.thumb.png.125c64cde08c51afed6c392b2bfe6ecb.png

Collect information for complex fields such as addresses. Just choose the form field for each Mailchimp field. Required fields helps you make sure that your addresses will be accepted by Mailchimp.

 

400391551_Screenshotfrom2024-07-2609-03-19.thumb.png.38993041ad44ded0431d3dfa3edd579c.png

There is also an ability to choose a checkbox in your form that determines if a submission should be sent to Mailchimp. If a checkbox field is configured then a value is required to send your form data to Mailchimp, if it's left unchecked then the Mailchimp process is skipped entirely. This is a local field that is independently managed separately from Mailchimp.

 

Known limitations:

  • File upload fields can't be processed. While Mailchimp provides a file URL field that can be used in forms, the files uploaded via FormBuilder are not yet ready when this module parses submission data.
  • Mailchimp has added GDPR settings but working with them via the API is a little more complex than expected. I'm not sure whether the GDPR features in Mailchimp are actually required for the EU, but I would like to eventually implement this to be feature-complete and more helpful for our European comrades.

Considerations to keep in mind:

This module makes every attempt to maintain parity between Mailchimp and ProcessWire configurations but there are reasonable limitations to be expected. Because data is being sent to a Mailchimp account from an external source (ProcessWire), it is not possible to automatically know if changes have been made in Mailchimp.

Audience Tags are a good example. Tags may be created, edited, and deleted in Mailchimp but it will still accept any tags submitted due to how the API works. So if you have a form that tags subscriptions "Special Offers" but that tag is deleted or modified in Mailchimp, "Special Offers" will be re-created the next time a form is submitted. If a Mailchimp field is changed to required but the form hasn't been updated then subscriptions may be rejected.

Mailchimp for FormBuilder fails silently and takes the route of logging errors rather than preventing FormBuilder from continuing to process the submission. This is to prevent data loss and interruptions for the end user as well as allow other form actions to still take place. It is recommended that forms always store submissions in the database as long as this FormBuilder processor is in use.

This is an alpha release!

I've built it for a project in-progress so it works as far as I've tested it. Please test thoroughly and share any bugs or issues here or by filing an issue on the Github repo. When it's had wider testing and thumbs up from users I'll submit it to the modules directory. Thanks!

Download Mailchimp for FormBuilder from the Github repository here.

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...