Affiliate Box for Amazon, end to end.

Install it, put your Associates tags in, and paste one shortcode. Everything below is the free plugin unless a paragraph says otherwise — and where a licence is needed, it says so before you copy anything rather than after.

This page, and the two longer ones

This is the short way in: install, tag, first box. The handbook is the complete reference — every shortcode, every attribute, every setting, in nineteen sections. The troubleshooting guide is sorted by what appears on screen when something is wrong. Both are generated from the documentation that ships with the plugin, so they describe the version you actually have.

Install it

In WordPress go to Plugins → Add New Plugin, search for Doozly Affiliate Box for Amazon, press Install Now and then Activate. A new Affiliate Box entry appears in the admin menu. The same plugin is on its WordPress.org page, if you would rather download the archive and upload it.

Installed from the directory, WordPress offers every new version as an ordinary update on the Plugins screen.

It needs WordPress 6.1 or newer and PHP 7.2 or newer. There is no licence key to enter, no account to create, and the free plugin makes no request to Amazon at all until you deliberately connect a credential.

Put your tracking IDs in first

Do this before anything else. A box without a tag still links to Amazon, still gets clicked, and earns nothing — and it is the failure nobody notices, because the box looks perfectly normal.

Open the Marketplaces tab and enter one Associates Tracking ID for each store you are enrolled in. They are separate programmes with separate IDs; there is no single ID that works everywhere. Where those IDs come from

Why a reader outside your marketplace earns you nothing A reader in Munich clicks your link. With a United States tag the link opens amazon.com, the reader sees the shipping cost, leaves, and buys the same item on amazon.de with no tag, so you earn nothing. With a German tag the link opens amazon.de directly and the purchase earns a commission. A reader in Munich clicks your link TAG ENDS IN -20 amazon.com sees the shipping cost, leaves, buys it on amazon.de no tag attached you earn 0 TAG ENDS IN -21 amazon.de buys it, in their own currency tag attached commission
The same reader, the same click. The only difference is which marketplace the tag belongs to.

What happens when a store has no ID

The link falls back to your default marketplace and its tag rather than going out untagged. That is the safe behaviour, but it is still the wrong store for that reader — so treat the fallback as a stopgap, not a setting you leave alone. Which stores your readers actually need

The parts of an Amazon affiliate link The URL https://www.amazon.com/dp/B0CXXXXXXX?tag=coffeegear-20 with three parts marked: amazon.com is the store, coffeegear is your store ID, and -20 is the marketplace suffix that Amazon appends automatically. AFFILIATE LINK https://www.amazon.com/dp/B0CXXXXXXX?tag=coffeegear-20 the store your store ID added by Amazon You choose one word. Everything else on this line is decided for you.
One parameter earns you anything. The rest of the address is Amazon own tracking.

Your first box

The shortcode works in the block editor, in the classic editor, in widget areas and anywhere else WordPress runs shortcodes. At its shortest it is one attribute:

[affiliate_box asin="B0CHX1W1XY"]

That builds the link and attaches your tag. The box itself will be nearly empty, because the plugin has nothing to show yet — so in practice you either type the details or let Amazon supply them:

[affiliate_box
  asin="B0CHX1W1XY"
  title="Anker 737 Power Bank"
  image="https://example.com/wp-content/uploads/anker-737.jpg"
  price="$99.99"
  rating="4.6"
  rating_count="12480"]

Every attribute is optional and every one is left out of the markup when it is empty. Leave the rating blank and no stars are drawn — you never get a row of hollow stars standing in for data you do not have.

Linking to something that is not a product page

Use url instead of asin for search results, storefronts or anything else without an ASIN. Your tag is appended unless the URL already carries one, so a link you built in SiteStripe stays exactly as Amazon made it.

[affiliate_box url="https://www.amazon.com/s?k=power+bank" title="Power banks"]

Give neither and the box links to the marketplace home page. Give both and asin wins.

How Amazon API access is earned, kept and lost A cycle in four steps. You apply and your tracking tag works immediately. Three qualifying sales within 180 days gate both account approval and the first API credential. Once the key is issued, product titles, images, prices and ratings can be fetched automatically. Keeping the key depends on a rolling thirty-day sales window that is re-tested continuously, so a quiet month sends the account back to having no key, and the plugin falls back to whatever was typed in by hand. Historically the rolling bar was three referred sales per thirty days; reports through 2026 put the Creators API requirement at ten in the trailing thirty days. API access is not a gate you pass. It is a condition you keep meeting. Which is why a quiet month can empty the product boxes on a site that has run for years. Apply Account created, tag works at once 3 sales in 180 days Gates approval and the first API key alike API key issued Titles, images, prices, ratings become automatic Keep selling A rolling 30-day window, re-tested continuously A quiet 30 days — key revoked, boxes stop refreshing The 3-in-180 gate is Amazon’s own. The rolling bar that keeps the key is reported, not published: historically three sales per 30 days, and ten in the trailing 30 for the Creators API.
The credential is not a gate you pass but a condition you keep meeting.

