Skip to content

How to Set Up and Extend External Products and Affiliates in WooCommerce


There will be times when you want to sell a product that is displayed on your site but is purchased on another site (or example if you are an affiliate or a reseller). In this post, I show you how to set up external and affiliate products for your online store.

Although there is a distinction between these two, it’s more semantics than anything else.

What is an External Product in WooCommerce

An external product is a useful way to add a product on your site that your customers will purchase on another site. An example of this would be a product that you link to on another site and you receive a commission, which is similar to an affiliate in a lot of ways. The benefit of adding external products is that the outside site takes care of inventory, tax and shipping. Although Amazon is a perfect example of this, read on to learn what you need to be careful with when it comes to Amazon.

What is an Affiliate Product in WooCommerce

As with external products, a customer will purchase the product on another site. Affiliates are a great way to make some extra income on your site. This allows you to take it even further. Instead of simple images or a hyperlink that someone clicks on, instead you can add that product or service directly to your online store.

Setting up an external/affiliate product

Setup is very simple since you don’t need to worry about tax or shipping. Simply choose External/Affiliate product from the Product Data dropdown menu.

1. Add the product URL. This will be the affiliate link or other links you were given that lead the customer directly to the outside site.

2. Being able to add a custom button is a big advantage here. So you are not confusing or surprising your customers, you can have the button say something like “Buy On Amazon.” That way, they know what is going to happen and you are not misleading them.

woocommerce external affiliate product settings

One option you do not have with the WooCommerce default settings for external links is the ability to open links in a new window or tab. Here is a post that will who you how you can do that with a free plugin.

The challenge of changing prices for your external products

Typically, if you are using this for affiliate links, you can keep up with the price. But if you are creating other external links, it will be up to you to change the price on your site. If you are using Amazon affiliates, be careful. I have been told that they are opposed to you setting prices manually, which you would be doing here, and it might appear that you are quoting a lower price than it really is. Best to go with just links for your Amazon affiliates.

And if you are linking to prices outside of Amazon that change often, you may want to make note that this price may have changed when they click through.

Using WooCommerce Blocks on Pages and Posts

There are several blocks that allow you to add a product or products to any page or post on your site. When you are using external links, this could be a real advantage especially if you are doing posts on products you are affiliated with.

All the blocks available will work with any affiliate or external item created as a WooCommerce product. This is the list of them all, but if you are looking to get more specific on the products:

  • Use the Hand-picked products block to choose what you want to any to any page or post.
  • Use categories to group together external products that you want to share on a post or page.

Learn how to set up a product and an external link on WooCommerce

Have you ever wanted to be able to sell a product on your site and include some external links as well. For example, you have a book on your site. But you would like your readers to have the option to also purchase it on Amazon, as well as a Kindle version there. This post will show you how to do just that.

Amazon Links and Cloaking

If you want to cloak your affiliate links beware of how Amazon perceives those. These links are described as cloaked, but others call them pretty links. In other words, they use the long, ugly link that you get from Amazon and turn it into a much nicer link. These are great when verbally repeating links in a video or a podcast, but beware. Amazon does not like you using redirected links which are one and the same as a cloaked link.

So if you want to have cloaked links on all your other affiliates, but not on your Amazon links, use a plugin like Thirsty Affiliates Pro that gives you uncloaking options for Amazon links or any other specific links where it might be going against their terms of service.

Want to learn more about using WooCommerce for your affiliates?

Here are a few other posts you might be interested in.

How to list multiple affiliate links for a single product

If you run a niche site where you use several vendors for one specific product, this post shows you how easy it is to do with the product retailers extension.

How to manage your affiliate links with WooCommerce

If you use WooCommerce to display affiliate ads and products, in this post we show you how to combine it with Thirsty Affiliates for a great way to manage them all together.

How to Use WooCommerce for Your Affiliate Marketing

In an episode of our WP eCommerce podcast, learn how to set up your affiliate in WooCommerce and WordPress, better manage your affiliates and how we use it for our own site, as well as what you should consider before setting up your affiliate shop page. Or you can read this post.

Need to open your WooCommerce external links in a new window?

If you’re using links from Amazon or somewhere else, and would like to have the link open in a new window, check out the free plugin WooCommerce External Products New Tab.

Linking to multiple external retailers for sales or affiliates.

Another option you might need is the ability to link a single, external product to multiple retailers. As an example. If you had a book on your site, you might sell it on both Amazon and your site.

