
A discount of “40 % off” means nothing if the crossed-out price was never real. This plugin answers a different question: is this price good compared with what the product usually costs?
Paste an ASIN, an amazon.de link or an amzly.de product link, and you get a compact badge with a coloured dot and a plain rating — “Günstiger als sonst”, “Normaler Preis”, “Derzeit teurer”. The rating comes from the price history collected by amzly.de, not from Amazon’s own crossed-out prices.
How it looks
The badge is a neutral pill that sits inside your text without breaking the line height. The signal colour lives in the dot alone, so it never fights your theme:
- Green — very cheap right now, or an all-time low
- Blue — cheaper than usual
- Orange — normal price
- Red — currently pricier, better to wait
- Grey — not enough price history yet
Built to stay out of the way
- Server-side rendering. Your visitors’ browsers never contact amzly.de. No consent banner needed for the badges.
- Light and dark, automatically. Follows each visitor’s system setting through pure CSS, so it works even on a fully cached page. You can force one mode if your theme needs it.
- Nothing loads on pages without a badge. No CSS, no JavaScript.
- Respects reduced motion. Visitors who ask for less animation never see the pulsing dot.
- Never a broken post. If the API is unreachable, badges keep showing the last known price instead of disappearing.
Where the badge links to
To the product page on amzly.de, which shows the full price history. The plugin never places someone else’s affiliate tag into your posts.
With your own Amazon Creators API access (see below), anything that shows a price from Amazon links to Amazon instead — through the link Amazon itself returns, carrying your partner tag. Amazon requires that. The price rating, the price alert and the price history keep linking to amzly.de, because that is where they come from.
Prices straight from Amazon (optional)
If you are an Amazon associate with access to the Creators API, you can enter your own credentials and choose where the product data comes from:
- Only amzly.de — the default, no Amazon account needed.
- amzly.de and Amazon combined — price and availability fresh from Amazon, the price rating, the average and the chart from amzly.de. If one source is unreachable, the other carries on.
- Only Amazon — never contacts amzly.de. Badges then show the price without a rating, and there is no chart.
Prices from Amazon are kept for one hour at most and product details for one day, as Amazon’s rules require. Your credentials are stored encrypted with the salts from your wp-config.php.
Bestsellers for a search term
With the Creators API set up, the block and the shortcode [amzly_bestseller] can fill themselves: enter a search term and a category, and the plugin shows the best-selling results — as badges, a list, a comparison table, a comparison or a chart. The Creators API has no bestseller list of its own, so the plugin searches Amazon and sorts the results by Amazon’s bestseller rank. The list refreshes every hour.
Found by search engines
Price lists, comparison tables and two-product comparisons carry ItemList markup as JSON-LD: position, product name, link and image per product. Deliberately no Product and no prices — price markup in a blog post tells Google the page sells the product, which belongs on a shop page and is reported as an error otherwise. The links in the markup never carry a partner tag or a tracking parameter; the visible links keep them and stay marked rel="sponsored".
Switch it off under Amzly Settings Display if your SEO plugin already outputs ItemList data for the same page.
Click statistics
Optional and switched on by default: the plugin counts clicks on badges, Amazon buttons, price alerts, product names, images and prices, so you can see what actually gets used. Amzly Clicks shows a chart of clicks per day and every single click with product, image, ASIN, the element that was clicked and the post it happened in.
Stored per click are the time, the post, the ASIN and the kind of element — no IP address, no cookie, no user agent, nothing that identifies a visitor. Entries older than a year are deleted automatically, and at most 5,000 individual clicks are kept per day. The column in the post list, the CSV export and the optional report to amzly.de count clicks on the badge itself only, as before. Switch it off and the front end loads no JavaScript at all.
Behind a CDN or reverse proxy every visitor can arrive with the same IP address, and the abuse limit of 60 clicks per address and minute would apply to the whole site. The plugin does not trust forwarded headers on its own; pass the real address through the filter amzly_pb_click_client_ip, or raise the limit with amzly_pb_click_rate_limit.
Ways to insert a badge
- One block named Amzly: pick badge, price history, list, two-product comparison or a comparison table in the block settings, with a live preview that checks the product really exists
- The shortcode
[amzly asin="B09X7CRKRZ"] - With the Creators API:
[amzly_bestseller suchbegriff="bluetooth kopfhörer" kategorie="Electronics" anzahl="5" typ="liste"]—typisliste,tabelle,vergleich,badgeorchart - Shortcode options:
link,theme,size,variant,logo,label,price,delta,pulse,target - Price list:
[amzly_liste asins="A, B, C" nummern="ja" reihenfolge="bild,name,preis,badge,amazon"]—reihenfolge(ororder) sets the order of the columns:bild/image,name,badge,preis/price,amazon. Columns you leave out follow in the default order.
Only amazon.de
Links to amazon.com, amazon.co.uk and other marketplaces are rejected on purpose. The price data is amazon.de in euros — a badge on a link to another country would claim a price that does not apply there.
External services
This plugin uses up to three external services. amzly.de is used unless you switch it off, Amazon’s short-link service only for one kind of link, and the Amazon Creators API only if you enter your own credentials for it.
1. amzly.de (required)
The plugin relies on the public API of amzly.de for price data and price ratings. Without it the plugin cannot work: it is the sole source of the price history the badge is based on. The service is operated by the author of this plugin.
What is sent, and when
- When you insert a badge in the editor, and when a page containing a badge is rendered with an expired cache, your web server requests
https://amzly.de/api/v1/asinsorhttps://amzly.de/api/v1/asin/{asin}. - Sent are: the ASIN of the product, the IP address of your web server (unavoidable in any HTTP request) and your site address in the user agent, in the form
AmzlyPriceBadge/1.0.1; https://example.com. - No visitor data is sent. Badges are rendered on your server; your visitors’ browsers never contact amzly.de. Only when a visitor actually clicks a badge does their browser follow the link, exactly like any other outgoing link.
- Responses are cached, by default for six hours, so a page with badges normally causes no request at all.
Optional, and off unless you switch it on
If you enable “Report clicks to amzly.de” in the settings, the plugin sends once a day to https://amzly.de/api/v1/badge/report: your domain, the date, and a click count per ASIN. Never anything about individual visitors.
Terms and privacy
- Terms of use: https://amzly.de/wordpress-plugin#nutzungsbedingungen
- Privacy information: https://amzly.de/wordpress-plugin#datenschutz
2. Amazon (only for short links)
Amazon short links such as https://amzn.to/3XYZabc do not contain the product number. To find out which product one points at, the plugin has to ask Amazon where the link leads.
What is sent, and when
- Only when you enter an
amzn.tooramzn.eulink, and only at that moment — in the editor, or once when a post containing such a link is first rendered. Every other kind of input (a product number, an amazon.de link, an amzly.de link) is resolved locally and sends nothing. - Your web server makes a single HEAD request to the short link and reads the address it redirects to. Sent are: the short link itself, the IP address of your web server and your site address in the user agent. No page content and nothing about your visitors.
- The result is cached, so the same short link is resolved once and not again.
- You can avoid this service entirely by using product numbers or full amazon.de links instead of short links.
Terms and privacy
- Conditions of use: https://www.amazon.de/gp/help/customer/display.html?nodeId=508088
- Privacy notice: https://www.amazon.de/gp/help/customer/display.html?nodeId=201909010
3. Amazon Creators API (only with your own credentials)
Amazon’s product API for members of the Amazon associates programme. The plugin only uses it after you enter your own credential ID, secret and partner tag under Amzly Settings Amazon and choose a data source that includes Amazon. Without that, nothing is ever sent here.
What is sent, and when
- To get an access token, your web server sends your credential ID and credential secret to Amazon’s login service (
https://api.amazon.co.uk/auth/o2/token, or the North American or Far East address matching your credential version). This happens at most once an hour; the token is reused in between. - For product data, your web server sends the ASINs of the products on the page, your partner tag and the marketplace
www.amazon.detohttps://creatorsapi.amazon. For bestseller lists it sends the search term and the chosen category instead. - Requests are made when a page with a badge is rendered and no current data is stored, and in the background shortly before stored data expires — only for products that were shown on a page within the last day.
- No visitor data is sent. As with amzly.de, everything happens on your server.
Terms and privacy
- Associates Program IP License (governs the Creators API in Germany): https://partnernet.amazon.de/help/operating/license
- Privacy notice: https://www.amazon.de/gp/help/customer/display.html?nodeId=201909010
Screenshots

The badge inside a post: once on its own in the flow of the text, once with a product image, the product name above it and a price alert button.

The comparison table: several products as columns, rows from the product data next to rows you write yourself, and one column marked as the recommendation.

Two products side by side in dark mode, with the badge, the Amazon button and the details of both.

The price history chart with the all-time low, the deal periods and the coupon days marked.

The price list with product images, the badge and the price as its own column.