Tuesday’s Tip: Add a custom QR code to an Infusionsoft email

Update 1/21/2015: This tip no longer works due to changes in the way Infusionsoft processes emails. Sorry!

QR codes are an easy way to encode customer-specific data into a format that can be scanned using your phone or tablet. Adding a QR code to an Infusionsoft email is easy to do, and you can even make each QR code unique by adding the customer’s email address or other identifiable information. You can use the Infusionsoft API to look up customers, add tags, or perform other actions once their QR code is scanned. This works great for event registration systems.

For this example we are going to use the QRicket API. This is a free, powerful API that allows you to regularly create up to 5,000 QR codes per day. If you need more than that, then you may need to load some free QR code generating software onto your server.

Due to a bug in Infusionsoft’s image handler, it takes a bit of finagling to make this tip work. I’ll walk you through it step-by-step:

First, you need to decide what URL the QR code is going to take the visitor to. For this example, we are just going to pre-populate a web form with the person’s name and email address. In real-life you’d probably have this go to a script on your own server that uses the API to check-in a customer for an event or add custom tags to the contact record. Our full URL would look something like this:


Notice that we are using merge fields to put the contact’s name and email address in the URL. This will cause the web form to automatically be pre-filled.

Next you need to use the QRicket API. The most basic usage is pretty easy, and would look like this:


I took the URL we want the contact to end up at, and added a QRickit URL to the front. You can change the size of the QR code by modifying qrsize=300. You can also change the colors or add a label. Check out QRicket’s webpage for a full list of options.

Now take your complete QR code URL, and URL encode it. This step is necessary because of a bug in the image handler used in Infusionsoft emails. This encoding can easily be done at the ASCII to Hex website. Paste your entire URL into the first box (Text) and click Convert. Your encoded URL will appear in the URL Encoded box. For this example, the encoded URL is:


Almost there! Add an HTML snippet to your email with the following contents, replacing YOUR_APP with your Infusionsoft app name, and PUT_YOUR_ENCODED_URL_HERE with your URL encoded URL from the previous step:

<img src="https://YOUR_APP.infusionsoft.com/jspServ/imagegetter.jsp?url=PUT_YOUR_ENCODED_URL_HERE" />

That’s it! You now have a contact-specific QR code in your email. The QR code will be different for each of your recipients, assuming you added unique merge fields to your URL. With a little work and the Novak Solutions SDK, you can do just about anything when the QR code gets scanned.


  1. I get the “how” but I don’t understand the “why.” Why would I put a QR code in an email? It’s already an electronic medium. Do I expect the recipient to print it out so that he can scan it?

    • Yes, either they’d print it or they’d show it on their mobile device to be scanned. The goal isn’t to provide information to the customer, but to easily connect a real life person to an offer or contact in your Infusionsoft app.

      For example, let’s say you are hosting an event. Your attendees need to register before showing up. When they register you send a QR code. When they show up, you have your staff scan their QR code to check them in and verify that they’ve registered properly, paid for their ticket, etc. You could even get real fancy and have automated booths where the user can quickly scan their QR code and have an event badge printed out for them.

      Or you could use it to offer a one-time use coupon. Many Infusionsoft users have brick and mortar locations where they sell their products or services. You could send your customers a QR code with their contact ID embedded. Your employees could then scan the QR code and use the Infusionsoft API to see if the contact has already used the coupon.

  2. Hi Jacob, this is exactly what I’m after. I have a bricks and mortar business that I want to issue a discount voucher or free offer to customers via email after they sign up on the website infusionsoft form. I understand the qr code part of what you have described here but how do I track if it has been used already by scanning the qr code. What would i need to setup to get the scanning of the qr code to add a tag and say yes tag added give discount or tag has been added previously so decline this voucher.

    I presume it is using the novak solutions sdk mentioned above; I have taken a look at your page about this but still not sure how I could get a qr reader to communicate with the sdk.

    Any help would be appreciated.

    p.s. I am looking for the simplest method possible and although this may require a bit of work to get up and running, I think it will make it easier and better for the customers overall experience.

    • Iain, this is beyond what we can offer via our Tuesday’s Tips. If you’d like to look into this and get you a quote, please send us an email at support@novaksolutions.com.

  3. Hi Jacob, thanks for doing the video! It was very helpful! I’m not a tech, but a do-it-yourself-gal muddling my way through (and doing some pretty cool stuff). I’ve followed your instructions (to a tee – and in several different variations), but the QR code is not displaying on the emails sent. It shows up in my campaign builder (when creating an email from there), and it shows up in my email broadcast builder, but not on the actual email sent. I’ve tried an email through Mac Mail and to a google email addy. If I include an alt code, THAT shows up, but when you click the alt, it doesn’t show the QR code. I’ve tried copy and pasting code into google docs (so it’s definitely plain text), but to no avail. Any ideas? Thanks in advance!!

    • Can you send an email with the QR code to me, so I can see how it is coming through? jacob@novaksolutions.com

      • Thanks so much Jacob! The email has been sent! Hopefully we can post the solution here shortly for all other Infusionsoft users who are having the same problem. 🙂

      • Looks like this tip no longer works. Sorry!

        I’ve updated the post to let other visitors know.

Submit a Comment

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

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