Skip to content

Build Your Own Amazon Niche Store

amazon-logo Update: The Amazon Niche Store has been superseded by the Free WordPress Store for Amazon Associates. Redirecting you in 5 seconds…

Given that I recently had some success with my free eBay Store, I decided it would be a good idea to put together a similar WordPress plugin for I’m pleased to present the Amazon Niche Store plugin. So why should you consider building a niche store with Amazon instead of eBay?

I believe that my Amazon Niche Store plugin has the potential to make more money than my free eBay Store (or BANS, phpbay, and the like) for a few reasons:

  • If you sell eBay products, those that bid through your blog need to have the winning bid for you to get paid.  With the Amazon Niche Store, you are awarded the commissions as soon as they buy the product.  You don’t have to worry about them winning a bid for you to get paid.
  • If the items you sell are more than $75 or so in value, you will receive higher commissions selling them on Amazon than you would on eBay.  Amazon pays a flat minimum of 4% on the sale price, whereas eBay pays on a minimum of 50% on the fees collected for the listing.
    Sale Price Commissions
    eBay $150 50% of $8.57
    ($2.00 listing fee + $6.57 sale fee)

    = $4.28
    Amazon $150 4% of $150 sale price = $6.00
  • You can sell digital products on Amazon (downloadable music, video games, videos, books, etc.) and receive 10% commission on those sales.

You can display an Amazon Niche Store within posts, pages, as a widget, or any combination of the three.  For example, if you have a video game blog, you may want to display a post or page with Wii products.  You could use the following short code:

[amazon trackingid="yourtrackingid" keywords="wii" rows="3" columns="2"]

And here is what the store would look like:

[amazon trackingid=”gee0dd-20″ keywords=”wii” rows=”3″ columns=”2″]

There are two conditions you should be aware of when using the plugin:

  • The store displays a link back to this page.  This helps to spread the word about this great plugin so that others can take advantage of it.
  • Your tracking ID is used 90% of the time, and the other 10% my tracking ID is used.  This will allow me to be compensated for my efforts, and help me spend more time making even more great plugins.

These conditions are subject to change at any time. By downloading, installing, and activating the plugin you agree to these terms. If you do not agree to these conditions then do not use this plugin.

To get started, you will first need to sign up as an Amazon affiliate (this absolutely free).  Once you’ve signed up or if you’re already signed up, create a new tracking ID to use with your Amazon Niche Store.  Then download, install, and activate the plugin.

Download the Plugin

Once installed and activated, write up a post or page where you wish to display an Amazon Niche Store.  Use the following shortcode (put it all on one line):

[amazon trackingid="YourTrackingID" keywords="Product Keywords" rows="RowCount" columns="ColumnCount" pagination="yes" logo="white" customcss="someuniqueidentifier"]

trackingid and keywords are required parameters. Use spaces between the keywords. columns and rows are optional, and the store plugin will default to 2 columns x 5 rows (10 items in total). The product display on a single page is limited to 30 products (and 50 products in total, if pagination is used).

The pagination, logo, and customcss parameters are also optional. The pagination parameter will allow the display of multiple pages of products when set to yes. You can see this demonstrated on my Amazon Niche Store demo page. You can set the logo parameter to white, black, or none to customize the display of the Amazon logo.

The customcss parameter allows you to customize the look and feel of your store.  By default, the product display mimics that of  The product display uses custom css classes, and the customcss parameter you specify will be added to the custom class names.  For example, if you set customcss=”mycustomcss”, you can specify the CSS for the following classes:

  • amazon-store-mycustomcss : This is the style for div that encloses the entire store
  • amazon-store-mycustomcss-title : This is the style for the title
  • amazon-store-mycustomcss-manufacturer : This is the style for the manufacturer
  • amazon-store-mycustomcss-price : This is the style for the price
  • amazon-store-mycustomcss-view-details : This is the style for the view details link
  • amazon-store-mycustomcss-footer : This is the style for the footer displayed at the bottom of the store

