Automate Creative Production with Bannerbear & Zapier

Save hundreds of hours spent on tedious creative tasks by creating reusable templates.

All marketers have felt the pain of making new creative. The process can especially feel rough if you rely on creative requests from other team members or agencies. Even if you have some assets, you'll often spend needless hours creating different variations in size, copy, and more.  If these pain points resonate with you, I have great news - you can automate most of the process and gain back hours of your time.

This guide will cover the concept of creative automation, a creative automation tool called Bannerbear, and even take you through an example project.

How does creative automation work?

Creative automation, just like most automation, depends on a concept called variables. Simply put, a variable is just a value that can change over time. For example, while your rent might stay the same each month, your electricity bill would be variable because it depends on your usage.

Variables are often looked at in technology as a key-value pair. The easiest way to think of key value pairs would be looking at a table:

Celebrity Genre Gender
Nicki Minaj Rap Female  
Snoop Dogg Rap Male
Kelly Clarkson Country Female

In the table above, the keys would be the column headers Celebrity, Genre, and Gender. The value for each key would be the corresponding rows under each column.

This is oversimplified, but you can use the table structure as the building blocks of the internet. The main difference is, when dealing with automation, you're going to be looking at the data as JSON. JSON is a type of file format that's used pretty commonly when communicating between APIs. Here's an example of the table as a JSON snippet:

{
    "Celebrity": ["Nicki Minaj","Snoop Dogg", "Kelly Clarkson"],
    "Genre":["Rap", "Rap", "Country"],
    "Gender": ["Female", "Male", "Female"]
}

What are the variables in a creative?

Variables are technical, which makes it hard to grasp how they could apply to something like creatives. Let's use an example of two banners from my blog to illustrate how this works:

Both of these images are almost the same, but you'll notice that two of the fields are different:

  • The Title of the Blog Post
  • The Date of the Blog Post

These fields are both variables because they can change from post to post. And whilst both authors are the same, you could also make a case for authors being another variable.

In my case, I choose to keep the rest of the design static (e.g., font, border color, background color) and use variables for the changing fields like Title, Date, and author. When designing, you set variables based on how you want to be more efficient. My use case is great for generating banners with the same design, but this wouldn't be great for testing different banner designs for the same content. In that case, you could completely reverse this logic and keep post information the same, while making other parts of the design (like background color) a variable.

How does automation work?

This seems all dandy, but it doesn't seem useful without a way to create new designs based on changing variables. That's where we introduce automation to, well, I mean, automate the creation of new images.  The core principles of automation flow are:

  • A Trigger - What was the event that enabled the flow?
  • Actions - What happens when the flow is enabled?

Automation is similar to someone knocking over a row of Dominoes. If I were to flick a domino, causing the rest of the dominos to fall: the flick would be considered a trigger. That's because none of the subsequent actions, each domino hitting the next, would've occurred without the initial flick. 

