Boost Your Community With AffiliateWP

The way this guide is written and broken down is according to how I implemented AffiliateWP for my own purposes, when I was running an affiliate program for WP Turned UP.

With this guide, you can follow along to get up and running quickly without being overwhelmed with all the various options.

AffiliateWP has a ton of great documentation to further break down all of the possible settings and also keep in mind that the WP Turned UP Facebook group is a great place to see what others are doing in this area.

Unless a setting is specifically mentioned, assume the default settings are just fine to get going and what I used myself.

AffiliateWP Settings



  1. Grab your copy of AffiliateWP.
  2. Install and activate AffiliateWP.
  3. Click the ‘Dismiss Notice’ link to acknowledge that there are currently no AffiliateWP integrations enabled.
  4. WP Dashboard > Affiliates > Settings  > General > Input your License Key.


  • WP Dashboard > Affiliates > Settings  > General > Pages > Affiliate Area > Roll with the default page (‘Affiliate Program’) that’s automatically created for you or optionally use a page of your own and be sure to specify that page here with this setting.

I created a custom page for affiliates to log into their account and view their referral stats, generate affiliate links, and view their earnings, using Elementor.

This was done using the Elementor shortcode widget and adding the [affiliate_area] shortcode.

  • Terms of Use > Specify the page where your Terms of Use language is located.

I created a new policy page (‘Affiliate Program Terms’) for my Affiliate Program and excluded it from indexing and caching.

  • Terms of Use Label > Update the label to reflect the name of your Terms page.

Since I created a new policy page (‘Affiliate Program Terms’) for my Affiliate Program, I updated my Terms of Use Label to read ‘Agree to my Affiliate Program Terms and Privacy Policy’.