Let Amazon fill the box in

This is in the free plugin. Connect a Creators API credential on the Amazon API tab and the plugin can fetch a title, image, price, star rating and review count from an ASIN — or from a keyword search, in the box builder. What the Creators API is

Credentials are held one per region, and the plugin picks the right one for the marketplace it is rendering. The secret is stored encrypted and is never shown again after you save it.

Once a credential is connected, a shortcode carrying an ASIN fills its own blanks at render time: if the title, image or price is missing, the plugin supplies it from the cache. Anything you typed yourself always wins — autofill only ever fills gaps.

The two limits worth knowing

Amazon requires an active Associates account with recent qualifying sales before it will issue a Creators API credential at all, so a brand-new account cannot use this yet. And the plugin works to a ceiling of 8,640 requests a day, which is why responses are cached rather than fetched per page view. The sales requirement

One product, several stores

Point a single box at another marketplace with the marketplace attribute. Left out, it uses the default you set on the General tab.

[affiliate_box asin="B0CHX1W1XY" marketplace="de"]

The catch is that the same product usually carries a different ASIN in every store, and sometimes a different title and image too. So each of those three can be overridden per marketplace by adding the store key to the attribute name:

[affiliate_box
  asin="B0CHX1W1XY"          // used everywhere else
  asin_de="B0CJ2K9XYZ"
  asin_co_uk="B0CH8R2ABC"
  title_de="Anker 737 Powerbank"]

The store key is the same short code the plugin uses internally — de, fr, it, es, ca, and so on. Only asin, image and title take these overrides; everything else is shared across stores. Which store serves which country

How the box looks

Four attributes cover appearance, and each falls back to the default you set once on the Product Box tab rather than needing to be repeated on every box.

AttributeValuesWhat it does
layoutpost, sidebarWide box for body text, or a narrow stacked one for a column.
image_sizesmall, medium, largeHow much room the product image takes.
bg_colorA CSS colourBackground of the box. Left out, it inherits your theme.
button_textPlain textDefaults to "Buy on Amazon".

What needs a licence

The product box itself is free and always renders — there is no licence check anywhere in it, and neither is there one on the Amazon API. Seven things are licensed:

  • Comparison tables. [affiliate_box_compare] — four products side by side, with shared feature rows.
  • Bestseller lists. [affiliate_box_bestsellers] — built live from a keyword or an Amazon category.
  • Search grids. [affiliate_box_search] — a grid of live Amazon search results.
  • Review boxes. [affiliate_box_review] — your own photographs, your own score, pros and cons and a verdict.
  • Geotargeting. Sending each visitor to the store nearest to them. The geotarget attribute is accepted without a licence but has no effect.
  • Reports. Which box was seen, which was clicked, and how many readers arrived from a store you hold no tag for. Amazon counts per tracking ID and never per box, so it cannot tell you this.
  • Nightly refresh. Saved boxes and bestseller lists keep their prices current on their own.

A licensed shortcode renders nothing at all for visitors and a red dashed warning for logged-in administrators. So if a section of a page is simply missing, view it while logged in — the plugin will tell you which one it is.

Saved boxes are free: build one under Settings → Affiliate Box → Product Boxes, save it, and reuse it with [affiliate_box box="a7f3k2c9"] — the key is that box's permanent name, and no licence is involved. Older posts need no editing: [affiliate_box_pro id="N"] still renders the same box. One difference remains, and it is a consequence rather than a restriction: the free plugin schedules no background job, so a saved box does not refresh its own price overnight. Premium does that.

Every attribute

All nineteen of them, with their defaults and what each one does, are in the attribute reference of the handbook. They are not repeated here on purpose: that table is checked against the plugin source on every release, and a second copy would be the one that quietly goes out of date. The handbook also carries the five attributes each store adds of its own.

When something is not right

The box renders but the link has no tag. No tracking ID is filed for that marketplace and none for the fallback either. Check the Marketplaces tab.

Nothing appears where the shortcode is. You are almost certainly using a licensed shortcode without a licence — those render nothing for visitors and a red dashed warning for administrators. Look at the page while logged in.

The shortcode prints as text. The plugin is inactive, or the shortcode sits somewhere WordPress does not expand shortcodes — some page builders and template files need do_shortcode() called explicitly.

Autofill does not fill anything. It only acts when the box carries an ASIN and at least one of the title, image or price is empty, and only when a credential exists for that marketplace's region.

The wrong store is used. An unrecognised marketplace value is discarded silently and the default is used instead. Check the spelling of the store key.

Still stuck

The troubleshooting guide is organised by what you see on screen rather than by which part of the plugin is involved, because when something is wrong you usually do not yet know which part that is. If you were shown an error, every message the plugin can produce is listed in its error index, Amazon’s own reason codes included.

If that does not settle it, write to us on the support page. Tell us the plugin version, the exact shortcode you used and what appeared instead — that is usually enough to answer in one reply.