Auto Amazon Links – Amazon Associates Affiliate Plugin

Description

Display Amazon Associates Affiliate Links with Minimal Effort

Still manually searching products and pasting Amazon affiliate links in WordPress posts? What happens if the products get outdated? With this plugin, you do not have to worry about it nor trouble doing such repetitive tasks. Just pick categories that suit your site and it will automatically display the links of decent products just coming out from Amazon today.

Auto Amazon Links is a WordPress plugin for affiliates to create Amazon affiliate links. The links are tagged with your Amazon Associates ID. All the Amazon locales are supported and it works even on JavaScript-disabled browsers. Insert the ads as widget, place shortcode, or use auto-insert to display units automatically where the links should appear.

If you want to search for a specific product, yes, you can do that too. If you are good at HTML and CSS coding and know a little about PHP, you can create your own template! That means you can design the layout.

Display Amazon affiliate links along with your posts with this plugin to earn commissions with minimal effort.

Display a particular product in a post

If you want to simply display your desired specific products in a post, don’t worry. You can do that too. Just paste the product URL into the post editor. No shortcode is required.

See How Amazon Affiliate Links are Displayed

Supporting All the Amazon Associates Locales

Includes Australia, Brazil, Belgium, Canada, China, Egypt, France, Germany, India, Italy, Japan, Mexico, Netherlands, Poland, Singapore, Saudi Arabia, Spain, Sweden, Turkey, United Arab Emirates, United Kingdom, and the United States. China is supported for the category unit type.

Works without JavaScript

Some visitors turn off JavaScript in their browsers for security reasons and most ads including Google Adsense will not show up to them. But this one works!

Automatic Insertion in Posts and Feeds

Just check where you want the product links to appear with auto-insert.

  • Static Contents Conversion – If you want the product link to be static, it is possible. This means that if you deactivate the plugin, the converted contents will remain.
  • Detailed Visibility Criteria – You can enable/disable product links on the pages you want or do not want by post ID, taxonomy, page type, and post type.

Customizable Buttons

Your site visitors are more likely to click buttons than regular text hyperlinks. Define your custom buttons and insert them into the unit output.

The plugin lets you design buttons through UI and prepares several default buttons for you so that you can modify them rather than create your own from scratch.

Geo-targeting

You can transform your Amazon affiliate links into the ones of the locale that the site visitor resides, presumed by IP address. So you won’t miss commission fees from visitors coming outside of your country.

Auto Link Conversion

Hyperlinks to Amazon products in posts and comments can be transformed into your associate affiliate links. This is useful if your site allows guests to post contents that include Amazon links.

Gutenberg Block

The plugin has a Gutenberg block that lets you pick units you created, which can save a little time than typing the shortcode.

Widgets

Place the widget in the sidebar and select the unit you created. The product links will appear where you want.

  • By Units – choose the created units to display in the widget.
  • Contextual Search – with this, you don’t have to create a unit. It will automatically search products relating to the currently displayed page contents.

Shortcode and PHP Function

Insert the ads in specific posts and pages with the shortcode. If you want to insert in the theme template, use the PHP code the plugin provides to produce the outputs.

Filtering Products

You can filter out certain products you don’t want to display with a black and white list by description, title, and ASIN.

RSS and JSON Unit Feeds

By subscribing to the product RSS/JSON feeds of the units you create, you can import them from other sites.

If you have a website that can display RSS feed contents, just create a WordPress site somewhere with this plugin and fetch the feed from the site. If you are an App developer, you can just display the items from the feed without programming an API client.

Various Unit Options

  • Image Size – The size of thumbnails can be specified. It supports up to 500 pixels large with a clean resolution.
  • Sort Order – Shuffle the product links so that the visitor won’t get bored as it gives refreshed impression.
  • URL cloaking – You can obfuscate the link URLs so it helps to prevent being blocked by browser Ad-blocking add-ons.
  • Load with Javascript – Decides whether to display units with JavaScript.
  • and more.

Customizing Outputs

Besides the Item Format unit option which lets you design the output of a unit, you can create a custom template. This gives you freedom of customization and lets you achieve a more advanced and detailed design.

Unit Types

  • Category – picks your category that matches your site topic.
  • Product Search – creates a unit by performing product searches.
  • URL – lists items from an external web source.
  • PA-API Product Search – creates a unit of a search result using PA-API.
  • PA-API Item Look-up – displays specific products.
  • PA-API Custom Payload – is for more complex PA-API queries.

Supported Languages

  • English
  • Japanese
  • German
  • Italian
  • Spanish

Getting Started

Please see the Installation section.

