For my latest Elements of Design gallery I thought I'd showcase pricing tables.
Tables in general seem to be a challenge for the designer (take a look at CSS Table Gallery for numerous table design crimes against humanity), which must be why so many are functional but very plain to look at.
Pricing tables are a particular challenge because of the critical role they play in the sign-up process. They often have to convey a large amount of data and must do so in an easily understandable form.
In addition they must clearly differentiate between the features of various pricing plans and guide the user to pick the most appropriate plan. Oh, and potentially answer any last minute questions and be aesthetically pleasing. Not an easy task and one which has significant bottom-line implications.
Once I'd gathered a reasonable collection, it was interesting to see what design patterns emerged from looking through the different pricing tables.
A check mark was the most popular method to indicate if a feature was available due to its ease of comprehension. This was particularly apparent compared with the Dabble DB pricing table which used "Yes/No" and was much slower to take in.
A dash ( — ) was the most popular method of indicating that a feature was unavailable. This makes sense as it doesn't compete with the check mark but puts something in the table cell to indicate that it hadn't simply been overlooked.
Some sites (e.g. Basecamp) took the extra step of indicating which plans were most popular or best for a particular audience. This is a good way to help guide the decision of the user to an appropriate choice of plan.
There was a fairly even split between putting the sign-up button at the top of the table — directly under the pricing information — or at the bottom, below the list of features.
It's hard to say which is the better approach, but it would definitely be worth doing some split A/B testing to see whether the button position affects sign-ups.
Most sites used fairly generic terminology for their plans, such as:
However, some sites were a little more creative with their naming:
I would recommend against being overly creative with plan names as these terms are less likely to help the user quickly understand the level of the plan or to which audience the plan is directed. Better to save the creative copy for the pages directing the user to the sign-up page.
There seemed to be a fairly even split between ordering pricing plans highest to lowest cost or lowest to highest. Again, it's impossible to say which is the better approach, but this would be another thing to test.
Several of the sites provided help information for features in the form of tool tips. This seems like a good way to unobtrusively answer any last questions without forcing the user to leave the sign-up page.
Only one site — MediaMax — opted not to layout its pricing plans in columns and chose a horizontal approach.
It suffered in terms of comprehension due to the need to repeat content and the reduced scannability of the data. Clearly, vertical columns are the best way to present pricing plan information.
Posted on: January 16, 2008 | 8 Comments



8 Comments Posted
Thanks for pointing me to this valuable resource. I certainly need this.
1. Posted by Auto Accessories on January 20, 2008
Good article. I love to read this. Thanks
2. Posted by An Jay on January 21, 2008
It was nice to read. Thanks
3. Posted by Salman on January 22, 2008
An interesting article.
First impressions of the sample layouts was that the MediaMax entry stood out. It conveyed its key messages about its plans in a straight forward manner.
I would agree with your view that the horizontal format is potentially an issue - especially if they wanted to highlight more features but as its just showing a small number of features its doing it rather well.
4. Posted by Mary Stanton on January 22, 2008
Great info thanks
5. Posted by Wakefield on January 25, 2008
thank you, very nice info, i do need this.
6. Posted by seo on January 30, 2008
it is very easy to create table in html, but i dont know how to do it in css. gata learn css.
7. Posted by jay on January 30, 2008
Good article. This is a topic often overlooked and as you said, has far too much of a bottom-line implication to not garner more attention.
Jay, don't worry about recreating tables in CSS. CSS is great for page layouts, but trying to simulate a table in CSS is a frustrating and tedious experience that really isn't necessary. I prefer to use a combo: lay out an HTML table, then apply CSS styles to it. It keeps the code to a minimum and guarantees your layout will render properly in just about every browser.
8. Posted by adam j on February 07, 2008