So when we think of how to use automation tools, like Zapier, we must first think, “what will cause this to happen?”. An example trigger event could be a new blog post published in WordPress. WordPress will send me information (like the post's title) when this trigger happens. Then, I want my action to be a creative automation tool (discussed in-depth in the next section) that takes the data from WordPress and uses it to create a new image for me. Instead of manually designing the banners from above, it will generate new banners whenever a new blog post is published. 

What is Bannerbear?

The action of creating dynamic images usually requires a creative automation tool. One of my favorite tools for this is Bannerbear.  While a few others in the space are more affordable (such as Placid or APITemplate), I think Bannerbear has some amazing features that make it worth the price. Some of these features include:

  • Smart cropping for pictures that don't fit in an element
  • Smart resizing for fonts
  • A simple-to-use API with a ton of integrations.
  • Features for automating gifs & videos
  • Template sets for grouping multiple creatives.

For the reasons above, the guide I'm providing today (and most in the foreseeable future) will be done using Bannerbear. However, most of the same concepts can easily apply to its competitors. 

Setting up a project

A project in Bannerbear is a way to group different sets of templates and assign granular permissions for users. You might think this is mainly a feature for agencies to provide client access. I also think it's cool for internal teams who want to separate their designs by different organizational functions. 

Aside from that, functionally, a project is used to create an API key (giving more granular security) and to trigger events (like when an image is done processing).  After creating your project, copy this API Key and store it somewhere safe for later use.

Creating your first template

Once you're in your project, create a template and select the aspect ratio for your image. 

 

Next, click the “edit template” button to land on your template's canvas. 

This interface should feel relatively familiar if you've used design tools like Canva. The tool relies on creating “layers” to make a design. The beautiful part? Almost all these layers are considered variables that can be manipulated using automation. What you name your layer will be the name of the variable you will be referencing in your automation flow. Then all the properties on the right (e.g. color, font-size, etc.) are ‘children’ of that variable that can be selected. 

For example, let's say I had a rectangle layer named “background" where the width of the border was 2px, and the color was orange. If I want to change the width to 3px and the color to white; here's a reference for what that looks like:

Considering a design can have so many layers, the prospect of everything being dynamic can be intimidating. But you don't have to worry -  just because something's a variable doesn't mean you need to use it. Let's take my previous example: let's say you only want to change the border color of the rectangle and not the width; here's what the reference looks like now:

Since you left it blank, the border width would be the original default value in the template (2px). 

Once you understand this concept, the rest of the design process is similar to other tools. Just keep notes of what you want to be changeable in the image to reference it later.  After you're done, you just hit save, and then boom - you officially have a template you can use for automation. 

Example: Automate Testimonial Creatives

I will provide an example you can follow to learn how to create a dynamic testimonial creative. 

Goal:

  • Generate a new creative whenever a new testimonial is added to the Google Sheet.
  • Save the new image to a Google Drive folder.

Requirements:

  • An automation tool (e.g., Zapier, Bannerbear, etc.)
  • A Google Sheet
  • An empty Google Drive folder
  • A Bannerbear account
    • You can substitute Bannerbear for other alternatives I mention above.

1. Create your template in Bannerbear

In your Bannerbear project from earlier, create a new template titled “Testimonial - Square" and make it a 1:1 aspect ratio (1000x1000). Once you're done, your blank canvas should look like this:

2. Setup your Google Sheet

Create a new Google Sheet titled “New Testimonials.” Create a new column called “Name” and another column called “Review.” Once your sheet looks like this, you can move on to the next step.

3. Create a new folder in Google Drive and title it “Final Images”

4. Create a flow in Zapier

Create a new workflow in your automation tool of choice. For the trigger, you will want to select “Google Sheets.” Here, connect your Google Account if you haven't already done so. You will want to select an action that happens when a new row is entered into a Google Sheet. Make sure to select the “New Testimonials” sheet that we just created. You will probably need to enter random data into your Google Sheets to test the trigger. 

Next, you'll want to create an action with “Bannerbear.” Select the “create image” action. After you connect your account and enter in the API key, select your project and template. Depending on the automation tool you have, the process of how you do this might be different, but essentially you have to:

  • Associate the “Name” column in your Google Sheet as a text value of your “name” layer.
  • Associate the “Review” column in your Google Sheet as a text value of your “review"  layer.

When you're done; test the action; if it is successful, you should see it return a URL with your newly created image.

Finally, add a final action with “Google Drive.” You want to select an action called “Create File” or “Upload File” to an existing drive folder. Select your drive folder from earlier and make the URL of the “new file” the URL that Bannerbear returned. Test the action; if it worked, you should see your new image in that URL! If you followed all the steps successfully, publish your new workflow! If you're facing errors along the way, try to isolate it to one of the earlier steps in your workflow; normally, the issue is not selecting the right properties.

5. Test it out!

Now that it's set up, go to town! Try entering a few different rows into your Google Sheets, wait a few minutes, and then check your Drive. If nothing broke, you've successfully learned how to automate a creative!

Conclusion

The concept of creative automation is still honestly one of the coolest to learn as a marketer. The above principles have saved me countless hours resizing, testing new copies, and more. There are so many use cases for this - I just wanted to cover the basics first, because some of this can get pretty advanced.