Shortcode and Function Parameters

The plugin provides means to display Amazon product links by manually inserting a piece of code into your post or a theme file. For posts, it’s called shortcode. For theme files, you need to place a PHP function. Using these, you even don’t have to create a unit.

  • Shortcode:
    • [amazon_auto_links]
  • PHP Functions:
    • do_action( 'aal_action_output' );
    • apply_filters( 'aal_filter_output' );

They both takes the following arguments.

id – the unit ID

[amazon_auto_links id="123"]
<?php do_action( 'aal_action_output', array( 'id' => 123 ) ); ?>
<?php echo apply_filters( 'aal_filter_output', '', array( 'id' => 123 ) ); ?>

label – the label associated with the units

[amazon_auto_links label="WordPress"]
<?php do_action( 'aal_action_output', array( 'label' => 'WordPress' ) ); ?>
<?php echo apply_filters( 'aal_filter_output', '', array( 'label' => 'WordPress' ) ); ?>

asin – ASINs (product IDs) separated by commas (`,`).

[amazon_auto_links asin="B016ZNRC0Q, B00ZV9PXP2"]
<?php do_action( 'aal_action_output', array( 'asin' => 'B016ZNRC0Q, B00ZV9PXP2' ) ); ?>
<?php echo apply_filters( 'aal_filter_output', '', array( 'asin' => 'B016ZNRC0Q, B00ZV9PXP2' ) ); ?>

search – Search keywords separated by commas (`,`).

[amazon_auto_links search="WordPress"]
<?php do_action( 'aal_action_output', array( 'search' => 'WordPress' ) ); ?>
<?php echo apply_filters( 'aal_filter_output', '', array( 'search' => 'WordPress' ) ); ?>

When the search argument is specified, the following arguments can be used.

  • SearchIndex – Filters search results by category. For accepted values, see the locale reference. For example, the US locale, e.g. [amazon_auto_links search="Oven" SearchIndex="Electronics"]
  • Sort/SortBy – (PA-API required) Sort order. Accepts the following values: AvgCustomerReviews, Featured, NewestArrivals, Price:HighToLow, Price:LowToHigh, Relevance. For the details of each value, see here. e.g. [amazon_auto_links search="WordPress" sort="AvgCustomerReviews"]
  • BrowseNode/BrowseNodeId – (PA-API required) Filters search results by category ID.
  • Availability – (PA-API required) Filters search results to items with the specified product availability status. Accepts Available or IncludeOutOfStock. See details.
  • MerchantId/Merchant – (PA-API required) Filters search results to items with the specified merchant. See details.
  • Condition – (PA-API required) Filters search results to items with the specified product condition. Accepts Any, New, Used, Collectible or Refurbished. See details.
  • MaximumPrice/MaxPrice – (PA-API required) Filters search results to items with a price below the specified price. The value needs to be formatted in lowest currency denomination. For example, in the US marketplace, set 1234 for $12.34.
  • MinimumPrice/MinPrice – (PA-API required) Filters search results to items with a price above the specified price. The value needs to be formatted in lowest currency denomination. For example, in the US marketplace, set 1234 for $12.34.
  • MinPercentageOff/MinSavingPercent – (PA-API required) Filters search results to items with a specified discount percentage. e.g. [amazon_auto_links search="shoes" MinSavingPercent=20] where 20 denotes 20 percent-off.
  • MinReviewsRating – (PA-API required) Filters search results to items with a customer rating above the specified value. Accepts a positive integer from 2 to 5. e.g. [amazon_auto_links search="shoes" MinReviewsRating=4] for products with a rating above 4.
  • CurrencyOfPreference – (PA-API required) Preferred currency. For accepted values, see the locale reference.
  • LanguagesOfPreference – (PA-API required) Preferred language specified in the ISO 639 language code. For accepted values, see the locale reference.

The id, asin and search arguments cannot be used together.

These shortcode argument names are case-insensitive, meaning maxprice is also accepted for MaxPrice.