The display of a store as a widget makes use of this feature, and the customcss parameter is set to sidebar.  So you will need to specify the CSS for amazon-store-sidebar, amazon-store-sidebar-title, amazon-store-sidebar-manufacturer, amazon-store-sidebar-price, amazon-store-sidebar-view-details, and amazon-store-sidebar-footer to customize the look and feel of the widget. The default css customizations for the widget are very similar to those for a regular store, but they have been tweaked a bit so that they will probably look a bit better for sidebar displays.

You can also set customcss=”none”.  This will prevent the customized CSS from being displayed inline on the web page.  If you’re displaying multiple stores on the same page, I would recommend you set customcss=”none” on all but one of the stores, to prevent repetitive CSS declarations.

If you set customcss=”none” you can specify the css for amazon-store, amazon-store-title, amazon-store-manufacturer, amazon-store-price, amazon-store-view-details, amazon-store-footer yourself.  You can also not specify them at all, in which case the store will take on the style of your blog.

Much of the plugin code for this plugin is based on the code I used for my Free eBay Store. The server-side code was a bit different since Amazon has their own API for retrieving product information. However, I did manage to find a great PHP library for Amazon called Tarzan.

Tarzan definitely helped to reduce the amount of time it took to develop the plugin. My favorite feature of Tarzan is the ability to make parallel requests to Amazon. If you are interested in developing your own Amazon applications in PHP, I highly recommend taking a look at the Tarzan library.

Good luck with your own Amazon Niche Store and happy affiliating! If you have any suggestions for the plugin or encounter any bugs, please feel free to comment on this post.

