Because some things on the internet are inexplicably hard to do

Gosh, what a frustrating afternoon.

This is a case of knowing the individual parts of a task pretty well, but not having put all the parts together in this particular way before.

Today I needed/wanted to create a simple email sign-up/opt-in form with:

  • The excellent Elegant Themes Bloom email sign-up plugin (though it could have been pretty much any email sign-up plugin)
  • A regular MailChimp List
  • MailChimp groups
  • MailChimp’s new GDPR fields
  • and when I got stuck, WPForms too.

I reckon I’ve combined two of these things together in several different combinations. And I’m pretty sure I’ve done one specific combination of three of them. But never more than that.

And I needed at least four of them. And the GDPR fields in MailChimp are new and, well, let’s say they seem to have been shoe-horned in in a bit of a hurry.

Now…let’s go down the rabbit hole…

Bloom integrates with regular MailChimp, but won’t let you use groups.  To do that you need to use a “custom HTML form” in the Bloom opt-in which you copy and paste from MailChimp’s embedded forms section.

The problem with that is that in a pop-up (we have a good case for using a pop-up, it’s OK!) is that the GDPR text and fields make the form really long and it won’t fit nicely on a smaller screen.

So I tried reducing the form to just an email input and a button, and then sending that input to a WPForms form using a URL parameter to autocomplete the email field on the “full” form. Great! That works really nicely.

Only…WPForms doesn’t send the GDPR opt-in fields. Rats! I assume Gravity Forms won’t do this either.

So maybe, rather than linking the Bloom opt-in to an on-site form, I’ll link it to an off-site form. That will work!

Only, I want the subscriber to sign up to a specific group, and it turns out that you sort-of can’t have a pre-selected group on MailChimps own, hosted forms.

So what am I left with? Taking a MailChimp embedded form, sticking it in a WordPress page, editing the HTML of the form to make the required group pre-selected and hiding the group selection from the user and linking my Bloom pop-up to that page.

That’s pretty gross. But it does work.

I’m hoping that at some point MailChimp’s API will work nicer with the GDPR fields. It seems to have the ability to send “marketing_permissions” with a new subscriber, but it’s not clear how you get the ID’s needed to send. When this does work nicely, hopefully WPForms or Bloom or Gravity Forms will integrate with it and let me do this properly.

For now…making a simple form requires a humongous kludge.

Welcome to the internet, everybody!