Posted on

How the Amazon Buy Box Works

The following article applies to sellers with Professional selling plans only.

The Buy Box is the box on a product detail page where customers can begin the purchasing process by adding items to their shopping carts.

A key feature of the Amazon website is that multiple sellers can offer the same product. If more than one eligible seller offers a product, they may compete for the Buy Box for that product.

To give customers the best possible shopping experience, sellers must meet performance-based requirements to be eligible to compete for Buy Box placement. For many sellers, Buy Box placement can lead to increased sales.

Become Buy Box eligible

What is the Buy Box?

The Buy Box is the display on a product detail page with the Add to Cart button that customers can use to add items to their shopping carts. When one of your listed items appears as the default on the product page, you “win” the Buy Box, increasing your chances of selling that item.

Note: Becoming eligible to win the Buy Box doesn’t guarantee that you will win it; that said, there are a few things you can do to increase your chances. To learn more, see Winning the Buy Box.

How can I become eligible?

If you’re a Fulfillment by Amazon (FBA) seller, you’re automatically eligible to win the Buy Box. If you’re not, you must meet all of the conditions listed below. Amazon does not guarantee placement in the Buy Box.

  1. Type of selling account: You must have a professional account. Here’s how you can upgrade.
  2. Metrics: Your Order Defect Rate, Cancellation Rate, and Late Shipment Rate are metrics that determine eligibility—the better you perform, the higher your chances are of becoming Buy Box eligible. You can see how you’re doing on the Account Health page.
  3. Order volume: So that Amazon can accurately assess your performance, we require that you have sufficient order volume (which varies among categories).

How do I check if my items are eligible?

You can find out if any of your items are eligible for the Buy Box:

  1. First, ensure seller eligibility (see above).
  2. In Seller Central, go to your Manage Inventory page and then click Preferences.
  3. Select Buy Box Eligible, and at the bottom of the page, click Save Changes.

The Buy Box Eligible column will display the status for each of your ASINs.

Winning the Buy Box

To win the Buy Box, first make sure that both you and your listed items are eligible.

Becoming eligible to win the Buy Box doesn’t guarantee that you will win it; that said, there are a few things you can do to increase your chances.

I. Price your items competitively

There are a few of ways to check and make sure you’re pricing your items competitively.

II. Offer Prime and free shipping

Sellers who offer faster shipping options are more likely to win the Buy Box. You can look up your available options in Shipping Settings.

III. Provide great customer service

We measure customer service in several different ways, and you can check your Account Health to see how you’re doing. While certain metrics such as Order Defect Rate, Cancellation Rate, and Late Shipment Rate may weigh more heavily when considering Buy Box status, we consider all the available metrics.

Staying tuned in to all aspects of your account health is a great way to not only make sure you’re working toward winning the Buy Box, but also earning customer respect and trust.

IV. Keep stock available

You can’t win the Buy Box if you’re out of stock. Keep your inventory updated and plan accordingly for things that sell quickly.

The Amazon Selling Coach can show you low and out-of-stock inventory alerts, letting you know, in real time, when it’s time to stock up.

Other options if you don’t win the Buy Box

Listings that do not win the Buy Box are eligible for placement in the More Buying Choices box (but please note that Amazon doesn’t guarantee placement in either of these locations).

Posted on

Installing the AWS Command Line Interface

This section discusses various ways to install and update the AWS CLI. To see if you have the latest version, go to the release notes.


The AWS CLI comes pre-installed on the Amazon Linux AMI. Run sudo yum update after connecting to the instance to get the latest version of the package available via yum. If you need a more recent version of the AWS CLI than what is available in the Amazon updates repository, uninstall the package (sudo yum remove aws-cli) and then install using pip.

Choose an Installation Method

There are a number of different ways to install the AWS CLI on your machine, depending on what operating system and environment you are using:

  • On Microsoft Windows – use the MSI installer.
  • On Linux, OS X, or Unix – use pip (a package manager for Python software) or install manually with the bundled installer.


On OS X, if you see an error regarding the version of six that came with distutils in El Capitan, use the --ignore-installed option:

