Editor's note: In the immortal words of Kansas, "All we are is dust in the wind"; in the case of this post, several key components to this process are no longer viable. Kimono Labs shut down their scraping product, and the Xpath used is now out-of-date due to the frequency of Amazon's HTML/CSS updates. For more awesome info on how to rank well in Amazon, check out Nathan's earlier post on the subject. :-]
Do you want a free tool that tracks your organic search rankings in Amazon? Yes? You're in luck.
I am going to show you how to build your own organic search rank tracking tool using Kimono Labs and Excel.
This is a follow-up to my last post about how to rank well in Amazon, which covered the basic inputs to Amazon's ranking algorithm. It received a lot of comments about my rank-tracking prototype in Google Docs; the Moz community is overflowing with smart people who immediately saw the need for a tool to track their progress. As luck would have it, something in Google Sheets broke the day after I published, so I had to replicate the rank tracking tool in Excel using the SEOTools for Excel plugin. The Excel tool is a low-setup way to record your progress, but if you want to track more than a few terms, it is very laborious. I've since built a more (but not completely) automated, scalable way to track rankings using Kimono Labs to scrape the data and Excel to run the reports.
(Shout out to Benjamin Spiegel for turning me on to Kimono Labs through an excellent Moz post.)
Pros and cons of rank tracking
The death of Google rank tracking has been widely reported, so I feel compelled to review why Amazon rank tracking is both useful and a terrible KPI.
Amazon rank tracking is great because…
- You get feedback on your content optimization. How else are you going to determine if your content changes actually produce a positive effect?
- It can provide a possible explanation for increases in listing traffic and sales. Amazon doesn't provide traffic source data so you're often left guessing about the source of changes.
Amazon rank tracking is a terrible KPI because…
- You have no way of assigning a monetary value to a rank. Amazon does not report on search query volume, you don't know how well your users convert for each keyword, you don't know the click-through-rate at each position, and you don't know what percentage of users use organic search vs. other methods of finding your product.
- Many factors besides rankings will drive your success on Amazon. Inventory outages, winning the Buy Box, and a good seller rating will impact sales drastically and directly. You can even assign revenue and profit numbers to some of those attributes.
So use rankings as a leading indicator of traffic and sales improvements and to see if your changes are making a difference.
Overview
To build our rank tracking tool, we're going to
- Build a scraper for Amazon search pages and schedule it to run every day
- Transform the data into a more user-friendly format
- Build some useful reports with pivot tables and pivot charts
Build the scraper
Extract structured data from an Amazon search
Kimono Labs has some great documentation on using their tools. If, at any point, you get lost or want to do something slightly different from my scraper, you can find their documentation here. I'm going to show you the fastest way to copy my existing scraper so you can get up and running as quickly as possible.
After you create an account with Kimono Labs and install their bookmarklet or Chrome extension, the first thing you need to build a scraper is a URL to start scraping. I'm using this search in Amazon as my start URL: https://www.amazon.com/s?field-keywords=juicer. It's a basic keyword search for the word "juicer."
Click on the Kimonify bookmarklet, then click on the data model view.
Then click on Advanced
We're going to make two properties.
To make things faster, you can copy the Xpath I use to identify the listing title and the ASIN (Amazon's unique product identifier) from here:
Listing: div > div > div > h3 > a
ASIN: div > div.prod.celwidget
Next we'll select which attributes to scrape from the elements we identified with the XPath. For the Listing property's attributes, we'll select the Text Content and href then click Apply.
For the ASIN attribute, we'll select id and name. Deselect the other attributes that are selected by default, then click Apply.
So long as Amazon hasn't changed the number of results they display by the time you are reading this, the two yellow circles at the top of the toolbar will say 15. That means that for each property defined, Kimono Labs has identified 15 different instances on the page. Does your screen look like this? If so, click Save.
Give your scraper a fancy name, tag it if you want, and decide how often you want it to run. I set mine to run daily. Kimono Labs will store a new version of the data every time it runs so if you don't record it one day, the older data will still be there. I could have it scrape hourly but then it's more laborious to go back through the data and find the version I want to save.
Click on the link to view your scraper. To verify that the data is gathering correctly, click on the Preview Results tab and select the CSV endpoint. You should see the title in the Listing.text field, a link to the listing in Listing.href, the ASIN in ASIN.name, and the rank in ASIN.id.
Finally, to make sure that Kimono Labs is gathering and saving data correctly, go to the API Detail tab and switch Always Save to On.
Then go to Pagination/Crawling and make sure crawling is turned on.
Congratulations! You just made a scraper that will record the ranking of every product for the keyword "juicer" every single day!
Which types of searches do you want to monitor?
There are many types of searches in Amazon. You can search for a keyword, brand, category, and any combinations of those. I'll explain the URL parameters used to generate the searches so users can track whichever ranking is most important to your business. You will use these parameters to construct your list of URLs to crawl in Kimono Labs.
To start with, this URL can be used as a base for all Amazon searches: https://www.amazon.com/s. We will add the parameter name-value pairs to the end to construct our search.
Name | Example Value | Description |
field-keywords | Juicer | Add any keyword that you want to track |
field-brandtextbin | Breville | Add any brand name. It must exactly match the brand name listed for the product in Amazon. |
node | 284507 | Amazon's ID number for a category. You can look through this list of Amazon's top-level category nodes, download the most relevant Browse Tree Guide for every node, or simply navigate to the category and find it in the URL. |
page | 2 | If you want to scrape beyond the first page, you'll need to list a new URL for every page you want to scrape. |
As an example, here's the search for the keyword Juicer, with a brand name of Breville, in the Food & Kitchen category, page 2.
https://www.amazon.com/s?field-keywords=juicer&field-brandtextbin=breville&node=284507&page=2.
Here are a few notes that will be helpful (even critical) as you construct your searches.
- Place a question mark (?) before your first parameter
- Separate subsequent parameters with an ampersand (&)
- You cannot search for a brand by itself; it can only be used in conjunction with a keyword or a node. I don't know why.
Once you create every search URL, add them to the "List URLs to Crawl" field in Kimono Labs on the Pagination/Crawling tab.
Transform and store the data in Excel
Now that we're scraping and storing rankings data for your searches every day, we want to display the data in a useful format. You could talk to a developer to hook into your Kimono Labs API, or you can download the data as a CSV and store it in Excel.
I'll use this Excel template to transform my data into a more readable format, store the data, and create reports.
Transform
First, download the data from your Kimono Labs endpoint or results preview.
Paste the data into cell A2 of the Excel file. If the data ends up filling only the first column, go to Data >> Text to Columns. Select Delimited, click Next, select Comma, and click Finish. Your data should end up looking like this.
I use the table on the right to transform the data in a few key ways. I'll explain each.
ASIN: I don't transform this data; I just copy it as is. If it shows a number instead of an alphanumeric string, that's an ISBN. It's probably a book, movie, or cd that's ranking
Title: Again, I'm not transforming the title, just copying it over.
Keyword: The keyword is included in the Listing.href on the left as part of the URL. I made a really long formula to extract just the keyword and replace plus symbols with spaces.
Date: This uses Excel's TODAY() function which simply returns the current days date. If you're adding data that is from a previous day, replace this date with whichever date is correct.
Rank: I remove the "result_" from the beginning of the ASIN.id field on the left and add one since the rankings start at zero.
Store historical data
If you continue adding data day after day, you can begin to see a change in rankings; copy the data from the table on the right (not the headers).
Then go to the Historical sheet and paste values at the bottom of the table. You just want to paste values, not formulas:
The table should automatically expand to include the new data. If not, click on the corner of the table and drag it down to include the new data. Next, click on the Data tab in the ribbon, then click Refresh All; the pivot tables in the Table and Graph sheets will now include the new data.
Build some useful reports with pivot tables and charts
In the Excel Template, I added a Pivot Table and Pivot Chart that you can use to report on the Data. The Historical data sheet has six days of rankings data. You may want to skip this section and just watch Annie Cushing's videos on creating pivot charts and pivot tables. Once you are comfortable with pivot charts and tables, you can look at the data however you want.
Here are a few useful rankings charts and tables I use to look at rankings data. I've included the visualization as well as my settings in the screenshot.
All ranked keywords for a product over time
This chart displays all the keyword rankings for one product over time. I use the ASIN to filter the chart instead of the title, because the title for a listing can change over time but the ASIN won't. This product ranks for both of our keywords and has moved around slightly throughout the six days we've tracked (there are no rankings on 7/31 and 8/1 for "masticating juicer" because I was not scraping data for this keyword on those days).
Two competing products for one keyword
This chart compares two products for one keyword. If you are monitoring a key competitor or have multiple products for your brand, this is a useful view. I used the filters to select the keyword "juicer" and the two products.
Rank by day
To quickly pick out which products improved or lost ranking over a time period, I use a table. In the row labels I group each rank by keyword then ASIN. I add Title below ASIN so I can recognize which product is moving up or down.
To the right of the table, I added a formula to subtract the rank on 8/2 from the rank on 8/5 (=G7-D7). To make it more obvious which products improved and which did worse, I added conditional formatting to highlight negative numbers with red and positive numbers with green.
Is there another view you'd like me to demonstrate? Ask me in the comments.
Limitations
This system for tracking and reporting rankings is not perfect.
You must manually download the data from Kimono Labs to Excel to run a report. That's a bit clunky. This process could be automated with some code.
Kimono Labs is still in free Beta so stability is an issue. Scraping, as a general rule, fails fairly often and I've experienced spotty page loading. They allow you to scrape and store an impressive amount of data for free though. If you know of a better, free tool be sure to let everyone know in the comments.
Excel itself is a limitation. If you get beyond 500,000 rows of data it will start to crawl. That may sound like a lot, but if you want to track 5 pages of results for 100 keywords every day, you will generate 8,000 rows of data per day. Excel is not a long-term solution.
My company is working on a rankings tool that will address all of these limitations, but it is a couple months away. If you want an email when it's ready, fill out the form here. For now, I'm living with the limitations of this system and getting some great insight.
Questions?
This post has a really long list of steps so if you have an issue, let me know via email (my first name @dnaresponse.com) or in the comments.
Really nice report, Nathan.
But I personally think that this is a really complicated method, and you (of course totally unaware of this) just promoted your soon-to-come tool which makes this easier, right? :P
Hey @Michael. Not so complicated I would say :)
@Rank If I was CEO of a softwareproduct that visualizes complex Data I would say so as well ;)
Btw. tried to write an OLAP software for visualizing complex data once, it was horrible. :P
Hi Michael,
If Amazon is a key sales channel for your business, it's worth the extra effort to build a tool like this.
Yes, we're building a more automated tool to sell. As you pointed out, building your own has its challenges and it still isn't fully automated. I'm aware that this post should help my company sell a few more subscriptions. Since this post went up, we've had 16 people express interest in the tool when it becomes available. Hopefully this reinforces the ideas behind content marketing where publishing quality content with great distribution helps your business while helping your target market.
Worry not, we just released an Amazon keyword rank tracker for the public: https://www.AMZtracker.com
AMZtracker.com tracks keywords, sales rank and trends. It also has a built in Amazon keyword tool. We are currently offering some free accounts if you want to check it out. Email me at [email protected] if you have any quesitons.
This could come in handy for Ecommerce sites who utilise selling on Amazon as part of their strategy. Optimising Google and Amazon shopping is something that can be tricky. Reviews seem to be the strongest ranking signals (once shopping/merchant campaigns are properly optimised).
Not sure why, but I do not see an option to select href for Listing or id and name for ASIN. I just see an option for "Text Content" and "Include Hidden Elements"
Same for me
I would say great scrapper. I personally use import.io for the same thing. We need an advance tool now which have scrapper and data visualization facilities so that we don't have to do the things back and forth.
This is a great use of Kimono Labs' scraper tool, Nathan. I've been using it to create some "Goodies" for DuckDuckGo, but never thought of a simple ranking tool like this one on sites like amazon, etc. Another great idea would be to do this to track rankings on local sites!
And it's nice to see I'm not the only one that's dealt with page load issues and bugs with Kimonify. The downside to the beta version, I suppose.
Nice work!
Depending on your vertical, there could be a lot of different rank tracking tools to build. In eCommerce, there are many product search engines that can be important like eBay or Shopping.com. You could do the same kind of thing for Yelp or for Tripadvisor.
Thanks for the shoutout, Nathan! Happy to see marketers using my resources to make their data sexy! :)
Thanks to you for making such great resources to link to. If I also had to explain how to use pivot tables and pivot charts I don't think this post ever would have been finished.
Data must be compelling and easy-to-understand to be of much use.
Great little tool there! Now we just have to stop stock "DISSAPEARING" from clients stock and reapperaing in Amazon stock and we should all be in a good place!
Wow.. Amazing guide to build a amazon rank tracker. Never thought it was so easy.. Thanks for sharing.. :)
Hi there,
Thank you for creating such a detailed guide. I did however run into some issues.
I successfully created two properties "listing" & "asin"
but when I try to select attributes for ASIN, i no longer see "ID" & "Name"
please advise.
Thank you.
How can we see backlinks from other domains in Google Analytics tool?
Don't bother. Use OSE, Ahrefs or Majestic. They show more.
The method seems complex enough for me. But I'll try it, especially as I need it because the site which I am the co-founder observes the same business model as Amazon, with some differences.
I'm rather late to the game with this, but I can't get past the first steps because the
"Listing: div > div > div > h3 > a ASIN: div > div.prod.celwidget " code doesn't seem to work. Has it changed?
Thanks a lot!
It has changed! I figured it out for the current Amazon layout. If you use Listing: "div.a-fixed-left-grid-inner > div.a-fixed-left-grid-col.a-col-right > div.a-row.a-spacing-small > a:nth-child(1).a-link-normal.s-access-detail-page.a-text-normal" you can return the Full title of the product, and for Asin: "#s-results-list-atf > li"
Thanks for this! I wasn't aware of Kimono's tool until I read your article. I've been considering branching out with more and more products in Amazon which would make it a bit time consuming to check manually. This comes at a great time. I really appreciate this article, and I would enjoy seeing more on Amazon specific marketing if you got em.
Hey Nathan,
How's the development going for the Amazon tool MOZ is working on?
Great tutorial! This is incredibly helpful to know if my products are doing well within the Amazon search. With so many products on Amazon, it's difficult to figure out if a product is actually being searched or if tweaks need to be made. This tool definitely helps out in that regard. A lot of people use Amazon as their primary marketplace and without a public tracker, this becomes the next best thing. This is imperative for anyone who is serious about growing their online business and their overall consumer reach. Optimization is key and with this tracker a seller can do exactly that. Can't wait to see how this affects small and medium sellers (and even bigger ones!).
Did you create this and does it work? Thanks.
Excellent guide Nathan
Hmmm, not working for me. Neither the listing string or the ASIN string stick. Kimona just spits them out.
Can someone provide the new xpath for the ASIN?
Amazing Tool!
I love it Kimono tool, I want practice with this tool in Amazon Marketplace,
Good Work!
This is great.. although i need some help please:
When i click to add a second property it creates the property in another collection, should it not add the property to the same collection?
//This system for tracking and reporting rankings is not perfect.//
This one line is somewhat discouraging and that too after following all these steps (they actually not going to be easy), But I still believe its worth a try. After the death of Google Ranking system, let us get something better from Amazon.
Thanks for the detailed well drafted article Nathan.
A little complicated but if i get it working - is cracking tool. thanks for giving me extra work!
Let me know if you get stuck anywhere. I'd be happy to help out.
Wow. The largest search engine for products has a rank tracker. This is huge for anyone in e-commerce selling on Amazon. Search results skew behavior so much, especially when it comes to products. If your ranking is higher in Amazon consumers will automatically assume that your product and pricing is superior to the competition.
There's a lot of potential. I'm still working on the business case for organic rankings. Tracking rankings data was the first step. Now I'm digging into the search volume, rankings, and revenue data to see what I can find.
This is great man, thank you. You have no idea of how bad I've needed this!
Great article, im gonna give it a try, tnx for sharing! :) are the results something like the importxml for google spreadsheets? looks like similar awsomness :) thanks again!
Yes, it's similar to importxml in Google sheets. I'd been having a lot of trouble with that function lately which is why I went searching for another solution.
Oh my,.. This is like hacking the hacked. Great content Nathan! Using the Amazon search data. Cool!
Amazon is worlds leading E-commerce portal, most of us are using Amazon. In that scenario of-course its an useful post. Everything is going online and we can't ignore the interfere of e-commerce in our life. Either today or tomorrow, this post will practically help us..
Thanks for this how-to. I'll be building out some rank trackers today. Another related Amazon scraper that would be useful is a "Product Review" scraper. Since reviews influence rank/conversions/etc., it would be useful to see how many reviews a product has, breakout of star count (1star, 2star, etc.), etc by day. You'd likely start to see a correlation between the reviews and the ranking of the products. You could also see when reviews are added and take action (respond).
The number and frequency of product reviews can also correlate with sales since a product that sells more units will get more reviews. That'd be a great scraper to build.
You can get reviews, for books and ebooks anyway, by setting up an AUTHOR PAGE on amazon - they also have their own sales and ranking tracking relative to other sellers - helpful but some limitations
Good post and great work using Excel! I love Excel for SEO tracking purposes, and especially ranking work sheets. Keep up the good work!
Pivot tables and charts are great for viewing data in new ways. When i use data tools that offer great charts and graphs pre-built, I often export all the data and dig through it in Excel. I can't recommend enough Annie Cushing's videos about working with Excel. I included them in the article but here they are again:
https://www.annielytics.com/blog/excel-tips/how-to-...
https://www.annielytics.com/blog/excel-tips/how-to-...
Great, thank you for that. I will definitely check it out!
Thanks for the share Nathan. For an ecommerce customer/client with product listing on Amazon.....rankings on their are HUGE.
You hit page 1 or better yet top 5 during a big retail season for that product and the ability to be found goes up exponentially and can have a direct impact on sales.
The first step is actually building the Amazon tracker.....the next steps are how to influence those rankings.
Yes, influencing rankings is the first step. I wrote about it here
Great article - I am going to give your tutorial a try this evening.
I did want to mention that Amazon Retail Analytics Premium does report out on search query volume as well as conversion rate and traffic numbers, however I realize most businesses do not pay for this level of analytics.
You have took an example of Amazon which is a huge shopping site. What about other kinds of websites? Do we need the same strategy for every kind of business website?
If there's a site that ranks your stuff vs. other people's stuff and it's really important to your business where you rank and you can have some influence on where you rank the answer is yes.
Thanks so much for putting all that together! REALLY appreciated!
I am looking at this now and it seems to functions as explained, but not sure if this is better than a manual check and spreadsheet? I have over 100 books plus ebooks for all of them - so quite a few products! I track 50 or 60 regularly - each has a different and unique keyword and listing in a different section (Kindle, APPs, Books).
So does that mean I have to create say, 50 API, then copy and paste the results from Kimono to a spreadsheet every time? Or am I missing something?
You can combine them all in one API. Here's the section in the article that explains this:
"Once you create every search URL, add them to the "List URLs to Crawl" field in Kimono Labs on the Pagination/Crawling tab."
You'll just need to manage the list of urls on that Pagination and Crawling tab. To make the box appear where you can list URLs, make sure the Enable Crawling setting is on.
hehe didn't see that - Thanks!
Really nice post
Its okay to have a personally built tracker. The tool would be ideal for improved ranking.
The free Amazon organic search rank tracker would seem to be coded tool but thankfully the process is simplified in this post.
Amazon affiliate marketers should undoubtedly find this post highly useful for online success. The details are practical and I have learned a lot from it!
[promotional link removed]
Nice article for the product seller who want to rank well in Amazon to confirm their selling. But this process is not perfect for the Financial Education Blog owners. Am I right ?
Please don't comment spam with links here (or really, anywhere). Not cool man.
Ok Thank you. (I just want to make a sense.) Waiting for the answer. SEO is just a confusing tricks. Eating my all day and night.
The Beginner's Guide to SEO at https://moz.com/beginners-guide-to-seo is a good place to start if you'd like to understand SEO.
Thank you keri. I have read this article very beginning when i first found this site. Anyways now i'm reading this again for better knowledge.