Title: Amzly Price Badge
Author: x64gmbh
Published: <strong>September 13, 2026</strong>
Last modified: September 13, 2026

---

Search plugins

![](https://ps.w.org/amzly-price-badge/assets/banner-772x250.png?rev=3693467)

![](https://ps.w.org/amzly-price-badge/assets/icon-256x256.png?rev=3693467)

# Amzly Price Badge

 By [x64gmbh](https://profiles.wordpress.org/x64gmbh/)

[Download](https://downloads.wordpress.org/plugin/amzly-price-badge.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/amzly-price-badge/#description)
 * [Reviews](https://wordpress.org/plugins/amzly-price-badge/#reviews)
 *  [Installation](https://wordpress.org/plugins/amzly-price-badge/#installation)
 * [Development](https://wordpress.org/plugins/amzly-price-badge/#developers)

 [Support](https://wordpress.org/support/plugin/amzly-price-badge/)

## Description

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

Always to the product page on amzly.de, never straight to Amazon. That is deliberate:
a plugin must not place someone else’s affiliate tag into your posts.

#### Click statistics

Optional and switched on by default: the plugin counts clicks on your badges so 
you can see which ones actually get used. Stored per click are the date, the post
and the ASIN — no IP address, no cookie, no user agent, nothing that identifies 
a visitor. Entries older than a year are deleted automatically. Switch it off and
the front end loads no JavaScript at all.

#### 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"]`
 * Shortcode options: `link`, `theme`, `size`, `variant`, `logo`, `label`, `price`,`
   delta`, `pulse`, `target`

#### 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 two external services. One is required, the other is only reached
for one specific kind of link.

#### 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/asins` or `https://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.to` or `amzn.eu` link, 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

## 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 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 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.⌉⌊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.⌉[

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.⌉⌊Two products side by side in dark mode, with the badge, the
Amazon button and the details of both.⌉[

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 history chart with the all-time low, the deal periods and
the coupon days marked.⌉[

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.⌉⌊
The price list with product images, the badge and the price as its own column.⌉[

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

## Blocks

This plugin provides 1 block.

 *   Amzly Price badge, price history, price list, two-product comparison or a comparison
   table — pick the type in the block settings. Every display option is available
   for every type.

## Installation

 1. Install the plugin and activate it.
 2. Optionally visit **Settings  Amzly Price Badge** to set defaults. The plugin works
    without any configuration.
 3. Add the block **Amzly** to a post and pick what to show, or use `[amzly asin="B09X7CRKRZ"]`.

No account and no API key are required.

## FAQ

### Do I need an amzly.de account?

No. The plugin works fully without registration and is free.

### Do I need a cookie banner for this?

Not for the badges. They are rendered on your server, and your visitors’ browsers
never contact amzly.de. The optional click counting stores no personal data either—
only date, post and ASIN.

### Why does the badge not link straight to Amazon?

Because a plugin must not put someone else’s affiliate tag into your posts. The 
badge links to the product page on amzly.de, which shows the full price history.

### Can I use my own Amazon affiliate tag?

No, and that is intentional. Displaying Amazon price data next to your own affiliate
link is subject to Amazon’s price display rules, and the data here does not come
from your own API access. That combination puts your Associates account at risk.

### Why is the badge grey?

Because there is not enough price history yet. Products that were just added to 
amzly.de have no comparison basis; the badge colours itself in automatically, usually
within an hour.

### My amazon.com link does not work

That is on purpose. The price data is amazon.de in euros. A badge on a link to another
marketplace would claim a price that does not apply there.

### Does it work with caching plugins?

Yes. The badge is plain server-rendered HTML with no JavaScript, and light/dark 
switching happens in CSS. A fully cached page still adapts to each visitor.

### What happens if amzly.de is unreachable?

Badges keep showing the last price they had. The plugin pauses its requests after
repeated errors and retries by itself. **Tools  Site Health** shows whether the 
connection works.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Amzly Price Badge” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ x64gmbh ](https://profiles.wordpress.org/x64gmbh/)

[Translate “Amzly Price Badge” into your language.](https://translate.wordpress.org/projects/wp-plugins/amzly-price-badge)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/amzly-price-badge/),
check out the [SVN repository](https://plugins.svn.wordpress.org/amzly-price-badge/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/amzly-price-badge/)
by [RSS](https://plugins.trac.wordpress.org/log/amzly-price-badge/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * The plugin now registers a single block, Amzly. Four older blocks from before
   the first release were still registered in the background; they could no longer
   be inserted, but the directory listed all five. They are gone.
 * Posts that still contain one of the old blocks keep working unchanged. They are
   shown with the Amzly block when the post is displayed, and open as the Amzly 
   block in the editor. Saving the post converts it for good — nothing is rewritten
   in the database on its own.
 * The settings page now names the block by its actual name, Amzly.

#### 1.0.0

 * First release.
 * One block for every view: price badge, price history chart, price list, a comparison
   of two products, and a comparison table with up to six products as columns.
 * Reads ASINs, amazon.de links, amzn.to short links and amzly.de product links.
 * Five rating levels, three sizes, three colour modes. What the badge shows is 
   yours to compose: price, ninety-day average, discount, coupon, availability, 
   brand, product image and product name.
 * The comparison table takes rows from the product data — price, average, coupon,
   availability, the Amazon star rating and more — and rows you write yourself, 
   in any order. One column can be marked as your recommendation, in ten colours.
 * Amazon buttons work with your own partner tag or without one. Without a tag the
   link simply carries none.
 * Rendered on the server with a two-level cache and a background refresh. Nothing
   is fetched from amzly.de while a visitor is waiting.
 * Optional click statistics. Off by default, and without personal data.
 * Every view fits on phones and tablets.
 * Shortcodes for everything the block can do.
 * Fully translatable. Translations are delivered through translate.wordpress.org
   rather than bundled with the plugin.

## Meta

 *  Version **1.0.1**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [amazon](https://wordpress.org/plugins/tags/amazon/)[asin](https://wordpress.org/plugins/tags/asin/)
   [badge](https://wordpress.org/plugins/tags/badge/)[deals](https://wordpress.org/plugins/tags/deals/)
   [price](https://wordpress.org/plugins/tags/price/)
 *  [Advanced View](https://wordpress.org/plugins/amzly-price-badge/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/amzly-price-badge/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/amzly-price-badge/reviews/)

## Contributors

 *   [ x64gmbh ](https://profiles.wordpress.org/x64gmbh/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/amzly-price-badge/)