Optionally, the following arguments may be set.

  • country – (string) the locale of the store. Accepted values are CA, CN, FR, DE, IT, JP, UK, ES, US, IN, BR, MX, AU, TR, AE, SG, SE, and NL.
  • associate_id – (string) the Amazon Associates ID for the affiliate.
  • count – (integer) determines how many items should be displayed.
  • image_size – (integer) the image size in pixels.
  • title_length – (integer) the maximum title character length. Set -1 for no limit. Default: -1.
  • description_length – (integer) the maximum description character length. Set -1 for no limit. Default: 250.
  • link_style – (integer) the link style. Accepted values are 1, 2, 3, 4, and 5. Default: 1.
    • 1 – http://www.amazon.[domain-suffix]/[product-name]/dp/[asin]/ref=[…]?tag=[associate-id]
    • 2 – http://www.amazon.[domain-suffix]/exec/obidos/ASIN/[asin]/[associate-id]/ref=[…]
    • 3 – http://www.amazon.[domain-suffix]/gp/product/[asin]/?tag=[associate-id]&ref=[…]
    • 4 – http://www.amazon.[domain-suffix]/dp/ASIN/[asin]/ref=[…]?tag=[associate-id]
    • 5 – http://localhost/wp47?productlink=[asin]&locale=[…]&tag=[associate-id]
  • credit_link – (integer|boolean) whether to show the credit link. 1/true to show, 0/false to hide.
  • subimage_size – (integer) the sub-image size in pixels. Default: 100.
  • subimage_max_count – (integer) the maximum number of sub-images to display.
  • customer_review_max_count – (integer) the maximum number of customer reviews.
  • show_now_retrieving_message – (boolean|integer) whether to show the “Now retrieving…” message when sub-elements are pending to be fetched. true/1 to show false/0 to hide.
  • button_type – (integer) The type of buttons. The following values are accepted. Default: 1.
    • 0 – Link to the product page.
    • 1 – Add to cart.
  • load_with_javascript – [3.6.0+] (boolean|integer) whether to load the unit with JavaScript. true/1 to yes, false/0 to no.
  • product_title – [4.0.0+] (string) An alternative text to alter the product title for anchor text. This is only supported when the asin argument is set.
  • show_errors – [4.1.0+] (integer) Whether to show the output error. Default: 2.
    • 0: do not show error.
    • 1: show the error.
    • 2: show the error in an HTML comment.

These values can be pre-defined from the setting page via Dashboard -> Auto Amazon Links -> Settings -> Default.
If these arguments are omitted, the values set on the setting page will be used.

Shortcode to Display Buttons

Although the %button% tag in the Item Format unit option allows you to insert a button, the button can be displayed independently with the shortcode, [aal_button ...].

It accepts the following parameters.

  • asin – (required, string) Comma delimited ASINs.
  • type – (optional, integer) 0: Link to the product page, 1: Add to cart button. Default: 1.
  • id – (optional, integer) The button ID. To use the button created via Dashboard -> Auto Amazon Links -> Manage Buttons, specify the button ID.
  • quantity – (optional, integer) The quantity of the item to add to cart. When multiple ASINs are specified, separate the values by commas.
  • country – (optional, string) The locale of the marketplace. If not set, the default value set in the Default setting tab will be applied.
  • associate_id – (optional, string) The associate tag. If not set, the default value set in the Default setting tab will be applied.
  • access_key – (optional, string) The public PA-API key. If not set, the default value set in the Associates tab will be applied.
  • label – (optional, string) The button label. e.g. ‘Buy Now’. Default: Buy Now.
  • offer_listing_id – (optional, scalar) An offer listing id that Amazon gives.

Creating Your Own Template

Download the zip file from the example templates repository. Make sure it runs as a plugin and a few example templates are loaded in the template listing screen (Dashboard -> Auto Amazon Links -> Templates).

Follow the steps described in readme.md of the linked repository and start modifying them. You want to:
– rename the root directory, amazon-auto-links-example-templates
– rename the template directory names, lightslider and minimal
– rename the main plugin file name, amazon-auto-links-example-templates.php
– rename PHP namespaces, AutoAmazonLinks\Templates\Examples
– replace screenshot.jpg in the template directory
– replace the header comment of style.css in the template directory
– modify CSS rules of style.css

Obtaining PA-API Access Key and Secret Key

To display more detailed product information, PA-API is required. A pair of access and secret key is required to perform API requests.

To get the keys,

  1. login to Amazon Associates of your locale.
  2. From the navigation menu at the top, navigate to Tools -> Product Advertising API.
  3. If you haven’t used it before, press the Join button. An access and a secret key should be issued and displayed after that.

You can check if your keys are valid with Scratchpad.

Screenshots

  • Embedding Links below Post
  • Widget Sample
  • Setting Page (Selecting Categories)
  • Setting Page (Creating New Category Unit)
  • Setting Page (Selecting Templates)
  • Setting Page (Buttons)
  • Setting Page (Editing Buttons)

Blocks

This plugin provides 1 block.

  • Auto Amazon Links: Unit

Installation

Install