$ sudo pip install awscli --ignore-installed six

The awscli package may be available in repositories for other package managers such as APT, yum and Homebrew, but it is not guaranteed to be the latest version. To make sure you have the latest version, use one of the installation methods described here.

Install the AWS CLI Using the MSI Installer (Windows)

The AWS CLI is supported on Microsoft Windows XP or later. For Windows users, the MSI installation package offers a familiar and convenient way to install the AWS CLI without installing any other prerequisites. Windows users should use the MSI installer unless they are already using pip for package management.

To install the AWS CLI using the MSI installer

  1. Download the appropriate MSI installer.


    The MSI installer for the AWS CLI does not currently work with Windows Server 2008 (version 6.0.6002). Usepip to install with this version of Windows.

  2. Run the downloaded MSI installer.
  3. Follow the instructions that appear.

The CLI installs to C:\Program Files\Amazon\AWSCLI (64-bit) or C:\Program Files (x86)\Amazon\AWSCLI (32-bit) by default. To confirm the installation, use the aws --version command at a command prompt (open the START menu and search for “cmd” if you’re not sure where the command prompt is installed).

> aws --version
aws-cli/1.7.36 Python/2.7.9 Windows/7

Don’t include the prompt symbol (‘>’ above) when you type a command. These are included in program listings to differentiate commands that you type from output returned by the CLI. The rest of this guide uses the generic prompt symbol ‘$’ except in cases where a command is Windows-specific.

If Windows is unable to find the executable, you may need to re-open the command prompt or add the installation directory to your PATH environment variable manually.

Updating an MSI Installation

The AWS CLI is updated regularly. Check out the Releases page on GitHub to see when the latest version was released. To update to the latest version, download and run the MSI installer again as detailed above.

Install the AWS CLI Using Pip

Pip is a Python-based tool that offers convenient ways to install, upgrade, and remove Python packages and their dependencies. Pip is the recommended method of installing the CLI on Mac and Linux.


  • Windows, Linux, OS X, or Unix
  • Python 2 version 2.6.5+ or Python 3 version 3.3+
  • Pip

First, check to see if you already have Python installed:

$ python --version

If you don’t have Python installed, follow the procedure at Install Python to set it up.

Next, check pip:

$ pip --help

If you don’t have pip installed. follow the procedure at Install pip.

Install Python

If you don’t have Python installed, install version 2.7 or 3.4 using one of the following methods:

On Windows or OS X, download the Python package for your operating system from and run the installer. These installers include pip.

On Linux, OS X, or Unix, install Python using your distribution’s package manager.

To install Python 2.7 on Linux

  1. Check to see if Python is already installed:
    $ python --version


    If your Linux distribution came with Python, you may need to install the Python developer package in order to get the headers and libraries required to compile extensions and install the AWS CLI. Install the developer package (typically named python-dev or python-devel) using your package manager.

  2. If Python 2.7 or later is not installed, install it with your distribution’s package manager. The command and package name varies:
    • On Debian derivatives such as Ubuntu, use APT:
      $ sudo apt-get install python2.7
    • On Red Hat and derivatives, use yum:
      $ sudo yum install python27
    • On SUSE and derivatives, use zypper:
      $ sudo zypper install python
  3. Open a command prompt or shell and run the following command to verify that Python installed correctly:
    $ python --version
    Python 2.7.9

Install pip

Install pip by using the script provided by the Python Packaging Authority.

To install pip on Linux

  1. Download the installation script from
    $ curl -O

    The script downloads and installs the latest version of pip and another required package named setuptools.

  2. Run the script with Python:
    $ sudo python27
    Collecting pip
      Downloading pip-6.1.1-py2.py3-none-any.whl (1.1MB)
    Collecting setuptools
      Downloading setuptools-15.0-py2.py3-none-any.whl (501kB)
    Installing collected packages: pip, setuptools
    Successfully installed pip-6.1.1 setuptools-15.0

    Invoking version 2.7 of Python directly by using the python27 command instead of python ensures that pip is installed in the proper location, even if an older system version of Python is present on your system. If the system version is supported you can just use python. The name of the executable may vary depending on your package manager (for example, python2.7).

