Optimize Wide To Narrow

If you consider the path that a user takes through your website from landing page to successful conversion, you can think of the number of users that make it to each point along the way to a successful conversion as similarly shaped to that of a funnel. In a typical setup, you may have a very small percentage of your users make it to a successful conversion, but there are several areas along the way that either improve the chances the user will convert or decrease those chances.

As an example, lets say your landing page had 1,000,000 unique users reach it, and 10%, or 100,000 clicked on the call to action button, taking them to the next step. On step 2, lets say that 5% of the 100,000 were able to make it through, which would be 5,000 users. Step 3 is the conversion step, and lets say that only 20% of the remaining users make it through, for a total of 1,000 successful conversions.

If you were to look at it based on raw conversion percentages, you would think that the best step to work on increasing conversion rates would be step 2 as it has the lowest raw percentage conversion rate. However, if you were to make step 2 the first improvement location, you could be optimizing the conversion process for the wrong user. Instead, if you were to optimize step 1 until it reached some conversion rate goal, you could see a much greater number of users make it to step 2 in the process. At that point, you may find out that there was nothing wrong with step 2 itself, as the problem was step 1 all along.

If you do determine that step 2 does not meet its conversion rate goals, focus on optimizing it until you reach the goals you have set. Finally optimize the last step in the conversion process to remove any final roadblocks to conversion for your users.

The important thing to remember is that if you optimize from the narrow part of the funnel outwards, you may be optimizing conversion success for a very narrow subset of users, and when there is a larger stream of users making it further in the conversion process, your optimized step 3 may not work as you had hoped for this expanded audience to your conversion endpoint.

Related Posts

May 12, 2014
2 minutes

Mobile Web Development Is the New Internet Explorer 6

Developing a website that works well across devices and browsers is an excersize in playing Whack-A-Mole. Once you get one browser working on a desktop browser, you go to the next browser and find that not everything works the same way. In 2014, it seems that there aren’t that many differences in functionality between desktop browsers, but that all changes once you start making a responsive website that must handle mobile devices as well as it does desktop browsers.

Mar 13, 2015
3 minutes

Never Explicitly Trust Software Because It Is Open-Source

One of the major ideas behind open source projects is that allowing anyone that wants to view the source code of a project to be able to do so should make bugs and security weaknesses easy to find. While this did not work so well with OpenSSL and its various bugs that have been exposed recently, I do have an example where it worked extremely well.

Magento is an eCommerce platform that has two separate editions. One is a completely open-source and free as in beer Community edition. The other is a somewhat expensive Enterprise Edition. There is a large community of Magento developers that create extentions, or addons, for these two editions of Magento.

Jan 7, 2015
2 minutes

JavaScript Can Have An Interesting Interpretation of Order

There is an interesting little quirk with the way in which JavaScript decides which function it should execute next. You see, while the JavaScript engine has a single thread of execution, it creates the illusion of multiple simultaneous processes running at once by utilizing a queue of functions to execute. This means that every time you make a call to a function in your JavaScript, there is no absolute guarantee that it will be the next piece of code run, as there may have been other events triggered that beat your custom function onto the execution queue.