Installing through the UI of WordPress

  1. Navigate to Dashboard -> Plugins -> Add New.
  2. Type “Auto Amazon Links” in the search bar.
  3. Auto Amazon Links should be listed and click on Install Now.
  4. The Activate button will appear and press it.

Uploading the zip file

  1. Download amazon-auto-links.zip.
  2. Navigate to Dashboard -> Plugins -> Add New.
  3. Click on the Upload Plugin and upload the zip file.
  4. The Activate Plugin button will appear and press it.

Using FTP or Control Panel File Manager

  1. Extract the files of amazon-auto-links.zip to the wp-content directory. The plugin directory named amazon-auto-links containing files should be placed inside wp-content. The structure should look like,
    • /wp-content/amazon-auto-links/amazon-auto-links.php
    • /wp-content/amazon-auto-links/readme.txt
    • continues…

Getting Started

To get started, set up your Amazon Associates ID and create a unit, then display it.

Setting up Amazon Associates ID

For the very beginning, you need to set-up your Amazon Associates ID (tag).

  1. Navigate to Dashboard -> Auto Amazon Links -> Settings -> Associates.
  2. There, select your locale and enter your Amazon Associates ID (tag). Then save.

Creating a Unit

There are several ways to display product links. You need to create a unit which defines what kind of products to display first. Then tell the plugin which unit you want to display. It is recommended to create a category unit to understand how it works.

  1. Navigate to Dashboard -> Auto Amazon Links -> Add Unit by Category.
  2. It will ask some options and lets you pick some categories. After selecting some categories and proceeding, a category unit will be created.
  3. It will take you to unit editing screen. You’ll see lots of options but you can leave them to the default.

Shortcode

  1. Navigate to Dashboard -> Auto Amazon Links -> Manage Units.
  2. Copy the shortcode in the list, looking like [amazon_auto_links id="nnn"] where nnn is your unit ID.
  3. Paste it in your post.

Gutenberg Block

  1. After creating a unit, open the Gutenberg editor, the WordPress default post editor.
  2. Type “Amazon” in the block search bar, then find “Auto Amazon Links: Unit“.
  3. When selecting it, you’ll see a list of units you created. Pick one and that’s it.

Auto-insert

Auto-inserts allows you to insert units on your specified area of your site.
1. After creating a unit, navigate to Dashboard -> Auto Amazon Links -> Manage Auto-insert.
1. Click on Add New Auto-insert.
1. Pick your units and check Post / Page Content in the Areas field.
1. Save and create an auto-insert. Check your site and see at the bottom of your posts whether Amazon product links are displayed.

Widgets

The plugin has two widgets, Amazon Auto Links by Unit, which lets you pick your units, and Amazon Auto Links - Contextual Products which displays Amazon products related to displayed contents on the page.

In order to use these widgets, you need to install the Classic Widgets plugin.

  1. After creating a unit, navigate to Dashboard -> Appearance -> Widgets.
  2. From Available Widgets, drag the Amazon Auto Links by Unit widget and drop it to one of the sidebars.
  3. Pick a unit and save.
  4. Confirm the unit is displayed in the sidebar.

oEmbed

You can display a formatted Amazon product link by pasting a product URL in the post editor.

  1. Navigate to Dashboard -> Auto Amazon Links -> Settings -> Embed.
  2. Make sure the oEmbed option is enabled there.
  3. Navigate to Dashboard -> Posts -> Add New.
  4. Paste an Amazon product URL in the editor such as https://www.amazon.com/dp/1118987241.
  5. You should see formatted product link with a thumbnail.

FAQ

Do I need Amazon Associate ID to use this plug-in?

Yes. Otherwise, you don’t get any revenue. You can get it by signing up for Amazon Associates.

Do I need API Keys?

For the Category unit type, no, but for other unit types, yes. You need to issue a pair of API keys on the Amazon Associates logged-in page.

For that, you need to have an account with Amazon Product Advertising API. The keys can be obtained by logging in to Amazon Web Services and you need to get Access Key ID (public key) and Secret Access Key (private key).

More detailed instruction, please see Register for Product Advertising API.

Is the plugin compatible with PA-API 5?

Yes. The plugin is compatible with PA-API (Amazon Product Advertising API) 5.0. The PA-API 4 is no longer available as of 10/31/2019 so if you are still using API keys of the old API, you need to reissue them.

I’m migrating from Amazon Associates Link Builder (AALB). Can this plugin display products with their shortcodes?

Yes, enable the option by navigating to Dashboard -> Auto Amazon Links -> Settings -> 3rd Party -> Amazon Associates Link Builder.