113 thoughts on “Build Your Own Amazon Niche Store”

    1. It definitely wouldn't hurt to try it out and see how you do. I think a
      niche like wedding planning is well-suited for monetizing with my niche
      store plugin.

  1. Pingback: Plugin To:Maintain Your Amazon Product Sales..! |

  2. Pingback: WordPress Plugin Releases on 06/24 | Weblog Tools Collection

  3. Can't say i'm down with you throwing up all that junk at the end of the widget

    “Powered By the Amazon Niche Store and Tarzan
    Amazon and the Amazon logo are trademarks of, Inc. or its affiliates” and the big huge banner too…

    it really makes the plugin useless as it's way too spammy on the “credits”

    You should make it an option to display all that information at the end of the plugin and not force it on everyone.

    This plugin could of been good, but due to this small fact, it's a huge fail.

    To anyone who wants to download this beware, you will have to live with a HUGE amazon banner + “Powered By the Amazon Niche Store and Tarzan
    Amazon and the Amazon logo are trademarks of, Inc. or its affiliates” all over your blog.

    1. You can disable the Amazon logo by using the parameter logo=”none”. The
      “Amazon and Amazon logo are trademarks of, Inc. or its
      affiliates” line must stay in order to remain in compliance with Amazon's
      affiliate program terms of service. I used the Tarzan Amazon API library in
      order to develop the plugin and they deserve credit for the good work they
      do. The Amazon Niche Store line is there for SEO purposes for my plugin.

      I'm sorry to hear you are displeased with these conditions, but I have
      stated them very clearly. If you don't like them then don't use it.

      1. I hope I say it nicer, but I'm unable to use this plugin for the same reasons. There's way to much going on in this plugin that encourages whatever readers I get to surf away from my site without me getting anything out of the deal.

        A small time blogger needs to focus on pushing her own site, and your links are just garishly blatant – it honestly makes my site look like a feeder for yours and not a separate entity. A big time blogger is probably not going to use your plugin at all.

        It's not at all fair that you're getting PAID (at least 10% of the amazon referrals will be with your aff id, so IF your plugin makes sales for us it will be making sales for you too), -and- you're able to steal my visitors (and get Pagerank). That's not usually how these things work. Frankly, that's why phpBay makes so much money.

        Also, from Amazon's operator agreement: 8. Identifying Yourself as an Associate (snip) We will make available to you a small graphic image that identifies your site as a Program participant. You must display this logo or the phrase “In association with Amazon” somewhere on your site. (snip)

        Amazon only requires that disclosure ONCE, not on every page and post. Which means I can include it on my Privacy Policy page, along with my Adsense Disclaimer.

        Then there's Tarzan. First, is Tarzan even still the name? I thought it was cloud something or other now. Second, it's open-source. I have not read the terms, but I do not think link love is REQUIRED. Give it credit in the admin section then.

        Isn't the point of this plugin for ME to make Amazon sales, and for you to get a cut? Not for every reader of my site to get distracted by your plugin credits and then LEAVE my site and get a copy for themselves? Or go to Amazon directly? Or go to the Tarzan site? I can't make referrals if my readers leave, which means that out of you, me, Amazon and Tarzan, I'm the biggest loser. I lose a visitor, I lose a sale, I give my competition a new tactic, and maybe all three.

        This plugin can either make both of “us” money, or it can give YOU pagerank and 10% of whatever's left over.

        I'm willing to consider trading 10% of my potential sales for the sake of convenience, but part of my potential sales and potentially a major part of my miniscule traffic?

        That's not convenient at all.

        And I'm not accusing YOU of this at all, but there have been problems in the past with other plugin writers who hosted code on their own servers that “skimmed off the top” a bit more than they said they would.
        Have you considered an either/or setting? Either you get dofollow linklove OR you get a cut?

        I hope you can understand my concerns, and know that I don't mean at all to be offensive. But these are things that we all have to consider; both you as the plugin provider and the rest of us as potential customers or even “partners.”

        1. Thank you taking the time to share your concerns and suggestions, I do
          appreciate them. First let me address the issues you mentioned regarding
          the Tarzan and Amazon terms and conditions.

          I do not believe that Tarzan requires any link love or even mention of its
          use, but I felt compelled to do so. Without the Tarzan library, it would
          have taken a bit more work for me to develop my own library for
          communicating with the Amazon API. The code probably would not have been as
          efficient without it either. Now that you mention it, there is currently no
          mention in this post that I used Tarzan to develop the plugin. I will be
          sure to update it accordingly.

          Of course one could make the argument it is much easier to share link love
          when it someone else's link love you are sharing, and I wouldn't dare
          dispute that. However, I decided that if I was going to share your link
          love with my site, it would only be fair to share some with Tarzan as well
          since it also played a part in the development of my plugin.

          According to the Amazon terms, you are correct, the logo or phrase only
          needs to be placed on one page within the website. However, given that I
          will be splitting 10% of the impressions with other blogs, I need assurance
          that it will indeed be displayed each time my ID appears.

          As to the issue of displaying backlinks as well as taking 10% of the
          impressions, I've decided it is worth doing so at this point in time. I do
          realize there are many such as your and fallman that will be unwilling to
          accept these terms. However, I believe it is worth the risk of losing some
          plugin users when there are others willing to accept my conditions.

          The either/or option is a good suggestion, but it is not something I'm
          considering at this point in time. However, you do have me considering the
          development of a competitor to phpbay and BANS and undercutting them by
          offering a less expensive alternative. Essentially it would function in the
          same manner, but without the backlinks and 10% impressions. You may have
          just given me my next project. 🙂

  4. This might be a great way to make money. Seeing as Amazon already provides the means to sell stuff, all you need to do is just take care of the merchindise. Great tutorial.

  5. By the way what's this code for in the plugin;

    $storeurl = “/tools/amazon/amazon.php?trackingid=$trackingid&rows=$rows&columns=$columns$pagination$customcss$logo&keyword=$keywords”;

    1. The store is generated on my server. All the parameters for the store display are passed from the plugin to my server. My server queries the Amazon Product Advertising API to retrieve the information according to the parameters passed to it, passes the store contents back to the plugin, and the store is displayed.

      You can actually see what the outputted HTML looks like if you visit a URL that will generate a store. For example:


  6. Pingback: Build Your Own Amazon Niche Store | WordPress News - New WordPress Themes

  7. Pingback: Plug-In of the Day (#0008) | WordPress of the Day

  8. Hi there,

    I get the following error, any idea what I need to do?

    Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/bluedigi/public_html/ on line 60

    Warning: file_get_contents(/tools/amazon/amazon.php?trackingid=shurv456-21&rows=2&columns=5&pagination=yes&pagenumber=1&logo=none&keyword=rucksacks) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/bluedigi/public_html/ on line 60

      1. Thanks for the reply. I'm no programmer, but the bit of code suggests a setting can be disables/enabled, any ideas what this would be? I use Cpanel, so a fairly common set up.

        1. Unfortunately it isn't something you can enable within cPanel (as far as I know). You may want to contact your hosting provider and show them the error, and ask if they can install/enable the appropriate PHP modules for retrieving remote content.

          1. Hi,

            I got in contact with my host, and they had disabled some php settings for security reasons. It's working a treat, many thanks for your help.

    1. Yes, I perform the authentication and everything with my own application ID.
      This makes it easier for my users to install and use the plugin, as they do
      not need to apply for an Application ID and provide authentication
      credentials. All they need to do is supply the tracking ID, which I pass
      through to the store output 90% of the time.

      1. cool thanks for the fast response so i just have to sign up to amazon associaties and get my id no access keys and use your plugin
        thank you

  9. Pingback: Top 1000 WordPress Plugin Authors « Metode de promovare

  10. Hi there. Congrats on the great plugin, it's useful and simple… and free!
    I have a question: is it possible to search for multiple keywords? Like for example to put the top 5 products of your choice. Putting up a separate search for each brings up the footer every time, and showing the same footer 5 times in a row isn't exactly nice.

      1. Thanks for the quick reply. I managed to put god old fashioned images with links – little extra work but managed.
        Thanks anyways, still a great plugin for a free one!


  11. Hi,

    i have set the amazon store up on a 3 or 4 diff. blogs without issue. But today, using same blog theme, same copy of plug in, smae servers, it refuses to wok. Nothing shows either as a widget or in post. What could be wrong?

    1. I'm not sure. There may be an issue between your host provider and my host.
      Is the plugin generating any kind of error? Can you provide me with a URL
      for one of the blogs?

                1. The only thing I can think of is that if they are on different servers, the
                  other server(s) may not be configured to allow the retrieval of remote
                  content. You may want to your host's support to see if they might be able
                  to help you resolve the issue.

        1. Is it possible for you to add the ability to filter results by category as well? I find that filtering only by 'keywords' is not producing what should be presented.

          For example, if I designate 'lighting' as my keyword, I do get lighting & lights, but I also get everything acroos the board, such as from clothing. Should I then filter more by using 'lighting fixtures' I do indeed now exclude clothing and other, however, I have also lost a great deal of 'lighting' items.

            1. From my experience results are much better with Amazon. I often see order of product directly from Amazon, although a marketplace seller is cheaper. People trust them, they know they'll get their orders fast and they know the customer support is pretty decent.

        2. Hi there. I am having problem displaying the astore. I paste the codes that you posted exactly. I've edited the kewords, rows and columns and I've included my tracking ID. But, it does not show up at all.. I had installed and activated the plugin by the way. Any advice?

          Thank you in advance

            1. Is there not anyway to adjust this because you don't want the visitor to leave your site if they are just browsing and having a window open up is a way to prevent it. Another plug-in I was using was opening a window and also if you place any amazon astores & widgets on your site they automatically open a new window. I think this feature is necessary and would be great if you could add it.

            1. Ahhh … so I was about to post a question about products and keywords. I have made several pages with particular topics and a few of the pages display few if any titles. A comparable search directly on amazon displays multitudes of titles. So, if the “plugin works by pulling the products from my server” its not pulling the titles from amazon? How am I supposed to sell anything if my keywords are being filtered? Here is my example:

              For example, a search on amazon for quickbooks yeilds 50 items; yet the same keyword in the plugin yeilds zero results.

              Or, is there some other issue involved?

          1. Somewhat. I think the idea is great, however, it lacks some customization…larger pics, etc. Additionally, I think you can ultimately confuse a visitor by presenting so many options. Overall though, it provides me an opportunity to dynamically present items in a consistent manner.

            I wish the developer would come up with something similar to reviewazon:

            1. Hi GreekLad, I know and i copy the code put in my site but it appear the code instead of amazon product.
              I copy the following code:

              “trackingid” => “MyId”,
              “keywords” => “Product Keyword”,
              “rows” => 3,
              “columns” => 4,
              “pagination” => “yes”,
              “customcss” => “none”,
              “logo” => “none”

            2. Pingback: INB347 – – Leveraging the long tail « The Mecha Mash

            3. Yea, I had an amazon niche store selling non-nicotine, electronic cigarettes. They closed it down and dont allow the sale of e-cigs even if its a non-nicotine product. I think its due to a few bad apples but hey, its the way the ball rolls.


            4. Hi Geeklad, So whats the catch? is this plugin absolutely “free” or is there a certain percentage that sneaks your affiliate ID into our code? Would not mind if it did, you have a wonderful plugin. Just would like to know.

              Thanks for the hard work!


              1. I'm not sure why it isn't yielding results. I have seen situations where
                the Amazon API provides slightly different results than the Amazon web
                search, but usually there's not a problem with few results unless it is a
                set of very obscure keywords.

                1. Here is the code I am using on my “Business Library” page that is generating ZERO results. [amazon trackingid="transmuscienc-20" keywords="quicken, business, intuit, quick books, quickbooks, marketing, internet marketing, business advice, business plans, marketing, small business, business guide, marketing plans, growing a business" rows="6" columns="3" pagination="yes" vertical="yes" logo="none"]

                  Is there something in my code that is prohibiting results? I'm going to have to take this page and the “Graphic Design Library” down if there's going to be no results.

                  1. You have too many keywords. The search looks for all of the keywords, so it
                    is unlikely any product is going to have all of the keywords you're seeking.
                    You need to narrow down the search terms to those that go together. I
                    would suggest setting up a different page for different types of products.

            5. Pingback: Mattress Protectors | Reviews of mattress market

            6. Pingback: Samsung Monitor | Perfect Monitor Today

            7. Got this error below. So, i have to find another hosting?


              You don't have permission to access /tools/amazon/amazon.php on this server.

              Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
              Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/ Server at Port 80

              1. No the problem is on my end. I'm afraid my script was causing issues w/ my

                host, so they have disabled the script. I'm afraid the plugin may be dead,

                until I can come up with an alternative solution. 🙁

                    1. It's a shame, I recently found this plugin and is exactly what I have been looking for.

                      Regardless, it looks like you helped a ton of people with it during its time, so feel proud! As much as I do hope you can find a fix someday, we always have more important things to be doing! Good luck, sir!

              2. Now that you have identified your niche and the product you are going to promote you now need to identify what your target buyers look like. releaseequity Take golfers for example. If your focus is electric trolleys then the chances are that your target buyer will be over 45 and a member of a golf club. If your niche is golfing waterproofs then you you need to identify who your target is and when they are likely to buy.

              3. Pingback: Amazon Affiliate Plugins für WordPress Teil 1 | Blogging Inside – Erfolgreich Bloggen und Geld verdienen

              Leave a Reply

              Your email address will not be published. Required fields are marked *