Referral Settings

  • Referral Variable > Set to ‘friend’. (
  • Default Referral Format > Username.
  • Pretty Affiliate URLs > Enable.
  • Excluded Tax > Enable.

Affiliate Form Settings

  • Affiliate Area Forms > Affiliate Login Form Only. (Note: We want to keep the Affiliate Area a bit cleaner, so I created a separate registration page for affiliates.).

I created a custom page for affiliates to register, using the Elementor shortcode widget and adding the [affiliate_registration] shortcode.

  • Required Registration Forms > Check the boxes for ‘Password, ‘Your Name’, and ‘Payment Email’.

For me, I don’t necessarily need to know which website you’ll be promoting my business on or how you will promote my business, so I removed the ‘Website URL’ and ‘How will you promote us?’ fields.

Even if someone provides a website URL or lists ways they will promote my business, realistically, I’m not going to take the time to verify that what they’ve said is constantly true.

Lastly, if people are promoting my services and products in general, I don’t really see the reward when compared to the risk of creating a form that has enough fields to detour a potential affiliate from signing up.



My website requires WooCommerce at the core, so this one is a no-brainer.

  • WP Dashboard > Affiliates > Settings  > Integrations > WooCommerce > Enable.

By default, with this integration in place, referrals will be rejected when any associated orders have a change in status from Processing, Completed, Pending, On Hold to Cancelled, Failed, or Trash.

Note: If your website offers refunds, you should consider rejecting referrals on refunds (Affiliates > Settings > Misc > Reject Unpaid Referrals on Refund).

Product Specific Rates

By default, there is a Referral Rate (WP Dashboard > Affiliates > Settings  > General) that is set to 20% for all affiliate sales, and this may not be desirable for your particular business.

If it’s not, the WooCommerce integration allows you to edit each of your products individually, giving them each their own payout settings.


  1. Logo > Add your logo.
  2. From Email > Ensure the current value is desirable. (Note: It defaults to the default Administrator Email Address (WP Dashboard > Settings > General) which may not be desirable to use for outgoing mail.).
  3. Email Notifications > Enable all.
  4. Affiliate Manager Email > Ensure the current value is desirable. (Note: It defaults to the default Administrator Email Address (WP Dashboard > Settings > General) which may not be desirable and/or include all of the required recipients.).
  5. Registration Email Subject > Set this to ‘WP Turned UP Affiliate Registration’. (Note: Adjusting the subject to include my site name, I could then clean up/simplify the body of the email template.).
  6. Registration Email Content > I adjusted the email body to appear as follows.

Name: {name}
Username: {user_name}
Email: {user_email}

  1. New Referral Email Options for Affiliate Manager > New Referral Email Subject > I adjusted the email body to appear as follows.

Name: {name}
Username: {user_name}
Amount: {amount}

  1. New Referral Email Options for Affiliate > New Referral Email Subject > I changed the email subject to ‘WP Turned UP Referral Awarded!’.
  2. New Referral Email Options for Affiliate > Application Accepted Email Subject > I changed the email subject to ‘WP Turned UP Affiliate Application Accepted’.


  • Allow Affiliate Registration > Enable.
  • Require Approval > Enable.
  • Enable reCAPTCHA > Enable and enter your reCAPTCHA v2 Invisible keys. (Note: Only V2 is supported at this time, and if you have yet to use reCAPTCHA for other areas of your website, you can get started by visiting the Google reCAPTCHA console.).
  • Reject Unpaid Referrals on Refund > Enable.

Payouts Service

For this, I’m using the built-in Payouts Service for AffiliateWP.

Note: For my clients that would like to use the built-in service as well, you will need to first create a FREE account with AffiliateWP, which you will use to authenticate with the Payouts Service.

Payouts Service for AffiliateWP Benefits

  • I’m not huge fans of PayPal in general, which seems to be the primary alternative option here.
  • The overall benefits this service provides (simplicity, speed, etc.).
  • The ability to pay with a company credit card, allows me to accumulate points and recoup some of the costs of running an affiliate program.

Note: The built-in Payouts Service may not be available in your country and for that, you can use the PayPal Payouts Add-on (Pro Level).

Enable the Payouts Service

  1. Connection Status > Click the ‘Connect to the AffiliateWP Payouts Service’ link.
  2. Fill in the form and click the ‘Connect Site’ button.
  3. Enable Payouts Service > Enable.
  4. Payouts Service Notice > Optionally, add your desired notice or use my notice shown below, and save changes.

“To receive your affiliate payout earnings, please register your bank account or debit card from your settings page”.

boost your mylisting website community usign affiliatewp area

Affiliate Payment Registration

Before affiliates can receive their payouts, they first need to register with your website, and here is how that journey goes.

  1. Affiliates log into their account.
  2. Affiliates input their payout profile info on the settings tab of their account.
  3. Affiliates click the ‘Register for PayOuts Service’ button.
  4. Affiliates input their banking information to specify where their earnings will be deposited.
  5. Affiliates click the ‘Submit Payout Details’ button.

Processing Payments

  1. Affliates > Payouts > Click the ‘Pay Affiliates’ button.
  2. Fill in the payout criteria. (Note: Since I don’t require a minimum commission in order to be eligible for a payout, I can simply skip the criteria.).
  3. Select the ‘Payouts Service’. (Note: As a reminder, I’m using the built-in payouts option, which is what this selection is tied to.).
  4. Click the ‘Preview Payout’ button.
  5. Click the ‘Submit Payment’ button if all looks good.

Payouts will disperse to affiliates within 2-14 days and each affiliate will be notified when their earnings are deposited.

Affiliate Area Design

This area is included as part of the base AffiliateWP solution.

If you have access to the AffiliateWP Pro Add-ons, I highly recommend skipping down to the Affiliate Portal section in order to give your affiliates a better overall experience.

boost your mylisting website community usign affiliatewp affiliate area design


This is the tab where website owners can include artwork for their affiliates to use, like logos, banners, etc., but I found this area to not be very user-friendly.

I created a custom Brand Assets page to have complete control of how I wanted to present the assets and created a server-level redirect to redirect the ‘Creatives’ tab to a custom page.

Note: If your website is hosted with Kinsta, simply jump on a support chat with and request the following redirection: /affiliate-area/?tab=creatives to /your-custom-page/

Affiliate Portal

The Affiliate Portal is a new alternative to the Affiliate Area, providing a modern, elegant interface for your affiliates, that looks great on all devices with no coding or customization required, and works perfectly with any site theme.

Affiliate Area vs. Affiliate Portal

When you install AffiliateWP they automatically create an Affiliate Area for you on your site and this is where your affiliates can log in, generate referral links, track their progress, get creative assets, etc., and the appearance of this area is determined by your WordPress theme.

With some themes, it can be hard to customize and get the Affiliate Area looking exactly how you want, depending on your development skills and/or comfort with CSS, but when you install the Affiliate Portal it won’t look like the rest of your website, and instead, affiliates will find an intuitive interface right out of the box.


  • Modern and Attractive Interface
  • Paginated Browsing for Performance
  • Mobile Responsive
  • Compatible With All WordPress Themes
  • No Maintenance. No Customization (CSS, JS, or PHP) Required
  • Sortable data


  1. Download, install and activate the Affiliate Portal add-on.
  2. Affiliates > Settings > Affiliate Portal > Enable the Affiliate Portal.
  3. Save changes.

Without doing any more than that, we can see just how much more modern the Affiliate Portal becomes.

boost your mylisting website community usign affiliatewp portal


As I mentioned in the Affiliate Area section above, I have a custom page (‘Brand Assets’) where I provide assets (Color Palette, Logos, etc.) for affiliates, and I redirect the ‘Creatives’ menu item to my Brand Assets page.

When I implemented the Affiliate Portal add-on I noticed the Creatives link had changed from /?tab=creatives to /creatives, so I simply adjusted a server-level redirection rule on Kinsta, to reflect the change.

AffiliateWP Add-ons

AffiliateWP offers so many ways to increase engagement with your affiliates. Below, I have highlighted some of the AffiliateWP add-ons I’m excited about, some of which I’ve implemented and some of which I think should be considered.


Recurring Referrals

For those that use WooCommerce Subscriptions, this add-on allows you to record affiliate commissions anytime a subscription payment is made, rather than just paying out for the initial payment of the subscription.

  1. Install and activate the add-on (Pro Level).
  2. Click the ‘Upgrade Database’ button shown in your WP Dashboard.
  3. WP Dashboard > Affiliates > Settings  > Recurring Referrals > Enable Recurring Referrals > Enable.
  4. Recurring Rate > 20%.

Affiliate Portal

I have a dedicated ‘Affiliate Portal’ section in this guide where you can find more information about this add-on, as well as steps to implement it.


Store Credit

If your website requires WooCommerce, this option is great, as it allows you to bring the money right back into your store and ease the potential pain of dealing with monetary payouts.

For those that use WooCommerce Subscriptions, this add-on also allows you to apply store credit towards subscription renewals.

  1. Install and activate the add-on (FREE).
  2. Click the ‘Upgrade Database’ button shown in your WP Dashboard.
  3. WP Dashboard > Affiliates > Settings  > Store Credit > Enable Store Credit > Enable.
  4. Enable Store Credit Opt-In > Enable. (Note: This gives the ability for the affiliate to choose if they would like to receive store credit instead of a monetary payout.).
  5. Apply Store Credit To WooCommerce Subscriptions Renewals Orders> Enable. (Note: This will automatically apply any available store credit to the affiliates existing subscription renewals if applicable.).

Note: I decided to remove this from my implementation of AffiliateWP, because with previous affiliate programs I’ve run, getting store credit wasn’t something that excited potential affiliates.

Affiliate Landing Pages

AffiliateWP offers so many ways to increase engagement with your affiliates and I’ve highlighted one that I’m pretty excited about but have yet to implement…’Affiliate Landing Pages’.

Affiliate Landing Pages allow you to create dedicated landing pages for your affiliates, which they can promote without having to use an affiliate link.

Note: If/when I implement this add-on, you should enable Pretty Affiliate URLs ( Affiliates > Settings > Pretty Affiliate URLs) if you haven’t already, as this is better for SEO.

Guest Blogging

Any time an affiliate creates a blog post on your website, you can assign that blog post to the affiliate, so they can possibly get a commission if/when users browse your website and make a purchase.

Brand Ambassador Pages

You could dedicate a page for an affiliate, allowing them to contribute to the building of their page, which they can then promote across all of their channels, recommending your website for which they are guest-blogging on.

Exclusive Affiliate(s)

Let’s say that someone loves what your website is all about, but they also have strong knowledge of something you are offering (services, products, etc.), so you could create a unique landing page for a service or product, that the exclusive affiliate(s) help contribute to and promote across their channels.

AffiliateWP Templates

Registration Form

Out of the box, AffiliateWP provides a form, but it could use a little design help (needs asterisks added for required fields) and for me, it includes fields that I don’t need (see ‘Affiliate Form Settings’ section above).

To take care of both these items, a simple adjustment to AffiliateWP’s registration template is all that’s needed, which also eliminates adding another plugin (AffiliateWP Add-on) to the mix.

The above said, there may be some that what to do even more with their forms and for that, you can further edit the registration template, use the Gravity Forms Add-on, or use the Ninja Forms Add-on.

Registration Form CSS

 .affwp-form legend {
    display: none;

Registration Form Template

The steps below outline how to easily edit this template and ensure it doesn’t get overwritten with further updates to AffiliateWP.

I prefer to use FTP for this task, but you can use a plugin like File Manager to accomplish the same.

  1. Browse to the folder of your Child Theme (/wp-content/themes/your-child-theme).
  2. Create a folder name ‘affiliatewp’.
  3. Browse to the Affiliate WP templates folder (wp-content/plugins/affiliate-wp/templates).
  4. Copy ‘register.php’ into the Child Theme folder and edit the file as desired -or-
  5. Edit the file and paste in my pre-configured registration file template.
boost your mylisting website community usign affiliatewp registration form

AffiliateWP Testing

Test Affiliate Account

  1. WordPress Dashboard > Users > Add New.
  2. Username > ‘affiliatetest’.
  3. Email > Set an email address. (Note: Be sure to use an address you have access to so you can test notifications, see how emails look, etc.).
  4. Send User Notification > Disable.
  5. Add as Affiliate > Enable.
  6. Click the ‘Add New User’ button.
  7. Affiliates > Affiliates > Hover over the test affiliate and click ‘Accept’ to set the account as ‘Active’. (Note: The affiliate account will already have an Active status if you haven’t configured the ‘Require Approval’ setting as I have.)

Test Referral Visits

  1. Affiliates > Visits > Open this section in a browser like Chrome.
  2. Open a completely separate browser like Edge and paste in the test user’s affiliate link (e.g.
  3. Go back to the browser where you have Affiliates > Visits open and ensure there is a new entry for the test affiliate.
  4. Keep both browsers open for testing referral purchases.

Note: Make sure your test affiliate has an active status.

Test Referral Purchases

For the following steps, I’m assuming that you are working in an environment where you can make test purchases without incurring a charge for yourself.

You can do this by toggling your payment gateway to ‘Test Mode’, by enabling a payment gateway like ‘Cash on Delivery’, etc., and these adjustments can be done by going to WooCommerce > Settings > Payments.

  1. Affiliates > Settings > Integrations > Ensure you have the integrations (if any) active that you would like to test against.
  2. Affiliates > Referrals > Open this section in a browser like Chrome.
  3. Go back to the browser that you used to generate the referral visit (step #2 above) and paste in the test user’s affiliate link (e.g.
  4. Complete a purchase on your website that’s eligible for a commission. (Note: Make sure the email address you use for the purchase is not the same as the affiliate’s email address.).
  5. Go back to the browser where you have Affiliates > Referrals open and refresh the page.

Note: Since my website was Live and actively taking orders, my process was to use a Staging environment with Stripe in ‘Test Mode’.

Note: If the referrals are not being recorded, follow the process above again, but this time starts by clearing the cookies in the browser you’re running the tests from, using the screenshot below as a reference.

AffiliateWP Optimization


boost your mylisting website community usign affiliatewp testing referrals

Aside from the AffiliateWP assets (CSS and JavaScript), very little else needs to load on the pages associated with AffiliateWP, so I want to use Perfmatters to make things lean and mean.

Please refer to my How to Optimize MyListing Websites With Perfmatters guide for information on how to use Script Manager to prevent unnecessary assets from loading.

Once you dial in one of the AffiliateWP pages with Script Manager, the others should be pretty much identical, so all you need to do is mirror the settings.

Note: It’s also important to note that since you are adding multiple plugins to get AffiliateWP running, you should go back through your critical pages (Home, Explore pages, etc.) and prevent AffiliateWP CSS and JS from loading.


I recommend excluding all AffiliateWP pages from caching just to be on the safe side in terms of affiliates seeing the correct information, forms working, etc., and if you’ve followed this guide in terms of the pages created, I’ve listed those pages below.

If your website is hosted with Kinsta, you can simply jump on a chat with them and let them know the URLs above should be excluded from caching.

If you are using a caching plugin you can easily exclude the above URLs within that plugin.

  • /affiliate-area/
  • /affiliate-registration/
  • /affiliate-terms/


I recommend excluding all AffiliateWP pages from indexing, as they carry no value in terms of search engine rankings and if you’ve followed this guide in terms of the pages created, I’ve listed those pages below.

  • /affiliate-area/
  • /affiliate-registration/
  • /affiliate-terms/