A discussion with my two children about pocket money gave me a real life reminder about the concept of anchoring.
Since my new WordPress plugin store has only recently gone live, and I’m still firmly in the tinkering / tweaking / post go-live phase I thought I’d a bit of experimenting with anchoring in the context of licence pricing.
I currently sell three different licence options, the options look like this:
I wondered if anchoring might affect people’s perception of value both in terms of overall conversion, and/or upsell from single licence purchases to multi-site licences. So I figured I’d swap the variations around – showing the most expensive option first, and pre-selecting it. In a future experiment I’ll also probably experiment with pre-selecting the middle-price option, or the cheapest while maintaining the order.
My new store uses the Easy Digital Downloads plugin, and fortunately it’s full of handy hooks and filters that let you change default behaviour. So here’s a short snippet that you can drop in your theme’s functions.php
, or a standalone plugin. It will order your variations by price, highest price first.
/** * Custom usort() callback that sorts on the "amount" within the array principally, falling back to "name" if required. * @param array $a The first value to compare. * @param array $b The first value to compare. * @return int -1 if $a should be sorted before $b, 1 otherwise. */ function pblw_edd_purchase_variable_prices_sort( $a, $b ) { if ( $a['amount'] == $b['amount'] ) { return $a['name'] > $b['name'] ? -1 : 1; } return $a['amount'] > $b['amount'] ? -1 : 1; } /** * Sort the variations so that the most expensive is presented first. * * @param array $prices Array of variations available for purchase. * @param int $download_id The download that the variations belong to. * @return array The modified list of variations, sorted on price descending. */ function pblw_edd_purchase_variable_prices( $prices, $download_id ) { usort( $prices, 'pblw_edd_purchase_variable_prices_sort' ); return $prices; } add_filter( 'edd_purchase_variable_prices', 'pblw_edd_purchase_variable_prices', 10, 2 );
The end result looks like this:
I don’t expect that I’ll be able to generate any hugely statistically significant data from this experiment – but I’ll try and revisit it in a month or two and let you know how I get on!
3 Comments
Leave a reply →