Or perhaps, with your affiliates, you have a product that you want to list several different retailers which you are affiliated with. For example, selling a monitor and giving your site visitors the option to choose from buying it on Amazon, eBay and TigerDirect.

In both cases the Product Retailers extension will do the trick. You can learn more about it on this post.

Creating a Marketplace with WooCommerce

There may come a time when you are going to go beyond listing external links and wanting to create a marketplace using WooCommerce. Creating a marketplace involves putting several pieces together: the initial concept, finding vendors, creating and implementing the site and, of course, the marketing. The technical piece can be overwhelming and you might want to check out our post on building a multivendor marketplace.

Looking to Set Up Your Own Affiliate Program on Your WooCommerce Shop?

As a store owner, affiliates are a great way to encourage customers and fans to share your products with their friends and clients. In that case, maybe it’s time to set up your own program. Here is a post that shows you how easy this is to do with the WordPress plugin, AffiliateWP.


  1. Devon Richards on October 25, 2017 at 1:54 pm

    Is it possible to add buttons or links to an affiliate ad? I would like to offer a link to my own reviews of the products I’m promoting.

  2. BobWP on October 25, 2017 at 3:24 pm

    So I’m not sure if I understand what you want to do. In your review, you want to add links or buttons, or is there a specific ad, an image, that you want to add a link to?

  3. Anonymous on October 26, 2017 at 10:41 am

    Hi Bob, thanks for the reply! What I want to do is write reviews for products I import on an AliExpress affiliate site. Of course I want people to be able to click through to Ali, and that functionality is already built in. But I also want to provide the option of reading my review of the item. Ideally I would just embed a ‘Read Review’ button in the code of the imported ad with a plugin, if such a plugin exists. If not, looks like I’ll be shelling out for someone to code this for me.

  4. Peter on October 29, 2017 at 9:02 pm

    Hi – I’m using an affiliate link to a Zazzle store, so I can sell custom-designed promotional items through their on-demand service. The problem is, I can only put in one affiliate link on my product page. That’s fine to send customers to the US store, for example, but what I’d really like to do is send the customer to their own country’s store – eg, someone from the UK would go to the Zazzle UK store – either with a popup, list of buttons, or even automatically.

    This seems like one of those things that everyone would want to do, but I can’t find a way to do it anywhere. Would you have any ideas?
    Many thanks,

  5. BobWP on October 30, 2017 at 5:28 am

    Yeah, this is a tough one as I cannot see how you really want to to work exactly. And it’s a feature that not everyone needs, so since Woo is more product sales based vs. affiliates it won’t work as that feature isn’t baked into it.

    There might be same workarounds but again, without actually working on the site hard to look at all the options. What I would suggest is to look at this extension as it may be the solution you are looking for.

  6. Peter on October 30, 2017 at 1:24 pm

    Thanks for the fast reply Bob. I’m really surprised there’s no easy solution for this. All they need to do is add multiple affiliate links so users could select ‘Zazzle UK store’ or Zazzle US store’ or ‘Zazzle AUD store’ and then get sent to the right store. You can see the kind of thing here:

    – though they don’t appear to be using a shop interface and have just hard-coded in that popup.

    I’m beginning to think the only thing I can do is have the product page link lead to another page whre you then select from the list of options to go on again to the store. Which is a pain to set up for every product.

    Setting up a simple store to sell promotional items for my site has turned out to be harder than I imagined, that’s for sure! Everyone promises ease of use, but doesn’t really deliver.

    That Product Add-Ons plugin is a possibility, thankyou – shame it would cost me another US$49 to find out though!

  7. Anonymous on February 23, 2018 at 2:27 am

    I want to create multiple affiliate links to a single product in woocommerce, as unfortunately it allows us to add only one. Please suggest some free pluggin or hack.

  8. BobWP on February 23, 2018 at 7:48 am

    Yeah, that is an issue. And I’m not much of a hacking kind of guy, so not sure of what might do the trick. Also, trying to think of a plugin that would work around to offer something like that, but nothing off the top of my head. It would need to be some kind of grouping plugins for products. Will ponder on this and if I come up with a solution, will add it to the post 🙂

  9. Tracey Jardine on April 17, 2018 at 3:47 am

    I have a product on my website, which is an affiliate product, I have put in the link etc, but the product shows as out of stock as I have no way of managing the stock levels – cannot seem to remove the “out of stock” off the product which is an affiliate product. Can you please advise – this is the page and the product is the Lip Voltage Lip Plumper which is the second product on the page – as you will see it says out of stock – HELP, many thanks:-

  10. BobWP on April 22, 2018 at 2:17 pm

    Hey Tracey, sorry for the late reply, but apparently your comment ended up in SPAM. I am guessing you figured this out.

    Yes, you cannot set a stock level for an affiliate link, so you should hide it. Essentially they figure since you are linking to another site that sells it, you would not be controlling stock levels. And unfortunately there is no way to tie it in so you can know if they are out of stock.

  11. Rahul Bhoir on April 23, 2018 at 4:16 am

    Hi, Very interesting post. on the Woo commerce External product feature. I am looking for a setting where I should have a note of the email address of someone who clicks the external product link.

    Suppose that the external link is not an affiliate link however a link to some page on my website.
    It would be great to know who clicked the link to that page??

    is there any plugin with which I can do so. I am not planning to hide the product or shop for guest user only the product link should be available if you are logged in. Can we do this??

  12. BobWP on April 23, 2018 at 7:54 am

    Yeah, that is quite a bit beyond this built-in WC functionality. I know of some workarounds for tracking, but not specifically for single emails. Not sure if there is a way in Google Analytics. I do remember running across this plugin a bit ago and not sure if it would do what you need, but you might check it out: Email Tracker

  13. wantinnovation on May 15, 2018 at 5:40 pm

    You could look at using a comparison theme which would list different stores and their prices. This also enables you to have product feeds of various products that update on your site.

  14. BobWP on May 16, 2018 at 7:12 am

    That’s true, but with the flexibility of so many themes, and the added opportunity to add page builders, there are very few themes that you cannot do this with. And I’m sure there are also plenty of plugins that would allow you to add the feed as well to any theme. But for affiliates, the feeds don’t work as you need to use your affiliate link (URL) so that’s not really an option.

  15. kuoyifu on May 23, 2018 at 1:41 am

    Hi BobWP!
    I need some help, I´m looking for how can I agregate a external product by code. I have a form to introduce in database, it´s all right but it doesn´t link with the affiliate page. The button shows the url of my website.
    Do you know how can I do?
    My web page is

  16. BobWP on May 23, 2018 at 7:46 am

    Yeah, that would be something someone would need to dig into deeper, because the Woo external link is for simple links only.

  17. Aidonweb on June 3, 2018 at 6:27 am

    Hlw sir i have setup affiliate product on my wordpress site. i want to skip add to cart page and want to show external product link add to cart page. It’s possible. Please give me right advise thanks

  18. BobWP on June 3, 2018 at 6:51 am

    I believe I understand your question. You want them to add it to the external sites cart while still on your page? If that right, that can’t be done as we are talking two different sites, two different carts, etc.

  19. sonu on June 3, 2018 at 6:54 am

    Thanks for reply sir, I want only when any client click on shop page product image so its open external page cart not open wocommerce page cart.

  20. BobWP on June 3, 2018 at 7:00 am

    Ah, okay, I see what you mean. Yeah, sounds simple enough, but I don’t know of a way to do that either. The shop page is automatically created by adding products. So it’s already built in. Might be able to do a redirect, but that might mess things up.

    Not knowing how many affiliate products you have, I would suggest maybe not even using WooCommerce. Find a page builder that will let you create a grid page with image, any info you want to add and a link. That might be the easiest way.

  21. coreysamuelymailcom on November 7, 2018 at 11:09 pm

    Is there a way of displaying “out of stock” for affiliate products?

  22. BobWP on November 8, 2018 at 7:46 am

    Since it’s not products you stock yourself, by default, no WooCommerce doesn’t offer an inventory option for external products. Not sure if there is a plugin or not….

  23. Ross on November 10, 2018 at 6:54 am

    Hi, Im using wordpress for my amazon affiliate site. I use the external/affiliate option, add the url and then copy the image from amazon and upload it on my product image from my media, is this allowed?

    Some say it’s ok, others say no. Ive not received my API yet as I’m still under review, they’re waiting for me to make 3 sales before they review and I’m worried all this work I’m putting in, will be a waste of time if they terminate my account.

    Amazon won’t answer any question via email, just sends me links.

    Any help would be really appricated

  24. Amanda on November 10, 2018 at 11:03 am

    I’d like to know if you just download the images from your affiliates as jpg to upload into Woo? It seems all my networks always want me to generate html code for images and I’m never clear on if it is ok to just download and reupload the image to my site and attach my link? Any advice? Is that what you do to out an image in the Woo commerce plugin for your products?

  25. BobWP on November 12, 2018 at 8:13 am

    Hi Amanda, that is a good question. I found this via Google:

    You can’t just download images and upload them to your website. Amazon could shut down your Amazon associates account for that. You have to use the Amazon API in order to stay compliant with Amazon. As long as you go through the proper channels, you can use the images you see on Amazon on your own website.

    The thing is getting an answer from Amazon if there is a workaround. The workaround I did was this. I used a plugin called Thirsty Affiliates that manages your affliates which I recommend. Then I can use that URL and I use the image it pulls in on Woo. Like I said it’s a workaround and I believe it satisfies then as this uses the API.

  26. BobWP on November 12, 2018 at 8:21 am

    Depending on how you are building out your amazon affiliates on your site, you might want to consider using Thirsty Affiliates as it has a Amazon featured baked into it. Here is a post on that.

  27. Cynthia Smith on January 8, 2019 at 11:54 am

    Do you know if the external affiliate links are automatically set to nofollow in woocommerce or would I need to get a plugin to nofollow the external links? If so, do you recommend one?

  28. BobWP on January 8, 2019 at 12:20 pm

    Hi Cynthia, no, I don’t believe it does. Myself, I use Thirsty Affiliates for my links which lets me set a nofollow. It works great with WooCommerce. I haven’t had to use another plugin to do this. I know there are a lot of nofollow plugins on, but not sure if they work with WooCommerce products as well. It seems kind of tricky since you add the URL to the product, so essentially the product page link doesn’t matter if it’s a nofollow. I guess that is why I have used Thirsty Affiliates.. makes it easy.

  29. Cynthia Smith on January 8, 2019 at 12:35 pm

    Very helpful and quick response. Thank you!

  30. tribezzle on April 11, 2019 at 9:23 am

    I have a problem with multi currency…
    There are a number of WooCommerce currency converter plugins but they all assume a fixed base currency. But what about a WooCommerce store which sells Affiliate products from UK & US – so the FIXED price for some products is in $’s & others in £’s
    So, for a £ priced product you’d want the store to show the fixed £ price to UK visitors and estimated/calculated $ price for US visitors
    for a $ priced product the store should show the fixed $ price for US visitors and the estimated/calculated £ price for UK visitors.
    Is there any solution?

  31. BobWP on April 12, 2019 at 3:22 pm

    I had to think about that one. It would need to apply conditional logic based on the visitor location and then change the currency format. To be honest, I cannot think of one that would do that. The trick here is that is needs to know where the visitor is coming from and change the price as soon as they land on the store. Not sure if that’s even possible. Best bet would be is to add this currency converter in the sidebar and note to visitors use it to figure out what it will cost them in their currency? Not the best solution, but only one I can think of.

  32. niyi on April 19, 2019 at 9:56 am

    Great post. Very helpful. May i ask if its possible to click on the product and for it to go to the product page instead of going to straight to the external link. I want users to be able to read things like descriptions, size etc before clicking to the button that leads to the affiliate product

  33. BobWP on April 19, 2019 at 10:07 am

    Actually, with the default it isn’t possible to create an external link that goes to a product page. The best route is to use this extension that will make it much easier (here’s a post on it).

  34. Eric on July 11, 2019 at 5:43 am

    Hi niyi,

    By default, an external product will display the product name, image, price and [Buy product] button on a category page. The name, image and price all link to the product page on your site. The [Buy product] button, by default, links to the external affiliate site.

    One way to handle this is to remove the [Buy product] button from your category pages and replace it with a [More details] button which also links to the product page on your site.

    The following code does just that! It will remove the [Buy product] button for any of your External/Affiliate product links and replace that button with a [More details] button which links to the product page on your site. Just add the following code to your child theme’s functions.php file:

    Hope this helps!


  35. Jas on November 10, 2019 at 6:58 am

    What if you sell external/affiliate products from different retailers ( product feeds from different platforms, e.g. Ali express, CJ and maybe a white label merchant) and a customer wants to purchase e.g. 3 products that click through to 3 different merchants sites?

    How can they possibly combine the order as they are going to 3 different checkouts? Is this scenario just impossible to manage or is there a way?
    currently I only promote 1 merchants affiliate products and I want to add in more from different merchants but not necessarily from the same platforms. Is it possible to manager so the customer has a good experience?

  36. BobWP on November 12, 2019 at 10:51 am

    Yep, that is impossible. You have to remember that the cart experience when using any affiliate or external link has to be in the cart of the site they are sent to. The only way around that is to do re-selling.

Your thoughts...