Don’t Worry, You’re In The Right Place
A lot of these posts were originally on So if you found them through search engines or clicking around, this is their new home :). Enjoy!

Elegant Themes Bloom Review – I Love It but I hate it too.

I want this plugin to work, I really really do.  However, I’m realizing that there’s never a one size fits all solution.  Why not though, there definitely should be.  Other companies do it, why can’t the plugins that we want to work just adapt!!! 

I understand that I’m being a bit unreasonable but I just want it =).

Let me first say that this plugin is good.  I mean really good.  It does the pop ups and slide ins, etc.  All the things that you would need to grow you’re email list are included and it looks stunning!

Here’s the issue.  While Bloom is beautiful and I just want to use it because it’s going to make everything pretty and kick ass awesome, I hate it.  Why do I hate it?  Because like all Elegant Themes solutions, you either use it how it’s supposed to be used, or find something else.

At first glance is beautiful.  You can set up your optin forms and triggers with ease.  My main issue with the plugin is it’s missing 2 really basic functions.

  1. Add custom form
  2. Double Optin Trigger

There’s also a small annoying step that you can’t get back to unless you start a new form, but I’ll get into that later in the post.

Adding a custom form.

I use hatchbuck. One of the best and most affordable solutions I found that works flawlessly when it comes to email lists (more on that in another post). Bloom doesn’t integrate with it though so I have to use a custom form.  The only issue is that when you use a custom form with Bloom, it literally just slapsticks the form into place.  

The plugin is beautiful when you use one of the integrated services, but that’s about it.  Veer outside of what it’s supposed to do and Elegant themes just slaps you in the face.


I mean they offer the freakin’ option to use Custom HTML.  When I saw it I thought I was in Heaven!  So there I go, pasting my code in thinking it would do exactly what previous plugins like IceGram and Thrive Leads have done before it.

I was so wrong.

I continued to add my design thinking that it would look awesome, only to find that my hidden inputs weren’t hidden, and I couldn’t get anything at all to align correctly.  WTF Bloom, you look so great in the demo, why won’t you just look good on my site!


What I realized was that because the form I used was using single quotes, Bloom didn’t like that, so it wrapped the single quoted items in it’s own quotes, leaving a broken form.

Chapter 2.

OK.  I’m pretty savvy.  I want three columns: name, email, and button. I have a one-third class in my CSS, I’ll just wrap the fields and we’re done, right?


The styles of Bloom override your style.css ones, so you lose. In fact, I spent almost 2 hours trying to figure out how the hell I can get three columns to work!

I went on the Bloom website to see the examples, and they only show examples with one field.  I mean, they have examples with two fields in it, which is cool until you realize it’s just an image.

So how the hell do I get three columns.  I kept digging and digging and I finally went through their style sheet to see how the hell it works.

Here’s the fun stuff.  They wrap the inputs in a paragraph tag, then have an input class in the tag as well.  By default these input tags are 34% wide.  Great! I go into my code and I add the paragraph tags with the appropriate classes.

Still not working… why?

I’m trying not to be so negative but here’s the brilliance that went into this.  If you use one of their integrated platforms you can choose to just show email, email and name, or email and first/last name.  BUT IF YOU CHOOSE TO ADD YOUR OWN HTML you don’t get those options.  You only get the Email option.



This is significant.  When you only choose EMAIL for example, Bloom adds a class called et_bloom_1_field.


If you haven’t guessed it yet, I’ll tell you.  That stupid class turns the width of the input to 64%, even though I have 2 input fields and a button.

When you have more then one field, that goes away, but Bloom wouldn’t know that because I didn’t use an integrated service.


My solution was to override that class and turn the width back into 34%.  FINALLY! I got it working how it should.

This leaves me to my WTF question.  WHY would you make your classes so incredibly asinine with no logic at all AND if you offer the option to include a custom form, why wouldn’t you allow it to flow nicely with your design?  Your designs are GORGEOUS.  There are plenty of plugins that do this.  You paste the form code in, and it either takes what’s there and maps the fields, or it just rewrites the code so it looks how it’s supposed to.

This should have taken me all but 20 minutes, instead I stood on my computer for over 2 hours trying to figure out the class structure and everything else in between just to get my form too look right. So annoying.

Here’s the final code structure that got my form looking as it should.

You also need to add this css in the custom css box:
.et_bloom .et_bloom_1_field p.et_bloom_popup_input { width:34%; }

Double Optin Trigger

Why?  Why do so many developers choose to avoid this simple yet incredibly effective method.  It can be done with the tiniest bit of javascript.  No hardcore coding involved, just a simple click trigger, to open a light box. But NOOOOOO, no one wants to do it!

Beaver Builder came out with their new email module, no double optin (heart broken).  Bloom has all these cool email forms and triggers, no freakin’ click trigger!  What’s crazy about this one is I opened the javascript to Bloom, and I literally added it in 2 seconds.  Here’s the code right here:

Then you just add something with the class of .trigger-click

That’s it.  Add that in the custom.js file and it works great (if you add it anywhere else, it won’t work)!  But if you ever update the plugin, it’s gone.  So why can’t they just add this to the damn plugin?  I see it requested everywhere, all the time.  It’s an effective marketing tool.  LOTS OF PEOPLE USE IT, but it’s left out.

The little annoying thing.

This just bothered me when I tried to edit the form look.  When you first create a form, you put in your code, then the next step is to design it.  It brings up this awesome screen with about 100 different looks you can choose from.


The list is huge. You pick one, and then you go to customize it.

The only problem is once you pick a template on that screen, there’s no way to go back to it. None, nada, that’s it.  You pick it, you’re on your own… again.

In order to get the screen back up, you need to create another form.  You can imaging how tedious this is when you want to try out different designs to see how they look.  New form, pick, edit, delete, new form, pick, edit, delete. And over and over again.

Let’s not get it twisted, I think this plugin is great, but I also think that the way it’s built will waste your time as oppose to saving it. Hopefully the snippets above and the hours that I spend trying to figure it out will help you along the way.

So would I recommend it?

Like all Elegant Themes, I say YES, Go for it if you’re going to use it as is, becuase it’s beautiful, and when it works, it works great!

If you’re trying to do something else with it, Good Luck.

To be fair though, it’s pretty new so I hope that they read this and in the coming months they fix some of the small issues, maybe they won’t, but I hope they do.

For now, I’m going to stick with it because I already invested a ton of time getting it to work how I want, I’d hate to go back and think that it was all wasted.

Have you tried it yet? What do you think?

About the Author
What's UP! This is my site, I write 99% of the articles on here. I'm also the owner of I help out a lot of developers and designers getting into the web game. Helping is fun for me, so feel free to ask me any questions! I've made courses and have a membership as well to help get you on your feet!

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top