Dynamic Product Pricing and Cost Based on Location via Zip-code or IP Recognition
There is no question that the demand for a product varies from one location to another. Healthcare doesn’t cost the same in New Jersey as it does in California. Neither does health insurance or even car insurance. Price fluctuation based on geographic location is perfectly normal when it comes to these industries as well as department stores, such as Macy’s and Nordstrom, and many other nationally based businesses
When it comes to eCommerce sites, location-based pricing is not illegal, but it is frowned upon. How would you feel if you lived in Florida and your cousin Billy in Kentucky bought a pair of sunglasses for $50 from the same site that charged you $60? Of course, you wouldn’t be too happy. (Though Billy in Kentucky probably would be!)
Did you know big brands like Amazon.com, Home Depot, and Staples are already pricing their products this way? There are many factors that play a role in the pricing of a product including:
- Distance from the warehouse
- Local / Regional Income Levels
- Local / Regional Competition
- Supply fluctuation
As eCommerce business continues to grow, more and more small and medium-sized businesses seem to need this functionality and come to us asking, “How can I display different pricing for my thousands of products based on a location such as a different state, region, or country and still keep my current eCommerce structure?”
At Optimum7, we were able to implement this functionality for our clients and we tested this in a couple of different ways:
1. Different Sub-stores for Different Locations
To implement this properly, you need to build a different sub-store or subdomain for each of the locations where pricing would vary. For example, if you wanted to display different pricing for three states you would need to add, for example, FL.mystore.com, GA.mystore.com, and NY.mystore.com.
- You need to integrate all of these sub-stores with your main store so that the orders come from only one admin with the appropriate order value for each location.
- You have to be extremely careful with different invoices for customers from different states, as you run a high risk of mistaken/mixed up invoicing.
- You need to train your staff to handle all of the issues, including complaints that would arise from this setup.
Ultimately, using different subdomains is not a very efficient way of running your eCommerce store unless you are a large organization with sales of over $20 million annually.
2. Forcing All Users to Register
This simply means that we do not display pricing information for users until they register with your store. Based on the location provided, we place them in a different pricing tier.
This works fairly well for B2B eCommerce businesses. However, the sales and conversion rates will drop significantly if it is implemented on a B2C site, simply due to the fact that individuals are reticent about providing registration information (name, address, etc) before they actually decide to buy something
3. Using jQuery, implement the “allowpriceedit” function to alter pricing based on location (IP address)
This is the most efficient solution we have found for implementing functionality that allows for location-based price differentiation, without interfering with the structure and user experience of the eCommerce store.
It works with very basic functionality that most eCommerce solutions have; “allowpriceedit” feature. This feature was introduced by eCommerce systems to allow the buyer to make an offer on a specific product. Therefore, in the database, during each session, the price of a specific item can be altered. The problem with this is the fact that this price can only be edited during the checkout process. However, if you are trying to display different prices for different states, these prices must be live on the actual product page.
To address this, we built a script that automatically locates the specific state of the user based on his/her IP, queries of the database on web service for the price of that specific item for that state, and then returns the price for that state back to the user within milliseconds.
Then, when the user adds that item to their cart for purchase, we re-create that product as a child product with the appropriate pricing. This way, we do not change the product code of the item, and the reporting does not seem like you sold 50 different SKUs if you have actually only sold 1 SKU to 50 different states with different prices. The functionality works like a charm, which is exactly how Amazon or Staples.com works! You get to sell the same product at different prices for different geographical locations.
During this process, we realized that no matter how frowned upon a system like this may be, your business needs what it needs. You need to be able to alter the functionality of your eCommerce site to meet market needs and demands. As highlighted by the options we discussed, it’s essential that you do not alter the customer experience for any functionality you add, no matter how important.
Contact Optimum7 today and let us explain how we can set up this functionality for your Bigcommerce, Shopify, 3DCart. Magento, Miva or Custom E-commerce site!