It seems like a simple enough question, but the answer you get usually depends on who you ask.

Ask a traditional marketer and the answer will likely be that it is blending email with other marketing disciplines so that there is one unified message to the consumer.  Ask an IT or tech person and the answer will probably be something to do with automating the flow of data between different tools,  platforms, or environments.

Ask an email marketer and you’ll probably get a blank stare…. Naw, just kidding….  maybe….

Types of Integration

While the novice or uneducated email marketer is searching the Web for this post, the educated email marketer will answer that Email Integration is both Marketing Integration and Data Integration, and that it starts with the data.

Now let’s be honest, this can be some pretty hard-core geeky stuff that can take a while to fully implement.  I’m going to leave the Integrated Marketing parts to the pros like Kevin Hillstom over at, and focus this discussion on the data side; more specifically, pushing data to the email tool.

Even the most novice email marketer is familiar with “auto-responders” (man, do I dislike that term).   Basically the way these work is that when someone fills out a form a pre-determined message is deployed to the recipient be it in real/near-real time or after a pre-determined delay. 

Follow-up messages can often be set up to automatically deploy any number of days after the initial message.  These messages are usually sent based on the date the email record was entered into the data table, but what happens if the subscriber status changes? 

What if the recipient took action in advance of a message asking them to take that same action?  How silly would you look to the recipient if you sent them an email asking them to do something that they did the day before? 

Maybe you want a bit more control over when messages are sent, yet still want messages sent automatically.

Speaking in generalities, because all email tools are a little different, what happens in the background of an auto-responder is that the form is posting data to a table and then deploys an email message.  Duh! Huh?

Simple Data Integration

Not so quick on the “duh!”  Did you know that you can use that same functionality to trigger a message from your own back-end database without having the recipient fill out a form?  If you did, move ahead two spaces, if not, it’s time to step up your game.

Forms post data to an email tool using a base HTTP string that includes name=value pairs.  And, you can post the same data from your back-end database that a form posts using a stored procedure (SQL Server), stored routines (MySQL), or Visual Basic (old-school Access) to push the data from your internal databases to the email tool.  This way you can use data that you already have, or collected from your Web site instead of at the email tool, to trigger a message to a recipient.

So let’s break this down a little bit and see how it works.  form_source

In this example form we’ve selected to view the source code.  We’ll call the form URL the “Base URL”.  We’re going to take that Base URL and add name=value pairs to create a single string that a stored procedure at our back-end database will post to the email tool. In this example our Base URL is

If you look closely at the source code example, you’ll see <input type=”text” name=”email”> in the code.  The “name” is email, and the value will be the recipient’s email address.  Another “name” for our name=value pairs for this example is “firstname”. 

These “names” must match the field names of your data table so that the data that you post is inserted into the correct place in your data table.  You’ll also note that our Base URL begins with “https”, the “s” denotes that we will be posting this data to the ESP under a Secure Socket Layer (SSL) that helps to protect the data being sent.

Simple APIs

So let’s put some pieces together to create a simple API.  When we add the name=value pairs to the Base URL our string begins to look something like this:, or  more accurately:

If this were an actual working Base URL with name=value pairs, we could paste this string into a Web browser, hit Enter, and the data would post to the email tool and send me an email message.  How does it know what message to send me?  That’s usually determined by the value of  “campaign_id” contained in the string. 

Now that we’ve got that down, try it for yourself.  Set up two unique auto-responders or form-triggered messages, each with their own unique form and message content.

Display the form in your browser and then view the source coding.  Find the <form> tag and copy the URL found at “action=” and paste it to a text editor, like Notepad.  Then look for the <input> tags in the form source coding, and copy the values in each of the “name=” fields to create a string as described previously, joining each name=value to the Base URL and to each other using the ampersand (&).

Be sure to populate the values with your own information so that you can test to see if it works and so that you’re not triggering a message off to someone not expecting it.  Copy the populated API string, paste it into a browser and hit, “Enter”.  If you see your “Thank You” page, then you know that the string was processed.  If you don’t see the Thank You page, then we missed something, so check your work again.

If the data was processed by the email tool, you should receive a copy of the message that you created for that form-triggered email message.  If not, then we need to do some trouble shooting to find out why.

We’ve just scratched the surface of perhaps the simplest method of integrating data to your email tool to trigger messages. 

There are over 100 ESPs on the market today, and these methods may not work for all of them.  And if you’re using in in-house tool or appliance, you should already know how to make these things happen.

If you try this method and it doesn’t work for you, give me some details in the comments and together we’ll see what we can do to make it work, and share what we’ve discovered with others.

I want to give a quick shout-out and thanks to Scott Cohen (@scottcohen13)  for suggesting adding the sub-headers to make this very long post a little easier to follow. Thanks, Scott!