Advanced Open Email Tracking With Infusionsoft

Note: This post was archived from the Infusionsoft Blog. More details here.

Also, there is now a MUCH simpler and easier way to do this. It’s one of the hacks presented in our 2014 12 Hacks of Christmas series. Check it out here.

A common request from advanced users, is to perform actions when an email is opened. By default, Infusionsoft tracks who opens the emails sent through it.  You can see the pretty pie chart of who opened and clicked in the Email Batch Status Report.  But, have you ever wanted to tag people who open an email?  Or start them on a follow-up sequence?  Or run any other kind of action?  Well, it’s now possible.

This request has always been a challenge to do until now. We had a need for this to help us make our follow-up sequences even more targeted for prospect and customer needs. This feature is not natively built into the application yet, but you can accomplish the same thing using the API.

Here’s how it works:

  • 1-Pixel Image — Open rates are always tracked in HTML emails by using a 1-pixel image.  This case is no different.  The image needs to be served by a server-side script though. (One pixel is very tiny and is invisible to people.)
  • Action Set — Before you write the image script, go set up an Action Set for when someone opens your email.  Note the action set ID. Some people are confused by Action Sets, so if you are, do not continue reading and head over to the Fusebox to read up on them. Trust me on this one.
  • Server-side Script — Next go write a server-side script (using PHP, ASP, Java, whatever you prefer) that accepts a contact ID and an action set ID in the Query String and then spits out the 1-pixel image.
  • Image Code — Lastly, add the 1-pixel image code to your HTML email template.

I’ve provided an example of this implementation in PHP.  I created an action set that adds a tag and starts a follow up sequence.  The action set id is 1314. It may be quick and simple, so if you have any suggestions to clean it up, let me know.

In the HTML code of my HTML email template I’m going to include an image pointing to the script:

So, I’m dynamically passing the contact ID to the script and made reference the Infusionsoft Action Set ID.

The PHP code for the image script looks like this (note I’m using the PHP SDK to connect using the API):

< ?php
include("../isdk.php"); $app = new iSDK(); $app->cfgCon("testacct");
$as = $app->runAS((int)$_REQUEST['cid'],(int)$_REQUEST['asid']);
header("Content-type: image/png");
$im = @imagecreate(1,1)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);

Sorry this got a little technical, but thanks to Justin Morris (aka our API Ninja), this script can do wonders for knowing more about your prospects and customers and continuing to improve response from your emails.

With this script, you’ll be able to do amazing things. It will greatly help you in performing intelligent email marketing and powerful lead scoring. By doing this, you can do anything when someone opens your next e-mail from Infusionsoft. I can tell you that we’ve had very successful results from this implementation.

If you have feedback, questions or comments — I’d love to hear from you in the comments below!


About Tyler Garns

Tyler Garns is best known for his work as the Director and VP of Marketing at Infusionsoft, where he led the marketing efforts that produced massive results between 2007 and 2012. But he’s also been the “go-to” Infusionsoft guy for many of the top marketers and Infusionsoft users out there. His combination of technical skill, Infusionsoft expertise, and marketing experience make him one of the most reliable sources of business breakthroughs for Infusionsoft customers.

11 thoughts on “Advanced Open Email Tracking With Infusionsoft”

  1. Guys, are you kiddin' me?

    You want me to setup all this scripting for this one tiny feature?

    I would need to setup a new action ID (therefor, a copy of the complete script) for each email I send out, in case i want to have each email trigger a seperate action set that sets different tags (which OF COURSE, i want!).

    This is a joke guys!

    When do you plan to seriously make this available for customers – natively?!

    I can't believe you make this worth a blogpost. Honestly.

    Norman Freeman

    1. Norman,

      When you say, “all this scripting,” you mean one PHP script with 11 lines of code? I think this is very useful for more savvy Infusionsoft users, or users who want to automate processes when an email is read.

      You would likely receive the most benefit if you're doing a long-term follow-up sequence, where several mails are conditional in nature. But yes, I see where it can be a bit painful to setup for every individual broadcast you send.

      Our product management takes top ideas posted on the Infusionsoft Ideas area and works them into their product roadmap. But unfortunately, if an idea isn't very popular, it doesn't bubble up to the top. I would love nothing more than to have this to be native in the software — but not many customers have voted on that idea (…).

      As far as the worthiness of being in a blog post, I can speak to that. I would much rather have solutions like this posted on our blog rather than just kept quiet. Many would appreciate that we're being open and accessible and see that we're working together for their success.


  2. Thank you, Thank you, Thank you… I have been trying to get something like this for a long time… I was able to get half of the equation but… now the whole enchilada… grazie

    Kevin Barrett

    1. I totally see it that way. It's been a common question, since the software can do just about everything else. Tyler showed this to me and I was very impressed. Glad to see you love it, too! 🙂

  3. That's funny, we made one of these a long time ago for someone to keep their email list clean. I agree it's a little burdensome to make sequences with tags for every single email.

    Wanna know how to make it really useful and lightweight?

    Put the same action sequence in every pixel and make sure to use the pixel in every email. (or if you are using different sequences, make every single pixel sequence do this 1 step along with whatever else you do)

    Make a step in the action sequence that adds the person to a followup sequence. Make that followup sequence remove people from all your mailing lists in 6 months.

    Make sure the action sequence step not only adds to this but restarts people if they are already in that followup sequence.

    This way, if someone hasn't opened a single email from you in 6 months, they'll be removed from your lists (when it reaches six months without being restarted) and you can keep a smaller tighter list of active emails instead of having your batch stretch on for hours without any good reason.

    If you have a ton of emails, it's hard to target a time of the day for delivery when your batch lasts for 15 hours, know what I mean?

  4. I for one will not be renewing my Infusionsoft contract if the feature to track multiple open instances is not baked into the product asap. These comments are festering here from 2009, and so far only one script hack? Not even a plugin? This is basic stuff for a SAAS platform vendor in this space, especially one with such advanced features as Infusionsoft. Now I’m just wondering what other no-brainer feature I took for granted and assumed was included in the product. Only time will tell.

  5. Bottom-line, if it doesn’t healthy that person properly
    and it doesn’t slimmer your facial shape subsequently it’s not the frame for you personally.
    While acquiring such items of glasses online it is additionally
    crucial that you verify the retailer is one
    that is providing great customer-service.

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top