There you also want to set the Template Conversion option. Make sure you enable your desired Auto Amazon Links templates in Dashboard -> Auto Amazon Links -> Templates. Then reload the 3rd Party screen. There, you’ll see active templates are listed for the conversion option.

What does a Unit mean?

A unit is a set of rules that defines how Amazon products should be displayed.

When you display Amazon products, you would specify a unit and the plugin will generate outputs based on the rules defined in the unit.

What would be the benefit to upgrade to the Pro version?

With the Pro version, unlimited numbers of units can be created. Also, the number of categories per unit, the number of items to display per unit are unrestricted as well. Please consider upgrading it. Auto Amazon Links Pro As of Pro 2.0.6, links can be displayed in multiple columns.

I get a blank white page after adding a unit to the theme. What is it? What should I do?

It could be the allocated memory capacity for PHP reached the limit. One way to increase it is to add the following code in your wp-config.php or functions.php
define( ‘WP_MEMORY_LIMIT’, ‘128M’ );
The part, 128M, should be changed accordingly.

I want to display product links horizontally in multiple columns. Is it possible?

Yes, with Pro!

I have a feature request. Would you implement that?

Post it from here.

I get Amazon product links everywhere on the site after creating some units. How can I restrict them to certain pages?

Go to Dashboard -> Auto Amazon Links -> Manage Auto-insert. There turn off unnecessary auto-insert items. You can edit their definitions and define where units should be displayed.

My credentials do not seem to be authenticated. How can I check if my access keys are the correct ones?

Try Scratchpad to make sure your keys work there as well.

Is the China locales supported?

For the category unit type, yes. But for the search and contextual unit types, no as PA-API 5 does not support it.

Is this plugin Amazon Auto Links?

Yes, that is the former name of this plugin and it is now Auto Amazon Links.

Do ad-block browser add-ons block the outputs of this plugin?

Unfortunately, some ad-block browser add-ons do that. To work around it, either rename the plugin installation directory, amazon-auto-links to something else which should be unique and not include the string of amazon-auto-links such as xyz or install from the GitHub repository using the Git Updater plugin.

Changed directory name:
Good:
– xyz
– foobar
– own-made-up-name
Bad:
– amazon-auto-links-2
– amazon-auto-links2

Then add the following code in the functions.php file.

add_filter( 'aal_filter_plugin_slug_output', 'func_aal_filter_plugin_slug_output' );
add_filter( 'aal_filter_plugin_slug_oembed', 'func_aal_filter_plugin_slug_output' );
function func_aal_filter_plugin_slug_output( $slug ) {
     return 'aal';
}

Please be aware that if the plugin installation directory name is changed, the automatic updates will not function. If you need automatic updates, go with the Git Updater solution.

Reviews

29 Aogositra 2024
I still have to test the pro version but I was really pleased with how simple it was to setup.
30 May 2024
After signing up as an Amazon Associate, I compared the plugins I was looking for and chose the one that suited me best.
20 Martsa 2024 1 reply
This plugin was great, but I woke up this morning to it randomly not working. It is preventing everything from my site from working/displaying correctly. Disabling the plugin resolves the issue, however the amazon links are then not displayed where I have placed the shortcodes.
06 Martsa 2024
This plugin is just perfect. Fully functional, easy to configurate, quick to setup and start promoting related products, making very easy to start earning some bucks from Amazon Affiliates program
Read all 92 reviews

Contributors & Developers

“Auto Amazon Links – Amazon Associates Affiliate Plugin” is open source software. The following people have contributed to this plugin.

Contributors

“Auto Amazon Links – Amazon Associates Affiliate Plugin” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Auto Amazon Links – Amazon Associates Affiliate Plugin” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

5.4.2 – 10/02/2024

  • Fixed a bug that the sort shortcode argument did not take effect when used with the asin argument.
  • Fixed a PHP critical error saying “Uncaught ValueError: DOMDocument::loadHTML(): Argument #1 ($source) must not be empty.”
  • Added the Server section in the About tab of the Help page.
  • Added the ability to automatically update the default options of Country and Associate ID when the options of the Associates section are updated.
  • Changed to show some About details only when the Debug Mode with back-end is enabled.
  • Fixed a PHP warning saying “Deprecated: preg_replace(): Passing null to parameter #3” in PHP 8.2.
  • Changed the timing of applying the sort order of PA-API Item-Lookup units.
  • Added the ability to accept host names for HTTP proxies
  • Fixed the broken format in the unusable HTTP proxy list
  • Fixed a bug that the aal_filter_plugin_slug_oembed filter hook did not function
  • Fixed raw strings to be sanitized

Old Log

For old change logs, see here.