Install the AWS CLI Using pip

With Python and pip installed, use pip to install the AWS CLI:


> pip install awscli

To upgrade an existing AWS CLI installation, use the --upgrade option:

> pip install --upgrade awscli

Linux, OS X, or Unix

$ sudo pip install awscli

If you see an error regarding the version of six that came with distutils in El Capitan, use the --ignore-installed option:

$ sudo pip install awscli --ignore-installed six


If you installed a new version of Python alongside an older version that came with your distribution, or update pip to the latest version, you may get an error like the following when trying to invoke pip with sudo:

sudo: pip: command not found

To work around this issue, use which pip to locate the executable, and then invoke it directly by using an absolute path when installing the AWS CLI:

$ which pip
$ sudo /usr/local/bin/pip install awscli

To upgrade an existing AWS CLI installation, use the --upgrade option:

$ sudo pip install --upgrade awscli

Pip installs the aws executable to /usr/bin/aws. The awscli library (which does the actual work) is installed to the ‘site-packages’ folder in Python’s installation directory.

Install the AWS CLI Using the Bundled Installer (Linux, OS X, or Unix)

If you are on Linux, OS X, or Unix, you can also use the bundled installer to install the AWS CLI. The bundled installer handles all the details in setting up an isolated environment for the AWS CLI and its dependencies. You don’t have to be fluent in advanced pip/virtualenv usage, nor do you have to worry about installing pip.


  • Linux, OS X, or Unix
  • Python 2 version 2.6.5+ or Python 3 version 3.3+

Check your Python installation:

$ python --version

If your computer doesn’t already have Python installed, or you would like to install a different version of Python, follow the procedure in Install Python.

Install the AWS CLI Using the Bundled Installer

Follow these steps from the command line to install the AWS CLI using the bundled installer.

To install the AWS CLI using the bundled installer

  1. Download the AWS CLI Bundled Installer using wget or curl.
  2. Unzip the package.
  3. Run the install executable.

On Linux and OS X, here are the three commands that correspond to each step:

$ curl "" -o ""
$ unzip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

If you don’t have unzip, use your Linux distribution’s built in package manager to install it, typically with either sudo yum install unzip or sudo apt-get install unzip.


By default, the install script runs under the system default version of Python. If you have installed an alternative version of Python and want to use that to install the AWS CLI, run the install script with that version by absolute path to the Python executable. For example:

$ sudo /usr/local/bin/python2.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

The third command installs the AWS CLI at /usr/local/aws and create the symlink aws at the /usr/local/bin directory. Using the -b option to create a symlink eliminates the need to specify the install directory in the user’s $PATH variable. This should enable all users to call the AWS CLI by typing aws from any directory.


The bundled installer does not support installing to paths that contain spaces.

To see an explanation of the -i and -b options, use the -h option:

$ ./awscli-bundle/install -h

Install the AWS CLI Without Sudo (Linux, OS X, or Unix)

If you don’t have sudo permissions or want to install the AWS CLI only for the current user, you can use a modified version of the above commands:

$ curl "" -o ""
$ unzip
$ ./awscli-bundle/install -b ~/bin/aws

This will install the AWS CLI to the default location (~/.local/lib/aws) and create a symbolic link (symlink) at ~/bin/aws. Make sure that ~/bin is in your PATH environment variable for the symlink to work:

$ echo $PATH | grep ~/bin     // See if $PATH contains ~/bin (output will be empty if it doesn't)
$ export PATH=~/bin:$PATH     // Add ~/bin to $PATH if necessary


To ensure that your $PATH settings are retained between sessions, add the export line to your shell profile (~/.profile, ~/.bash_profile, etc).

Test the AWS CLI Installation

Confirm that the CLI is installed correctly by viewing the help file. Open a terminal, shell or command prompt, enter aws help and press Enter:

$ aws help

Where to Go from Here

Once you have the AWS CLI installed, you should configure it for use with AWS.

Posted on

Wholesale Plugins

How To Sell to Wholesale Customers with WooCommerce

