Internationalization (i18n)

With ASA 2‘s internationalization (i18n) feature you are able to load a product from the user’s origin Amazon store to make money from all supported stores around the world.

ASA 2 tries to determine the user’s country by his/her IP address. If the country is one of Amazon’s supported Product Advertisment API countries and the ASA 2 Repo product is prepared for i18n, ASA 2 loads the respective product dynamically.

This product includes GeoLite2 data created by MaxMind, available from


Internationalization works with Repo products.



Before you can use i18n, you have to activate the option “Internationalization (i18n)” in the option panel “i18n”:

i18n activate

i18n flowchart

This flow chart illustrates the steps ASA 2 takes to determine if a product should be replaced by the one from the user’s country.

i18n flowchart

Preparing Repo items for i18n

To prepare a product to be loaded dynamically from the visitor’s Amazon country store, you have to use ASA 2‘s Repo items.

After the i18n option is activated (see Activation), you will see a new metabox “Internationalization” on a Repo item’s edit page:

i18n repo item metabox

Now you can enter the product’s ASINs of all the other Amazon stores you want to refer to.

For example, if you want to add the ASIN of the german Amazon shop for the example product “LEGO Star Wars 75055 Imperial Star Destroyer”, click the search button next to the “DE” input field (1 in the screenshot below).

In the opened product picker window, enter the product title in the search field (2), click the “Search” button and select the corresponding product from the list (3). The ASIN will be entered in the german field automatically (4).

i18n repo item prepare

Repeat this for all other country stores you want to work with.

On the Repo overview page, products prepared for internationalization have a small world ball icon below their flag. The number next to it refers to the amount of ASINs stored for other country stores.

i18n repo overview

Filtering i18n products

On the Repo overview page, you can use the i18n filter options to either show only products with i18n data or exclude them. This can be very helpful when managing your i18n products.

i18n repo filter

Embedding i18n products

You embed i18n prepared products just like any other product, e.g. with shortcode [asa2].

To stay with the example of the screenshots above, this would be:


When a user accesses that page, ASA 2 determines his/her origin and matches it with the prepared ASINs, as described in the i18n flowchart. If a product is prepared for the user’s country, it gets loaded instead of the main product.

Associate ID mapping

ASA 2 supports the use of multiple Associate IDs. You can manage them in Associate ID sets. Each set keeps an ID for every supported Amazon store. When you are working with internationalization, you should at least have one Associate ID set. Otherwise all products will use the default Associate ID defined in the Setup section.


You should at least have one Associate ID set when working with i18n.

When an i18n product gets loaded, ASA 2 will replace the default Associate ID with the one from the matching Associate ID set.

Associate ID mapping flowchart

i18n Associate ID mapping

If nothing else is defined, i18n products will work with the Associate ID set marked as default.

You can define to use a special Associate ID set, by using the shortcode option associate_id_set, like:

[asa2 associate_id_set="my-other-i18n-ids"]B00J4S962W[/asa2]

For more details see shortcode option: associate_id_set.

Testing i18n

The easiest way to test i18n prepared products, is to use ASA 2‘s i18n demo options:

i18n demo options

You can define a demo user by entering the ID of the user account in the option field “i18n demo user ID”.

The easiest way to find out the user ID is to open the edit page of the user account and take it from the URL:

i18n find out user id

Select a country from the option field “i18n demo country”. This country will be simulated as origin when ASA 2 is analyzing the IP address of that user.