Our Amazon Ads agency
Meet Erwan & Quentin: United by excellence, driven by ambition, and dedicated to taking your Amazon sales to new heights
Contact us

Internal Amazon rank tracking: why we dropped third-party tools

Internal Amazon rank tracking stack: Search Term Reports, Bulk API and a daily Python job

Why we stopped using third-party Amazon rank trackers

Helium 10. Jungle Scout. Sellics. DataDive. Sellerboard. Over four years of agency work we have run them all in production on client accounts. The conclusion: convenient for 50 keywords on a single ASIN, quickly limited once you move to 500 keywords across 30 products.

Three ceilings come back every time.

Pricing scales linearly with keyword count. On a catalogue of 50 active ASINs, tracking ten keywords per product means 500 keywords. You move up a tier, you pay more, and the scraped data loses precision because Amazon varies its results by user, location and history.

The history is not yours. The day you change tool, you start from zero. Over eighteen months of data, that is an asset you leave behind.

And the data is not connected to anything else. Rank on its own steers nothing. You want to cross rank with the budget you injected that day, stock availability, category best seller rank, the competitor who just entered. With a third-party tool you export to CSV and consolidate by hand.

That is why we ended up building our own stack. Here is how it works, and why we give it to every client at no extra cost.

Our stack: Search Term Reports, the Bulk API and Python

Three components, all official Amazon. No paid third-party tool.

Amazon Ads Search Term Reports. They list every search term that triggered your Sponsored Products and Sponsored Brands campaigns, with impressions, clicks, spend, sales and average position. That is what your customers actually type, not what you assume they type.

The Bulk Operations API. It pulls campaign, ad group and keyword performance as CSV through the official API. No scraping. No risk of being blocked. Generous quotas.

Python and a light database, PostgreSQL or SQLite depending on the account. A script that runs daily. Two hundred lines of code. Maintainable, owned, exportable.

No heavy cloud needed. A five-euro-a-month server, a cron job, and you track 500 to 5,000 keywords without difficulty. What matters is not sophistication. It is keeping the data yourself and not hitting a pricing ceiling.

What happens every morning at four

The cron pulls yesterday's Search Term Reports and Bulk Reports. The script writes them into a dated folder.

It parses, normalises — case, accents, spacing — and stores everything with impressions, clicks, spend, sales, average position, return on ad spend and cost of sales.

For each tracked keyword it computes an impression-weighted average rank over a rolling seven days. That is far more stable than a 24-hour snapshot, which can swing wildly by time of day. It also stores the minimum and maximum rank, to surface volatility.

A light dashboard then shows, per product and per keyword, today's rank, the rank seven days ago, the delta, and a green, amber or red status against a threshold. If a keyword drops out of the top ten having been there yesterday, an alert goes out by Slack or email.

What it changes in practice

Without internal rank tracking, you notice a rank drop when you see revenue fall — seven to ten days after the drop began. By the time you have identified the cause, whether a competitor scaling, a broken listing, a stockout or seasonality, you have already lost several days of sales.

With internal rank tracking, you see the drop the next day. You cross it with the Bulk Reports within two hours. You identify the cause. You redeploy budget or raise bids before the week is out.

It is less glamorous than a new DSP stack, but it is one of the highest-return levers to put in place on an account that is scaling. See our approach for the other levers.

A concrete case: Polar and next-day reaction

On the Polar account (sports technology), internal rank tracking is one of the methodological levers that contributed to return on ad spend moving from 6.4 to 10.8 and to 203 per cent growth in Amazon revenue over 12 months. Catching rank drops the next day rather than ten days later allowed several fast budget and bid decisions against category competition.

Results from a real client case. Past performance does not guarantee future results. Outcomes vary by catalogue, budget, category and competition.

The limits, worth knowing before you copy it

Rank derived from Search Term Reports is not a raw search results rank. It is the weighted average position of your paid advertisement on that term. A good proxy for operational monitoring. Not equivalent to scraping the results page, which shows you the organic and sponsored top ten at a given moment for a given user. If you need fine competitive analysis, keep an occasional Helium 10 subscription.

You also need enough advertising volume to generate the data. A keyword you run no advertising on does not appear in Search Term Reports. To track purely organic keywords you need to run a periodic targeted Sponsored Products campaign, even on a small budget, or supplement with a third-party tool.

And you need a minimum of technical skill in-house. Not big data, but intermediate Python and some SQL. If you do not have the resource, you outsource it to an agency — our case — or you stay on a third-party tool.

How we use it at SkyVision

On every client account — Sponsored Products, Brands, Display, DSP — internal rank tracking is included. The client gets a live dashboard: daily rank on their target keywords, Slack or email alerts on drops, automatic crossing of rank against budget and stock, and unlimited history.

It replaces third-party tool costs, which typically run between 100 and 400 euros a month depending on scope. It gives the client ownership of their own data. And it lets us react the next day rather than ten days later on a rank drop. It is one of the three methodological levers that set the agency apart.

Questions we get asked

Can I build it myself?

Yes, if you have someone in-house with intermediate Python and a working notion of APIs. Allow two to three weeks of initial development, then about 30 minutes a month of maintenance. Otherwise, outsourcing to an agency or a technical freelancer works out cheaper than paying 200 euros a month for a third-party tool.

How many keywords can it track?

No serious technical limit up to 5,000 keywords on one account. Beyond that the database and the dashboard need more care. Most accounts run 200 to 2,000 active keywords.

How does it differ from Helium 10 Cerebro or Jungle Scout Keyword Scout?

Those are excellent tools for finding new keywords to target. They are less suited to daily tracking of a large portfolio of keywords you have already identified. The two approaches are complementary.

Does it work for other marketplaces?

Yes. Multi-marketplace from the start. You point the script at the right Amazon Ads profile identifier. A brand selling on five marketplaces gets five interconnected dashboards at no extra cost.

How do I know whether it applies to my account?

A free 30-minute audit. We look at your catalogue, your advertising volume and your current tracking stack, and within 48 hours we say whether an internal stack adds anything and how much it saves on third-party tools. Book the audit.

The last word

Internal rank tracking is not a technical gadget. It is an operational advantage: you see drops the next day instead of ten days later, you keep ownership of years of history, and you save on third-party tooling. Setup takes two to three weeks of development. After that it runs on its own.

To see how it would apply to your account: a free 30-minute audit. See also our DSP offer and our seven mistakes that cap return on ad spend.

Image de Erwan Boca Co-fondateur
de Skyvision
Erwan Boca
We usually reply
within a few hours
Erwan Boca
Hello,
How can I help you today?
icon whatapps
Chat with us on WhatsApp
Icone whatsapp