Plugins: WooCommerce Extensions


Selling to wholesale or resale customers doesn’t have to be complicated. In this tutorial we will show you how to sell to wholesale customers with WooCommerce.

The goal of these examples is to setup a system for accepting new wholesale customers, assigning them to a specific user role, and allowing them to order from your store.


The first step to setting up your wholesale program is to define the terms and conditions for wholesale customers. You can create a normal WordPress page to display the terms so that prospective wholesalers can educate themselves on what to expect.

This page can include sections defining the following:

  • How pricing works
  • What pricing do wholesalers get
  • Is there a minimum order
  • How is shipping charged and to whom
  • What payment methods and terms are accepted
  • How to re-order, or set recurring orders
  • Are rush orders accepted and how to order them
  • What happens if products are damaged or have defects
  • How returns and exchanges are handled
  • What kind of marketing materials are provided to wholesalers
  • Any exclusions or limitations
  • This page is also a good place to put links to a product catalogs and your registration form.


Next, setup a way for people to apply to join your program. You can use a WordPress forms plugin to add a detailed form to your site. Here are three forms plugins:

The purpose of this form is for a prospective wholesaler to introduce themselves and explain their reasons for wanting to join. Be sure to make the application thorough enough to be able to make a decision about the applicant. Here are some sample questions to include on this application:

  • Business information (Company Name, Contact Name, Address, Email, Phone Number)
  • Legal or Tax information
  • Website
  • Description of their business
  • Trade references
  • How did you find us?
  • Where you sell (online, physical store locations)
  • Other products sold

The application form alone will send the applicants information via an email. A step that will improve the automation of accepting wholesale customers is to have a WordPress user created for each person that submits the form.

To do this in Gravity Forms you can use the User Registration plugin so that a user is automatically created when the form is submitted. Caldera Forms had a Users Add-on for creating users. This saves a step and allows you to automatically setup approved resellers.


After a wholesaler is approved they can be setup with a specific user role in the store. Each level of wholesaler will need a separate user role defined in WordPress.  This role will be used in the next step to assign pricing and product access.

You can use the User Role Editor plugin to create and manage multiple user roles. A progression of roles could look like this:

  • Applicant – Default role for companies that have applied to be a wholesaler. No access to discount pricing or special products.
  • Wholesale – Approved wholesale accounts. Access to discount pricing and special products.
  • B2B – Approved B2B wholesale accounts.  Access to B2B specific pricing.

Once companies are approved they can be moved to the appropriate user role to grant pricing and catalog access.


The next step is to assign the pricing discounts for wholesale users.  You can setup the normal catalog of products and use a plugin like WooCommerce Advanced Pricing to set pricing rules that apply to the Wholesale user.  Here are three examples of how the wholesale pricing might be setup.

1. Percentage or fixed discount off the all products in the store

An example of this is to give wholesalers a fixed 50% off the retail price in the store.  Items that are $100 can be purchased for $50.

2. Percentage or fixed discount per product

This is like #1, but would be limited to only certain products in the store.

3. Bulk Pricing

Bulk pricing for wholesalers would offer products at a discount when more quantity is purchased. An example of this is:

  • 1-500 items for $20 each
  • 501 – 1500 items for $15 each
  • 1501 – 5000 items for  $9 each


If not all products are available for wholesale pricing you may want to draw special attention to the ones that are. WooCommerce Advanced Product Labelscan be used to add a “Wholesale” label to products that have wholesale pricing and have the label display only to products with a specific tag.


Because they buy in bulk wholesale customers may have different payment terms. They can be required to pay in full for orders when they are placed, or a plugin like WooCommerce Purchase Order can be used to allow placing an order by supplying a PO Number.


That’s it! Those are the only steps needed to get you up and selling to wholesale customers. If you have any questions let us know in the comments below, and here is a list of the plugins we referenced in the article.

1. Forms plugin

Ninja Forms  (free)
Caldera Forms  (free)
Gravity Forms

2. User Role Editor plugin (

3.  WC Advanced Pricing (

4. WC Advanced Product Labels (

5. WC Purchase Order (