Archive

Posts Tagged ‘Infusionsoft’

Infusionsoft Overall Architecture Review

March 23rd, 2010

Infusionsoft Architecture Overall Grade: C

The overall technical architecture might not be part of a normal review, but it affects a lot of things and I think it may matter to a lot of users!

The good things about the architecture:

  • Infusionsoft is written in Java and JSP.  Java is known for being one of the most reliable, enterprise-grade server languages.
  • In my experience, Infusionsoft has very good up time.
  • Infusionsoft is very good about communicating outages and updates.

The not so good things, and why I graded Infusionsoft as a C:

  • The application does not seem to be structured that well. I know this from digging around in the internals and using the API. Some pieces of data are just hard to get to.
  • As a result of the gaps in the way the application is structured, it is hard for Infusionsoft to provide access via the API. This limits what you can do with Infusionsoft.
  • Some things are just plain wrong. For example, when someone places an order, the Shipping address is stored as address-2 in the Contact record. The information should be stored as part of the order. Let’s say a customer buys a product and sends it as a gift to someone. Then, later on buys another product and sends it to someone else. The first customers information is overwritten and lost forever. Supposedly, Infusionsoft is working on fixing this. But, the fact that it could get into the product shows there are some gaps in their thinking and process.
  • Updates end up causing too many things to break. Even with the best designed applications, an update can cause something to break. However, this happens too often with Infusionsoft. They seem to work hard to solve any problems, but the problems can still hurt users.
  • I think the lack of good structure is slowing their progress on adding new features and improving the product.

If you are a typical Infusionsoft user, most of this may not affect you that much. I have personally been the CEO of a software company, and we made many of the same mistakes. That’s why I can see the problem clearly! Still, it does limit the capability of Infusionsoft and affects how much you want to rely on their software.

Clarke Bishop Infusionsoft ,

Custom Storefront for the Infusionsoft Shopping Cart

March 21st, 2010

The Infusionsoft shopping cart is one of the weakest parts of Infusionsoft!

Fortunately, there is a work around that let’s you use their checkout and still have the other great parts of Infusionsoft — Marketing automation and email marketing. Here’s what you do:

  • Code your own custom storefront and cart
  • When the customer clicks Checkout, pass their shopping cart to Infusionsoft’s cart checkout
  • Lock Infusionsoft’s cart to prevent the customer from changing quantities

Code your own Storefront and Cart

You can modify one of the open source shopping cart solutions or create your own. This is potentially a broad topic, so if you want to know more, please leave me a question or a comment. The key things that are required are:

  • Ways for customers to find the products they want and add them to their cart
  • A way to store the products and quantities they have selected
  • A shopping cart page that let’s them see the items they are purchasing and add or remove items
  • A checkout button that will take them to the Infusionsoft checkout page.

Pass the Shopping Cart Information to Infusionsoft

Now, we have to get the products and quantities from your custom cart into Infusionsoft. Essentially, all you have to do is pass the products and quantities to Infusionsoft via URL parameters. Here is the base URL.

https://YourApp.infusionsoft.com/cart/?update=true&l=n&cart_skin=1&clear=true&Order0_OrderID=123

In this case, I’m also passing in an OrderID which is a custom order field I created in Infusionsoft. Then, add the following for each product:

&product_id=456 &p456_qty=2

I highlighted in red the values that have to be dynamically inserted. Now, when the user clicks checkout, you build this URL, and send them to the URL.

Lock the Infusionsoft Shopping Cart

There’s just one problem. You may not want the customer to change the quantities on the Infusionsoft side. Here’s a trick that let’s you lock the Infusionsoft checkout page. Enter the following javascript in HTML Area-1 in your shopping cart skin:

<script type="text/javascript" language="javascript">
    var elem = document.getElementById('theOneForm').elements;
    for(var i = 0; i < elem.length; i++) {
        if ( right(elem[i].name, 4) == '_qty' ) {
            elem[i].disabled=true;
        }
    }

    //Overrides the remove(key) function
    function remove(key) {
        alert('Please Click Continue Shopping to modify quantities or remove items.');
    }

    function right(str, n){
        if (n <= 0)
            return "";
        else if (n > String(str).length)
            return str;
        else {
            var iLen = String(str).length;
            return String(str).substring(iLen, iLen - n);
        }
    }
</script>

This script will:

  • Find all the quantity fields on the form and disable them
  • Override the remove link

It’s not a perfect solution, but it does work!

If you need a better, more complete shopping cart, the best thing is to use a 3rd party shopping cart (Like Volusion or many others), and then use the Infusionsoft API to get relevant data into Infusionsoft.

Please leave me a comment below if this is helpful!

Clarke Bishop Infusionsoft ,