Pro plugin Version 1.6.1 Updated

Affireo - Affiliates for WooCommerce documentation

Run an affiliate program inside your WooCommerce store: track referral links and coupons, set commissions per product, tier or purchase number, catch fraud and pay affiliates through PayPal, Stripe Connect, bank transfer, store credit or by hand.

Try the live demo Get Affireo

Overview

Affireo - Affiliates for WooCommerce Pro turns your WooCommerce store into an affiliate program. Affiliates share a personal link (for example ?ref=yourslug or /go/yourslug/) or a coupon. When a visitor buys within the tracking window, the affiliate earns a commission. You review the commissions and pay them out.

Everything lives under the Affiliates menu in WordPress: affiliates and their applications, referrals (commission records), visits, payouts, creatives, tiers, fraud log, reports, campaigns, tools and settings. Affiliates get a front end dashboard from the [ppl_afw_portal] shortcode, or as an Affiliate program tab in WooCommerce My Account. There they see their earnings, links, creatives, campaigns and payouts.

The Pro plugin works on its own: you do not need the free edition. If the free edition is installed, it stays idle while Pro is active, and both editions use the same data, so nothing has to be moved.

Requirements

  • WordPress 6.2 or later
  • PHP 7.4 or later
  • WooCommerce 8.0 or later (required plugin)
  • WooCommerce Subscriptions, only if you want recurring commissions on renewals
  • WP Consent API plugin (optional): with it installed, the referral cookie is set only with marketing consent

Installation

Affireo Pro needs WooCommerce. Install and activate WooCommerce first. You do not need the free edition of Affireo.

  1. Install and activate WooCommerce if it is not active yet.

  2. Log in to your ProPluginsLab account and open My Account > Downloads. Download the Affireo - Affiliates for WooCommerce Pro zip file.

  3. In WordPress, go to Plugins > Add New > Upload Plugin, choose the zip file and click Install Now.

  4. Click Activate. If the free edition of Affireo is active, it stays idle and shows a notice. Deactivate it yourself from the Plugins screen. Your affiliates, commissions and settings are shared, so nothing needs migrating.

  5. A short setup wizard opens. Follow it, or go to Affiliates > Settings to configure your program.

License and automatic updates

Affireo works fully as soon as it is activated. The license key turns on automatic updates, so new versions arrive in WordPress like any other plugin update. Pro features never depend on it.

Activate your license

  1. Find your license key in My Account on propluginslab.io, in the license keys section. It is also in your order confirmation email.

  2. In WordPress, open Affiliates > License. When two or more ProPluginsLab plugins or add-ons are active on the site, WooCommerce > Licenses also appears and lists all of them in one place.

  3. Paste the key into the Affireo - Affiliates for WooCommerce Pro row and click Activate. The status changes to Active and automatic updates are on.

The license screen with a license key field, an Activate button and the license status
Affiliates > License: paste the key and click Activate.

Receive updates automatically

Once the license is active, new versions of Affireo show up under Dashboard > Updates and on the Plugins screen. Click Update now, or click Enable auto-updates in the Affireo row on the Plugins screen and WordPress installs every future release for you.

Good to know

  • Keys are checked once a day in the background, so your site never waits for the license server. If the server is briefly unreachable, the plugin keeps its last known status.
  • An expired key or a key that is not accepted only stops updates. Affireo keeps working. After renewing, click Check now in its row.
  • Moving to a new domain: click Deactivate on the old site first, then activate the key on the new one. The status shows Site address changed, checking until the new address is confirmed.
  • On the command line: wp ppl-license list, wp ppl-license activate <plugin> <key>, wp ppl-license check and wp ppl-license deactivate <plugin>.

Quick start

  1. Run the setup wizard

    After activation a short wizard asks what affiliates earn (a percentage or a fixed amount), how long a referral link keeps working, the holding period before commissions can be paid, whether applications are approved automatically, and whether to create the affiliate page for you. You can run it again from Affiliates > Tools > Re-run the setup wizard.

  2. Check the commission and tracking settings

    Go to Affiliates > Settings. On the Commissions tab set the Default commission and the Grace period. On the Tracking tab set the Cookie duration and choose an Attribution model. Click Save settings on each tab.

  3. Create the affiliate page

    If the wizard did not create it, add a page with the shortcode [ppl_afw_portal]. Enter the page ID in Dashboard page ID on the Portal tab. Visitors see the signup form there, and approved affiliates see their dashboard.

  4. Choose how you pay affiliates

    On the Payouts tab set the Minimum payout and tick the Payout methods you offer. For Stripe Connect add a Stripe secret key. For automatic PayPal payouts set up the PayPal Payouts API.

  5. Approve your first affiliate

    When someone applies, a notice on Affiliates > Overview says applications are waiting. Click Review now, open the affiliate and set Status to active, or approve from the list. The affiliate can now share their link from the dashboard.

  6. Pay commissions

    Once commissions pass the grace period they become approved. Go to Affiliates > Payouts and click Run payouts now, or set a Payout schedule so payouts run automatically.

#Overview

Affiliates > Overview is the start page of the plugin. It shows your headline numbers, a Commissions per day chart and the Top affiliates (30 days) table with each affiliate's conversions and earnings.

When applications are waiting, a notice tells you how many and offers a Review now button that opens the affiliates list. The numbers update right away when a referral is recorded.

Affiliate Program Overview screen with a commissions chart and a top affiliates table
The notice at the top links straight to applications waiting for review.

#All Affiliates

Affiliates > All Affiliates lists every affiliate with their slug, status, unpaid balance, lifetime earnings and join date.

  • Use Search affiliates to find someone by name or slug.
  • Filter by status: pending, active, suspended or rejected.
  • Tick several rows, pick a bulk action (approve, reject or suspend) and click Apply.
  • Use Pay now on an affiliate's row to pay that one affiliate right away.

Click a name to open the affiliate's screen.

Affiliates list with columns for slug, status, unpaid and lifetime earnings and join date
Tick rows and use the bulk action menu to approve or suspend several affiliates at once.

#Editing an affiliate

The affiliate's screen shows their unpaid balance, lifetime earnings, approved referrals and join date at the top. Below that you can manage everything about one affiliate:

  1. Status: change it and, if you like, type a reason. Only active affiliates earn and are paid.
  2. Referral slug: the word in their links, for example ?ref=slug. Slugs are 3 to 32 characters: lowercase letters, numbers and hyphens.
  3. Custom rate: a rate just for this affiliate. Leave it on Use default cascade to use the normal rates.
  4. Payout method: the method used when this affiliate is paid. Affiliates normally choose it themselves in their dashboard.
  5. Tier: place the affiliate in a tier by hand.
  6. Recruiter (only when the multi level network is on): place this affiliate and their recruits under another affiliate. It can be set only once.
  7. Verified domains: websites the affiliate owns, for direct link tracking.
  8. Rates per product: a rate for this affiliate on a product or variation. These beat every other rate for this affiliate.

Click Save affiliate. On the right you see Recent referrals, the Activity log and the Coupons linked to the affiliate. Click Create a coupon for this affiliate to make one with the discount set under Settings > Affiliates. Application data shows the answers from their signup form.

Administrators can click Preview dashboard (active affiliates only) to see a read only view of the affiliate's dashboard.

Affiliate screen with profile and rate fields, recent referrals, activity log and coupons
Rates per product at the bottom of the form override every other rate for this affiliate.

#Referrals

Affiliates > Referrals lists every commission record with its affiliate, order, type, commission, order base, status, campaign and date. A referral moves through these statuses:

  • Pending: within the grace period, or waiting for the order to be paid.
  • Approved: payable, and added to the affiliate's unpaid balance.
  • Paid: included in a payout.
  • Rejected or Refunded: reversed.

Approve or reject a referral from its row, or tick several and use the bulk action. Rejecting a referral also rejects the network overrides it created. Held referrals show a Fraud hold marker.

Add a manual referral

Use the Add manual referral form to credit an affiliate by hand: enter the Affiliate ID, an optional Order ID, the Amount and a Note, then click Add referral. The referral is added and approved at once, in your store currency.

Referrals list with commission, status and campaign columns and the Add manual referral form
The manual referral form at the bottom credits an affiliate directly.

#Visits

Affiliates > Visits is the log of every referral visit: affiliate, landing page, referrer, device, IP, whether it converted, campaign and date. IP addresses are stored as hashes.

Filter by affiliate or by converted visits and click Filter. Export CSV downloads the log, following the filters you set.

Visits log with landing page, referrer, device, converted and campaign columns
Export CSV follows the converted and affiliate filters.

#Payouts

Affiliates > Payouts is where you pay affiliates and keep the payout history.

  • Run payouts now creates a payout for every active affiliate whose approved balance reaches the Minimum payout. The button shows how many affiliates are eligible.
  • Each currency is paid as its own payout. Amounts are never converted.
  • Each payout gets a sequential invoice number such as AFF-2026-000001 and a printable invoice.
How payouts complete
  • Store credit coupon and Stripe Connect move the money themselves, so the payout completes at once and the affiliate is told.
  • Bank transfer, Manual / offline and PayPal without the Payouts API are recorded as awaiting payment. Send the money, then click Mark as sent on the payout (or Mark all awaiting payment as sent). Only then does the affiliate get the "Payout sent" email.
  • PayPal with the Payouts API on is sent by PayPal and completes when PayPal confirms it.

Cancel on a payout awaiting payment returns its commissions to the affiliate's balance. Failed payouts can be retried.

Exports
  • Export unpaid balances (CSV): approved commissions not in a payout yet, per affiliate and currency.
  • Export awaiting payment (CSV): payouts not sent yet, with each affiliate's PayPal email or bank details, for a bulk payment.
  • Export completed (CSV): the payouts that were sent.
  • Export SEPA XML (when the SEPA bank file details are saved): a SEPA credit transfer file for euro bank transfers.
Invoices

Click an invoice number to open the payout invoice. Use Print / save as PDF to keep a copy. Affiliates can open and print their own invoices from their dashboard.

Payouts screen with Run payouts now and three CSV export buttons above the payout list
The Run payouts now button shows how many affiliates are eligible.
Printable payout invoice with invoice number and amount
Print / save as PDF gives you a copy of each payout invoice.

#Creatives

Affiliates > Creatives is a library of banners and links your affiliates can use. The list shows each creative's type, category, status, impressions, clicks and click-through rate.

To add one, click Add new and fill in:

  1. Title.
  2. Type: a banner shows an image, a text link shows anchor text, and custom HTML lets you paste your own markup. In custom HTML put {{link}} where the affiliate's referral link should go.
  3. Banner image (banners only): click Choose image to pick it from the media library.
  4. Content: the anchor text or HTML.
  5. Landing URL: where clicks land. Leave it empty to use the shop homepage.
  6. Category, so affiliates can filter creatives.
  7. Status: Active or Inactive.

As soon as one creative is active, affiliates get a Creatives tab in their dashboard with ready to paste code that already contains their referral link. Banner code includes an impression pixel, clicks are counted once a minute per visitor, and inactive creatives never count.

Creatives list with type, category, status, impressions, clicks and CTR columns
Impressions and clicks show which creatives perform.

#Tiers

Affiliates > Tiers lets you reward your best affiliates with a higher rate, for example Silver at 20% and Gold at 30%.

To create a tier, fill in Add tier:

  1. Name of the tier.
  2. Rate and its type (Percentage or Flat per order).
  3. Min approved referrals and Min lifetime earnings: the thresholds an affiliate must reach.
  4. Click Create tier.

Each night affiliates are promoted to the best tier whose thresholds they meet. Promotion never moves anyone down. A tier without thresholds is assigned by hand only: use Assign an affiliate on this screen, or the Tier field on the affiliate's screen. Promoted affiliates get the Affiliate tier promotion email unless they switched off "Tier promotions" in their dashboard.

Commission Tiers screen with the tier list and the Add tier form
Leave both thresholds at 0 for a tier you assign by hand.

#Fraud log

Affiliates > Fraud lists every scored event with the affiliate, the event, its risk score, the signals that raised it and the date.

Each referral is scored for risk signals: an affiliate buying through their own link, an order from an IP the affiliate has logged in from, or a flood of clicks in a short time. Referrals at or above the Hold threshold are held, and affiliates at or above the Suspend threshold are suspended automatically. Set the thresholds on the Fraud settings tab (advanced mode).

Click Release hold to release a held commission. This also releases the network overrides it held.

Fraud log table with risk score and signals columns
Each row shows which signals raised the risk score.

#Reports

Affiliates > Reports shows Visits per day, Commissions per day, Top affiliates and Top campaigns for a date range.

  1. Pick From and To dates and click Apply.
  2. To export referrals, choose a status in the export menu (or keep All statuses) and click Export referrals in range (CSV).
  3. Click Export affiliates (CSV) for a list of your affiliates.

Report totals are not converted between currencies.

Affiliate Reports with date range, charts, top affiliates and top campaigns
The export uses the selected date range and status.

#Campaigns

Affiliates tag their links with a campaign by adding &campaign=tag to a referral link (the link builder in their dashboard has a campaign field), or by creating a named campaign on the Campaigns tab of their dashboard. Every visit from a tagged link counts as a click, and commissions from those visits count as sales.

Affiliates > Campaigns lists each campaign with its affiliate, clicks, sales, conversion rate and commission. Pick From and To dates and click Apply. The Visits and Referrals screens also have a Campaign column.

Campaigns screen with a date range and a table of campaigns with clicks, sales and conversion rate
Change the date range to compare campaigns over time.

#Tools

Affiliates > Tools has three parts.

  • Broadcast announcement: enter a Subject and a Message (HTML allowed), tick Also send by email if it should go out by email as well as in the dashboard feed, and click Send announcement. It goes to all active affiliates.
  • Data exports: Referrals (CSV), Affiliates (CSV), Visits (CSV) and Completed payouts (CSV).
  • Setup wizard: Re-run the setup wizard.
Affiliate Tools screen with the broadcast form, data export buttons and the setup wizard link
Untick Also send by email to post the announcement only in the dashboard feed.

#Settings: simple and advanced mode

Affiliates > Settings has the tabs Commissions, Tracking, Affiliates, Payouts, Portal and Advanced. Each tab has its own Save settings button.

The Settings mode on the Advanced tab decides how much you see:

  • Simple (recommended) shows the everyday options.
  • Advanced (show all options) also shows the extra fields on each tab and adds the Multi-level and Fraud tabs.

Saving a tab in simple mode keeps whatever you set for the advanced only options. If a value is not valid, the save stops with a message that starts with "Settings not saved:" and nothing is changed.

Affiliate Settings screen open on the Commissions tab
Settings opens on the Commissions tab.

#Settings: Commissions

The Commissions tab sets what affiliates earn and what counts toward a commission.

  1. Enter the Default commission and choose Percent of the order or Fixed amount per order.
  2. Decide what counts as the commission base: discounted line totals, tax and shipping.
  3. Set a Minimum order amount if small orders should earn nothing.
  4. Set the Grace period: commissions stay pending this many days so refunded orders are never paid.
  5. Keep self referrals blocked unless you want affiliates to earn on their own purchases.

In advanced mode you also get New customers only, Claw back refunds after payout, product, category and role exclusions, and Purchase sequence rules.

Which rate applies

Commissions are calculated per line item. The rate is picked most specific first:

  1. The affiliate's rate on that product or variation (Rates per product).
  2. The affiliate's Custom rate.
  3. A purchase sequence rule.
  4. Their tier.
  5. A variation rate.
  6. A product rate.
  7. A category rate (the highest of the product's categories).
  8. The store default.

Set product, variation and category rates in the Affiliate rate fields on the product edit screen (General tab), on each variation, and on the product category add and edit screens. Leave a field empty to fall through to the next rate. A fixed amount on a product, variation or category, or a rate per product, pays per unit sold. A fixed store default, custom, tier or sequence rate pays once per order.

Refunds

A full refund or cancellation reverses the commission. A partial refund removes only the refunded part. If the commission was already paid and Claw back refunds after payout is on, it is deducted from the next payout.

Commissions tab with default commission, commission base options, minimum order amount and grace period
Percentages are capped at 100%.

#Settings: Tracking

The Tracking tab controls how a sale is linked to an affiliate.

  • Referral links look like ?ref=yourslug or /go/yourslug/. In advanced mode you can rename the parameter and the short link base.
  • Cookie duration is how long after a click a purchase still counts.
  • Attribution model decides whether the first or the last affiliate link a visitor clicked gets the sale.
  • The cookieless fallback still attributes visitors who block cookies, through a hashed IP and browser fingerprint.
  • With coupon tracking on, a coupon linked to an affiliate credits them even without a link. Link a coupon in the coupon's Affiliate field (Marketing > Coupons, General tab), or create one from the affiliate's screen.
  • When sources disagree decides who wins when a coupon, a lifetime link and a referral link point to different affiliates. Coupons and lifetime links of affiliates who are not active never credit anyone.
  • Direct link tracking (off by default) credits visitors who arrive from an affiliate's verified website. Enter the domains on the affiliate's screen.

With the WP Consent API plugin installed, the referral cookie is set only when the visitor gave marketing consent. Visits without consent are still counted, without IP or browser data.

Tracking tab with cookie duration, attribution model, cookieless fallback, coupon tracking and direct link tracking
Direct link tracking is off until you tick it here.

#Settings: Affiliates and the signup form

The Affiliates tab controls who can join and what you ask them.

Approving applications

Tick Activate new applications instantly to approve everyone at once. Leave it unticked to review each application.

Building the signup form

The Signup form fields builder decides what applicants fill in. Each row has a label (what the applicant sees), a key (where the answer is stored), a type and a Required box.

  1. Click Add field for a new row, or Remove to delete one.
  2. Drag the handle to reorder rows.
  3. Pick the type: Text, Paragraph, Website URL, Email, Phone or Number. Email, phone and website fields are checked in the browser.
  4. Click Save settings.

Text in Program terms is shown above the terms checkbox on the form.

Account, My Account tab and coupons
  • With the account option on, visitors without an account fill in one form: their customer account is created, they are logged in and the application is sent.
  • With the My Account option on, WooCommerce My Account gets an Affiliate program tab with the dashboard or the signup form.
  • With the coupon option on, a coupon named after the affiliate's slug is created when they are approved. Affiliate coupon discount sets its discount. Coupon tracking (Tracking tab) must be on for those coupons to credit the affiliate.
Lifetime and recurring commissions

With lifetime commissions on, a referred customer earns for their affiliate on all future orders. In advanced mode you can set a Lifetime link expiry and turn on Recurring commissions for WooCommerce Subscriptions renewals, with a Recurring duration and a Recurring rate (%).

Affiliates tab with the signup form field builder, program terms and account and coupon options
Each signup field row has a label, a key, a type and a Required box.

#Settings: Payouts

The Payouts tab sets when and how affiliates are paid.

  1. Set the Minimum payout: the approved balance an affiliate must reach.
  2. Tick the Payout methods affiliates may choose in their dashboard.
  3. Choose a Payout schedule and Schedule day, or keep Manual only and run payouts yourself.
  4. Fill in the fields for the methods that need them: Stripe secret key for Stripe Connect, the PayPal Payouts API fields for automatic PayPal payouts, and the SEPA bank file fields for a euro bank file.
  5. Click Save settings.
Payout methods compared
Method What the affiliate enters How it completes
PayPal Their PayPal email Awaiting payment until you mark it as sent, or sent by PayPal when the Payouts API is on
Bank transfer Account holder, account number or IBAN, routing / sort / SWIFT code, bank name Awaiting payment until you mark it as sent
Stripe Connect Their Stripe account ID (acct_...) Completes at once through Stripe
Store credit coupon Nothing Completes at once with a coupon code starting aff-credit- (store currency only)
Manual / offline Nothing Awaiting payment until you mark it as sent

All payout details are stored encrypted and shown only masked. An IBAN is checked for typing errors.

Payout schedule

Weekly and every two weeks use the weekday in Schedule day (1 is Monday, 7 is Sunday). Every two weeks runs at least 14 days after the last run. Monthly uses the day of the month (1 to 28). Days follow your site's timezone, and a run missed by WP-Cron is caught up the next day. Scheduled runs pay every active affiliate whose balance reaches the minimum.

Payouts tab with minimum payout, payout methods, schedule, Stripe key, PayPal API and SEPA fields
Only the ticked methods appear in the affiliate's dashboard.

#Paying through Stripe Connect

Stripe Connect sends the money straight to the affiliate's Stripe account. You do not need a Stripe plugin: Affireo talks to the Stripe API directly.

  1. In your Stripe dashboard create a restricted key (rk_live_...) with write access to Transfers. A secret key starting sk_live_, sk_test_, rk_live_ or rk_test_ is accepted.
  2. Go to Affiliates > Settings > Payouts, tick Stripe Connect under Payout methods and paste the key into Stripe secret key.
  3. Click Save settings. The key is stored encrypted and never shown again: the field stays empty and only says a key is saved. Leave it empty to keep the key, type a new one to replace it, or tick Remove the saved key.
  4. Affiliates choose Stripe Connect in their dashboard and enter their Stripe account ID (acct_...).

Stripe payouts complete at once and the affiliate is told. When a Stripe payout is sent, the plugin sends your key, the amount, the currency, the affiliate's Stripe account ID and the invoice number to Stripe.

#Paying through PayPal

PayPal can work in two ways. Choose with PayPal Payouts API on the Payouts tab.

  • Off: I send PayPal payments myself and mark them as sent: PayPal payouts wait as awaiting payment. Pay each affiliate from your PayPal account (the Export awaiting payment (CSV) file lists their PayPal emails), then click Mark as sent.
  • Sandbox (test) or Live: PayPal payouts are sent from your PayPal account through the PayPal API. They stay awaiting payment until PayPal confirms them, checked every hour. A payout PayPal reports as failed or returned is marked failed and the balance is restored.
Setting up the API
  1. In your PayPal developer dashboard create a REST API app, with Payouts enabled on your business account.
  2. Copy the app's client ID and secret.
  3. Set PayPal Payouts API to Sandbox (test) and enter PayPal client ID and PayPal secret. Click Save settings. The secret is stored encrypted and never shown again; tick Remove the saved secret to delete it.
  4. Send a test payout with sandbox accounts. When it works, switch to Live with your live app's credentials and try a small payout first.

The integration has not been tested against live PayPal yet, so start in Sandbox mode.

#SEPA bank file for euro transfers

If you pay affiliates by bank transfer in euro, the plugin can build a SEPA credit transfer file (pain.001.001.03) to upload to your online banking.

  1. On the Payouts tab, under SEPA bank file, enter the store's Account holder, IBAN and, if your bank needs it, BIC (optional). Click Save settings.
  2. Run payouts. Bank transfer payouts are recorded as awaiting payment.
  3. On Affiliates > Payouts click Export SEPA XML. The file holds the euro bank transfer payouts awaiting payment whose IBAN is valid, each with its invoice number as the reference.
  4. Upload the file to your bank. When the bank has sent the transfers, mark the payouts as sent.

The export does not mark anything as paid, and it covers euro payouts only.

#Settings: Portal

The Portal tab connects and styles the affiliate dashboard.

  1. Enter the ID of the page that contains [ppl_afw_portal] in Dashboard page ID. It is used in emails and links.
  2. Match the dashboard to your brand with Accent color and Corner radius.
  3. To add a Leaderboard tab, tick the leaderboard option and set the Leaderboard period (7 to 365 days) and Leaderboard size (3 to 50 places). Affiliates choose to appear on it and are shown by their initials only.

In advanced mode, Separate signup page ID lets you use a standalone signup page with [ppl_afw_registration].

Portal tab with dashboard page ID, accent color, corner radius and leaderboard options
The leaderboard is off until you tick it.

#Multi-level network

The Multi-level tab appears in advanced mode. It lets affiliates recruit other affiliates and earn a share of their recruits' commissions.

  1. Set Settings mode to Advanced (show all options) on the Advanced tab and save.
  2. Open the Multi-level tab and tick Multi level network.
  3. Set Network depth (1 to 10 levels).
  4. Enter Level rates (%), for example 10, 5 pays level 1 10% and level 2 5%.
  5. Choose the Override basis and click Save settings.

When it is on, an Affiliates > Network screen shows the recruitment tree, where you can set a recruiter, and affiliates get a Network tab with their recruit link, their recruits (first name and last initial), levels and network earnings. Rejecting a referral also rejects the overrides it created.

#Fraud settings

The Fraud tab appears in advanced mode. Fraud prevention is on by default.

  • Hold threshold: referrals scoring at or above this are held until you release them on Affiliates > Fraud.
  • Suspend threshold: affiliates scoring at or above this are suspended automatically.
  • Click flood threshold: the number of visits within 10 minutes that counts as suspicious.

Lower the thresholds to be stricter, raise them if honest referrals get held.

#Settings: Advanced

The Advanced tab has two settings.

  • Settings mode: switch between simple and advanced mode.
  • Data removal: when ticked, deleting the plugin permanently removes all affiliate tables, options and user meta, including product, variation and category rates and the saved Stripe and PayPal secrets. It is off by default, so your data is kept when you delete the plugin.
Advanced tab with the settings mode menu and the data removal checkbox
Leave data removal off unless you want to erase everything on delete.

#Affiliates on WooCommerce orders

The WooCommerce orders list has an Affiliate column. On an order's screen, the Affiliate attribution box shows the affiliate, the commission and its status, with a link to the order's commissions.

To give the sale to someone else, pick an affiliate in Change affiliate (type a name, slug or ID) and update the order. The current commission is rejected and a new one is recorded at the new affiliate's rates. Choose None to remove the attribution. Only an active affiliate can be credited, and the affiliate can no longer be changed once the commission was paid out.

WooCommerce order screen with the Affiliate attribution box in the sidebar
Change affiliate in the sidebar moves the commission to another affiliate.

#Emails

The plugin adds these emails to WooCommerce > Settings > Emails, where you can edit the subject, heading and content or switch any of them off:

  • Affiliate approved: to the affiliate.
  • Affiliate rejected: to the affiliate.
  • New commission: to the affiliate when they earn.
  • Payout sent: to the affiliate when a payout completes or you mark it as sent.
  • Affiliate tier promotion: to the affiliate when they move up a tier.
  • New affiliate application: to the store admin.
  • New referral (admin): to the store admin when an order is credited to an affiliate. It is off by default.

They use your WooCommerce email template. Affiliates can switch off the New commission, Payout sent and Tier promotion emails in the Settings tab of their dashboard.

Settings reference

Affiliates > All Affiliates > (affiliate name)

The fields on one affiliate's screen. Click Save affiliate to keep your changes.

The Affiliates > All Affiliates > (affiliate name) screen
Affiliates > All Affiliates > (affiliate name)

#Status

Dropdown

The affiliate's status. Only active affiliates earn commissions and are paid.

When to change it

Change it to approve an application, or to stop an affiliate earning.

14 options

pending

The application waits for your review. The affiliate cannot earn yet.

active

Approved. The affiliate earns commissions, sees the dashboard and can be paid.

rejected

The application was declined. The affiliate sees a status message instead of the dashboard.

suspended

Stops an active affiliate from earning and being paid, for example after fraud. Set it back to active to restore them.

Percent of the item price
Fixed amount per item sold
Pending payment
Processing
On hold
Completed
Cancelled
Refunded
Failed
Draft

#Referral slug

Text

The word in the affiliate's links, for example ?ref=slug or /go/slug/. It must be 3 to 32 characters: lowercase letters, numbers and hyphens.

When to change it

Change it when an affiliate asks for a vanity slug. Old links with the previous slug stop crediting them.

#Custom rate

Number

A commission rate just for this affiliate. It is used together with the rate type next to it.

When to change it

Enter a value only when this affiliate should earn a different rate from your normal rates.

3 options

Use default cascade
Percentage
Flat per order

#Payout method

Dropdown

The method used when this affiliate is paid. Affiliates normally choose it in their dashboard; it must be one you offer under Settings > Payouts.

When to change it

Set it by hand when you arranged a method with the affiliate directly.

6 options

Not set

No method chosen yet. The affiliate is asked to pick one in their dashboard.

Store credit coupon

Pays the balance as a store coupon. Completes at once, store currency only.

Manual / offline

You pay by any means you like, then mark the payout as sent.

PayPal

Pays to the affiliate's PayPal email, by hand or through the PayPal Payouts API.

Bank transfer

Pays to the affiliate's bank details. You send the transfer, then mark it as sent.

Stripe Connect

Sends a transfer to the affiliate's Stripe account. Needs your Stripe secret key.

#Tier

Dropdown Default: No tier

The tier this affiliate belongs to. Nightly promotion only ever moves an affiliate up. A tier without thresholds is kept as assigned here.

When to change it

Pick a tier to place someone by hand, for example in a tier without thresholds.

Option

No tierDefault

The affiliate is in no tier. The list also shows every tier you created on the Tiers screen.

#Recruiter

Dropdown

Shown when Multi level network is switched on (Settings > Multi-level).

Places this affiliate, and their own recruits, under another affiliate in the network. A recruiter can be set only once.

When to change it

Use it when an affiliate joined without their recruiter's link.

#Verified domains

Text area

Websites the affiliate owns, one per line, up to 10. With direct link tracking on, visitors following any link from these sites are credited to this affiliate without a referral parameter. A domain can belong to only one affiliate, and your store's own domain is refused.

When to change it

Add only sites you checked the affiliate owns, and turn on direct link tracking on the Tracking tab.

Affiliates > Referrals

The Add manual referral form credits an affiliate by hand. Click Add referral to save it; it is approved at once.

The Affiliates > Referrals screen
Affiliates > Referrals

#Select bulk action

Number

Affiliate ID: the ID of the affiliate to credit.

When to change it

Find the ID in the affiliate's screen address or in the order's Change affiliate list.

Affiliates > Tiers

The Add tier form. Click Create tier to add the tier.

The Affiliates > Tiers screen
Affiliates > Tiers

#Name

Text

The tier's name, for example Silver or Gold.

4 options

Select:
attribute_pa_scent
attribute_pa_size
total_sales

#Rate

Number

The commission rate members of this tier earn.

2 options

Percentage
Flat per order

#Min approved referrals

Number Default: 0

The number of approved referrals an affiliate needs to be promoted to this tier.

When to change it

Leave both thresholds at 0 for a tier you assign by hand only.

#Min lifetime earnings

Number Default: 0

The lifetime earnings an affiliate needs to be promoted to this tier.

Affiliates > Reports

The date range and export filter at the top of Reports.

The Affiliates > Reports screen
Affiliates > Reports

#From

Date

The first day of the report range.

#To

Date

The last day of the report range. Click Apply to update the charts and tables.

#Export status All statuses Pending Approved Paid Rejected Refunded

Dropdown

The referral status included in Export referrals in range (CSV).

When to change it

Pick a status to export only those referrals, for example Approved for your accountant.

6 options

All statuses

Exports every referral in the date range.

Pending

Only referrals still in the grace period or waiting for payment of the order.

Approved

Only payable referrals not paid yet.

Paid

Only referrals included in a payout.

Rejected

Only referrals you or the plugin rejected.

Refunded

Only referrals reversed by a refund.

Affiliates > Campaigns

The date range for the campaigns table.

The Affiliates > Campaigns screen
Affiliates > Campaigns

#From

Date

The first day of the range.

#To

Date

The last day of the range. Click Apply to update the table.

Affiliates > Tools

The Broadcast announcement form sends a message to all active affiliates.

The Affiliates > Tools screen
Affiliates > Tools

#Subject

Text

The announcement's subject. Required.

#Message (HTML allowed)

Text area

The announcement text. Basic HTML is allowed. Required.

#Also send by email

Checkbox

When ticked, the announcement is emailed as well as shown in the dashboard notification feed.

When to change it

Untick it for minor news that only needs to appear in the dashboard.

Affiliates > Settings > Commissions

What affiliates earn and what counts toward a commission.

The Affiliates > Settings > Commissions screen
Affiliates > Settings > Commissions

#Default commission

Number Default: 20

The store default rate, used when no more specific rate applies. Percentages are capped at 100%.

2 options

Percent of the order
Fixed amount per order

#Calculate commission on the discounted line totals

Checkbox Default: On

Exclude discounts: commission is calculated on line totals after coupons and discounts.

When to change it

Untick it only if affiliates should earn on the full price before discounts.

#Add line tax to the commission base

Checkbox Default: Off

Include tax: adds the tax of each line to the commission base.

#Add shipping to the commission base

Checkbox Default: Off

Include shipping: adds shipping to the commission base. Shipping uses an order level rate, never a product or category rate.

#Minimum order amount

Number Default: 0

Orders below this total earn no commission. 0 disables the check.

#Grace period

Number Default: 14

Days commissions stay locked so refunded orders are never paid out. With 0, pending commissions on processing or completed orders are approved by the daily maintenance run.

When to change it

Match it to your return window.

#Affiliates cannot earn on their own purchases

Checkbox Default: On

Block self referrals: an affiliate who buys through their own link earns nothing.

#New customers only

Checkbox Default: Off

Shown when Settings mode is set to Advanced (show all options).

Only commission a customer's first purchase, matched by billing email or customer account. Earlier cancelled, failed and fully refunded orders do not count. Subscription renewals are not limited by it; lifetime commissions are.

When to change it

Turn it on when you only want to reward new customers.

#Claw back refunds after payout

Checkbox Default: On

Shown when Settings mode is set to Advanced (show all options).

When an order is refunded after its commission was paid out, deduct that commission from the affiliate's next payout. A negative balance is never paid out.

#Excluded product IDs

Text

Shown when Settings mode is set to Advanced (show all options).

Comma separated product IDs that never earn commission. Excluded products also do not lend their rate to the rest of the order.

#Excluded category IDs

Text

Shown when Settings mode is set to Advanced (show all options).

Comma separated product category term IDs that never earn commission.

#Excluded customer roles

Text

Shown when Settings mode is set to Advanced (show all options).

Comma separated role slugs, e.g. wholesale_customer. Orders from customers with these roles earn no commission.

#Purchase sequence rules

Table

Shown when Settings mode is set to Advanced (show all options).

Pay a different rate depending on how many paid orders the customer has placed in the store, this one included. Each row has From purchase, To purchase (0 = onwards), Type (Percent or your store currency for a fixed amount) and Rate. The first matching row wins. A rate set for the affiliate overrides these rules, and these rules override tier rates.

When to change it

Example: 30% on purchase 1, 10% on purchases 2 to 5, 5% from purchase 6 on. Save to get another empty row, up to 20 rules; clear every field of a row to remove it.

Affiliates > Settings > Tracking

How visits and orders are linked to affiliates.

The Affiliates > Settings > Tracking screen
Affiliates > Settings > Tracking

#End the attribution window once a commission is recorded

Checkbox Default: On

Clear cookie on purchase: after a commission is recorded, later orders from the same visitor need a new click.

When to change it

Untick it if one click should keep crediting the affiliate for the whole cookie duration.

#Referral URL parameter

Text Default: ref

Shown when Settings mode is set to Advanced (show all options).

The query parameter in referral links, e.g. ref for ?ref=slug.

When to change it

Change it only before affiliates start sharing links, since old links stop working.

#Attribution model

Dropdown Default: Last click wins

Which affiliate gets the sale when a visitor clicked links from more than one affiliate.

2 options

Last click winsDefault

The most recent affiliate link gets the credit. Rewards the affiliate who closed the sale.

First click wins

The first affiliate link keeps the credit for the cookie duration. Rewards the affiliate who introduced the customer.

#Attribute through a hashed IP and browser fingerprint when the referral cookie is missing

Checkbox Default: On

Cookieless fallback: still credits the affiliate when the visitor blocks cookies.

#Coupons assigned to an affiliate credit them without a referral link

Checkbox Default: On

Coupon tracking: an order using a coupon linked to an affiliate credits that affiliate. Needed for the automatic affiliate coupons.

#When sources disagree

Dropdown Default: Coupon first, then lifetime link, then referral link

What wins when an order carries a coupon, a lifetime link and a referral link from different affiliates.

2 options

Coupon first, then lifetime link, then referral linkDefault

A used affiliate coupon always wins. Choose it when coupons are your main channel.

Referral link first, then coupon, then lifetime link

The affiliate whose link the customer clicked wins. Choose it when links matter more than shared coupon codes.

#Credit visitors who come from an affiliate's verified website, even without a referral parameter (domains are set on each affiliate's screen)

Checkbox Default: Off

Direct link tracking: a visit from one of an affiliate's verified domains counts as that affiliate's click.

When to change it

Turn it on after you add verified domains on affiliate screens.

Affiliates > Settings > Affiliates

Approval, the signup form, account creation, affiliate coupons and lifetime and recurring commissions.

The Affiliates > Settings > Affiliates screen
Affiliates > Settings > Affiliates

#Activate new applications instantly

Checkbox Default: Off

Auto approve: new applications become active at once.

When to change it

Leave it off to review each application yourself.

#Signup form fields

Text

The label of a signup field: what the applicant sees. The default form asks for Full name, Website or blog, Main social profile, Audience size and How will you promote us?

6 options

Text
Paragraph
Website URL
Email
Phone
Number

#Required

Checkbox

When ticked, the field must be filled in before the form can be submitted.

#Program terms

Text area

Shown above the terms checkbox on the registration form. Applicants must accept the terms.

#Terms version

Number Default: 1

Shown when Settings mode is set to Advanced (show all options).

Bump when terms change; new applications record the version they accepted.

#Once referred, a customer earns for their affiliate on all future orders

Checkbox Default: Off

Lifetime commissions: a referred customer stays linked to the affiliate, who earns on that customer's later orders too.

#Recurring commissions

Checkbox Default: Off

Shown when Settings mode is set to Advanced (show all options).

Pay commission on WooCommerce Subscriptions renewals (needs the Subscriptions plugin). A renewal earns only while the first commission is not rejected or refunded and the affiliate is active.

#Recurring duration

Dropdown Default: Forever

Shown when Settings mode is set to Advanced (show all options).

How long renewals keep earning.

4 options

ForeverDefault

Every renewal earns for as long as the subscription runs.

First 12 months

Only renewals in the first 12 months earn.

First 6 months

Only renewals in the first 6 months earn.

First 3 months

Only renewals in the first 3 months earn.

#Recurring rate (%)

Number Default: 0

Shown when Settings mode is set to Advanced (show all options).

Percent of each renewal order's commission base. 0 applies the normal commission rates to each renewal.

#Visitors without an account fill in one form: their customer account is created with the application

Checkbox Default: On

Signup creates the account: the signup form also asks for email, name and a password (unless WooCommerce generates passwords). Submitting it creates the account, logs the visitor in and sends the application.

When to change it

Untick it to show logged out visitors a login or create account button instead.

#Show the affiliate dashboard, or the signup form, as an Affiliate program tab in WooCommerce My Account

Checkbox Default: On

My Account tab: adds an Affiliate program tab to WooCommerce My Account.

#Create a coupon named after the affiliate's slug when they are approved, shown in their dashboard

Checkbox Default: Off

Coupon for each affiliate: on approval a coupon named after the slug is created and linked to the affiliate. Coupon tracking must be on for it to credit them.

#Affiliate coupon discount

Number Default: 10

The discount of coupons created on approval or with the Create a coupon button on an affiliate's screen. At most 100 for a percentage. Edit a coupon afterwards like any other.

#Discount type

Dropdown Default: Percent off the cart

How the affiliate coupon discount is applied.

2 options

Percent off the cartDefault

The coupon takes a percentage off the cart.

Fixed USD off the cart

The coupon takes a fixed amount off the cart. The label shows your store currency.

Affiliates > Settings > Payouts

Payout threshold, methods, schedule and the details each payment service needs.

The Affiliates > Settings > Payouts screen
Affiliates > Settings > Payouts

#Minimum payout

Number Default: 100

Affiliates are paid once their approved balance reaches this amount, in your store currency.

#Payout methods

Checkboxes Default: store_credit, manual

Choose which payout methods affiliates can pick in their dashboard. Affiliates enter their own PayPal email or bank details, stored encrypted.

5 options

PayPal

Affiliates enter their PayPal email. You pay and mark as sent, or PayPal sends it with the Payouts API on.

Bank transfer

Affiliates enter bank details. You send the transfer (or use the SEPA file) and mark it as sent.

Stripe Connect

Affiliates enter their Stripe account ID. Payouts complete at once. Needs the Stripe secret key below.

Store credit coupon

The balance becomes a store coupon. Completes at once, store currency only.

Manual / offline

You pay any way you agree with the affiliate, then mark the payout as sent.

#Payout schedule

Dropdown Default: Manual only

Runs payouts automatically for every active affiliate whose balance reaches the minimum.

4 options

Manual onlyDefault

No automatic runs. You click Run payouts now yourself.

Weekly

Runs every week on the weekday in Schedule day.

Every two weeks

Runs on the chosen weekday, at least 14 days after the last run.

Monthly

Runs once a month on the day of the month in Schedule day.

#Schedule day

Number Default: 1

Weekly and every two weeks: day of the week, 1 is Monday and 7 is Sunday. Monthly: day of the month, 1 to 28. Days follow the site timezone. Manual, bank transfer and PayPal payouts without the API then wait as awaiting payment until you mark them as sent.

#Stripe secret key

Password

Needed only for the Stripe Connect payout method. Use a restricted key (rk_) with write access to Transfers. It is stored encrypted and never shown again.

When to change it

Leave it empty to keep a saved key, or type a new one to replace it.

#Remove the saved key

Checkbox

Shown when a Stripe secret key is saved.

Deletes the saved Stripe secret key when you save.

#PayPal Payouts API

Dropdown Default: Off: I send PayPal payments myself and mark them as sent

Whether PayPal payouts are sent by you or by PayPal through its API.

3 options

Off: I send PayPal payments myself and mark them as sentDefault

Nothing is sent to PayPal. PayPal payouts wait as awaiting payment until you pay and click Mark as sent.

Sandbox (test)

Sends payouts to the PayPal sandbox with sandbox credentials. Use it to test before going live.

Live

Sends real PayPal payouts from your account. They complete when PayPal confirms them, checked every hour.

#PayPal client ID

Text

The client ID of your PayPal REST API app.

When to change it

Use the sandbox app's ID in Sandbox mode and the live app's ID in Live mode.

#PayPal secret

Password

From a REST API app in your PayPal developer dashboard, with Payouts enabled on the business account. The secret is stored encrypted and never shown again.

#Remove the saved secret

Checkbox

Shown when a PayPal secret is saved.

Deletes the saved PayPal secret when you save.

#Account holder

Text

SEPA bank file: the name on the store's bank account the transfers are paid from (up to 70 characters).

When to change it

Fill in the three SEPA fields only if you pay euro bank transfers.

#IBAN

Text

SEPA bank file: the IBAN of the store's bank account. It is checked when you save.

#BIC (optional)

Text

SEPA bank file: the BIC of the store's bank, 8 or 11 characters. The Payouts screen then exports euro bank transfer payouts awaiting payment as a SEPA credit transfer file (pain.001.001.03).

When to change it

Leave it empty if your bank does not ask for it.

Affiliates > Settings > Portal

The affiliate dashboard page, its look and the leaderboard.

The Affiliates > Settings > Portal screen
Affiliates > Settings > Portal

#Dashboard page ID

Number Default: 0

Page containing the [ppl_afw_portal] shortcode. It shows the signup form and, once approved, the full dashboard. Used in emails.

#Accent color

Text Default: #4f46e5

Hex color for the dashboard's buttons and highlights, e.g. #4f46e5.

#Corner radius

Text Default: 10px

CSS size for rounded corners in the dashboard, e.g. 10px.

#Separate signup page ID

Number Default: 0

Shown when Settings mode is set to Advanced (show all options).

Optional. The dashboard shortcode already shows the signup form, so this is only needed for a standalone signup page with [ppl_afw_registration].

#Add a Leaderboard tab to the affiliate dashboard. Affiliates choose to appear on it and are shown by their initials only

Checkbox Default: Off

Leaderboard: adds a Leaderboard tab to the affiliate dashboard.

#Leaderboard period

Number Default: 30

The number of days the leaderboard covers (7 to 365).

#Leaderboard size

Number Default: 10

How many affiliates the leaderboard shows (3 to 50).

Affiliates > Settings > Multi-level

Shown only in advanced mode. Lets affiliates earn from the sales of affiliates they recruit.

#Multi level network

Checkbox Default: Off

Shown when Settings mode is set to Advanced (show all options).

Recruiters earn override commissions from their recruits' sales.

#Network depth

Number Default: 2

Shown when Settings mode is set to Advanced (show all options).

How many levels up the network overrides are paid (1 to 10).

#Level rates (%)

Text Default: 10, 5

Shown when Settings mode is set to Advanced (show all options).

Comma separated rate per level, e.g. 10, 5 pays level 1 10% and level 2 5%. Levels beyond the network depth are ignored.

#Override basis

Dropdown Default: Percent of the recruit's commission

Shown when Settings mode is set to Advanced (show all options).

What the level rates are a percentage of.

2 options

Percent of the recruit's commissionDefault

Recruiters earn a share of what their recruit earned. Keeps your total cost tied to commissions.

Percent of the order base

Recruiters earn a share of the order's commission base, independent of the recruit's rate.

Affiliates > Settings > Fraud

Shown only in advanced mode. Sets how referrals are scored for risk.

#Fraud prevention

Checkbox Default: On

Shown when Settings mode is set to Advanced (show all options).

Score referrals for self dealing, IP overlap, and click flooding.

#Hold threshold

Number Default: 60

Shown when Settings mode is set to Advanced (show all options).

Referrals scoring at or above this are held until you release them (0 to 1000).

#Suspend threshold

Number Default: 90

Shown when Settings mode is set to Advanced (show all options).

Affiliates scoring at or above this are automatically suspended (0 to 1000).

#Click flood threshold

Number Default: 100

Shown when Settings mode is set to Advanced (show all options).

Visits within 10 minutes that count as suspicious (10 to 100000).

Affiliates > Settings > Advanced

The settings mode and what happens to your data when the plugin is deleted.

The Affiliates > Settings > Advanced screen
Affiliates > Settings > Advanced

#Settings mode

Dropdown Default: Simple (recommended)

Simple mode hides the less common options so setup stays approachable. Switch to advanced any time.

2 options

Simple (recommended)Default

Shows the everyday options and hides the Multi-level and Fraud tabs.

Advanced (show all options)

Shows every option, including exclusions, sequence rules, recurring commissions and the Multi-level and Fraud tabs.

#Permanently remove all affiliate tables, options, and user meta when the plugin is deleted

Checkbox Default: Off

Delete data on uninstall: deleting the plugin also removes rates, coupon affiliate links (orders keep theirs) and the saved Stripe and PayPal secrets.

When to change it

Tick it only right before you delete the plugin for good.

WooCommerce > Orders > Edit order (Affiliate attribution box)

The affiliate field the plugin adds to each order's screen.

The WooCommerce > Orders > Edit order (Affiliate attribution box) screen
WooCommerce > Orders > Edit order (Affiliate attribution box)

#Change affiliate

Dropdown

Saving the order with another affiliate rejects the current commission and records a new one for the chosen affiliate, at their rates. Type a name, slug or ID to search.

When to change it

Use it to fix an order credited to the wrong affiliate. It is refused once the commission was paid out.

2 options

None

Removes the affiliate attribution from the order.

Demo Admin (you, #4)

Shortcodes

[ppl_afw_portal]

The complete affiliate experience on one page. Logged out visitors and customers who are not affiliates see the signup form, pending or declined applicants see a status message, and approved affiliates see their full dashboard. Most stores need only this shortcode. Enter the page's ID in **Dashboard page ID** on the Portal tab.

[ppl_afw_portal]

[ppl_afw_registration]

Only the affiliate signup form, for a standalone signup page. Enter that page's ID in **Separate signup page ID** (Portal tab, advanced mode) so visitors are pointed to it from the dashboard page.

[ppl_afw_registration]

On your site

Affiliates use a dashboard on the page with [ppl_afw_portal], or in the Affiliate program tab of WooCommerce My Account.

Before approval, visitors see the signup form with your fields and the program terms. With Signup creates the account on, the same form creates their customer account.

After approval, the dashboard has these tabs:

  • Dashboard: unpaid and lifetime earnings, visits, conversion rate, a 30 day earnings chart, achievement badges and recent commissions.
  • Links: their referral links and a link builder that turns any store URL into a referral link, with an optional campaign tag.
  • Creatives: active creatives with embed code, filtered by category (when at least one creative is active).
  • Campaigns: clicks, sales and conversion rate per campaign, and a form to create a named campaign.
  • Network: their recruit link and recruits (when the multi level network is on).
  • Coupons: coupons linked to them (when they have any).
  • Leaderboard: the top affiliates by initials, where they choose whether to appear (when the leaderboard is on).
  • Payouts: choose a payout method, enter details, and see payout history with status (awaiting payment, sent, failed or cancelled). They can print their own invoices.
  • Settings: change their referral slug and email preferences.

A notification bell shows their in-dashboard feed. The dashboard works with light and dark mode, on small screens and without JavaScript. Active affiliates also get a toolbar shortcut that gives the referral link for whatever page they are viewing.

Affiliate dashboard on the store's affiliate program page with earnings cards, a chart and recent commissions
Tabs such as Creatives, Network or Leaderboard appear only when those features are in use.

Frequently asked questions

Do I need the free plugin installed as well?

No. Pro is a complete standalone plugin. While Pro is active the free plugin stays idle and shows a notice, so you can deactivate and delete it. Both use the same data, so nothing is lost.

Which payout methods are supported?

PayPal, Bank transfer, Stripe Connect, Store credit coupon and Manual / offline. Stripe Connect and store credit complete at once. Bank transfer, manual and PayPal (without the Payouts API) wait as awaiting payment until you send the money and click Mark as sent.

Does the plugin send PayPal payments by itself?

Only if you set PayPal Payouts API to Sandbox or Live and enter a client ID and secret from a PayPal REST API app with Payouts enabled. Payouts then complete when PayPal confirms them (checked every hour). The integration has not been tested against live PayPal yet, so start in Sandbox mode.

Does the Stripe payout method need the Stripe plugin?

No. It talks to the Stripe API directly. Add a restricted secret key with write access to Transfers under Affiliates > Settings > Payouts.

Can affiliates earn without anyone clicking a link?

Yes. With coupon tracking on, a coupon linked to an affiliate credits them whenever it is used. You can link coupons by hand, create one from the affiliate's screen, or have one created automatically on approval. Direct link tracking can also credit visitors from an affiliate's verified websites.

Can I pay different rates for different products or affiliates?

Yes. You can set rates per product, variation and category in WooCommerce, a custom rate per affiliate, rates per product for one affiliate, tier rates and purchase sequence rules. The most specific rate wins.

Does it pay commission on subscription renewals?

Yes, with Recurring commissions on (Affiliates tab, advanced mode) and WooCommerce Subscriptions active. You can limit renewals to the first 12, 6 or 3 months.

What happens when an order is refunded?

A full refund or cancellation reverses the commission, and a partial refund removes only the refunded part. If the commission was already paid and Claw back refunds after payout is on, it is deducted from the next payout.

Does it convert currencies?

No. Each commission is recorded in the order's currency, payouts are made per currency, and report totals are not converted.

Does it respect cookie consent?

With the WP Consent API plugin installed, the referral cookie is set only when the visitor gave marketing consent. Visits without consent are still counted, without IP or browser data. IP addresses are stored as hashes.

Does it work with HPOS and the block checkout?

Yes. It is compatible with WooCommerce High Performance Order Storage and the Blocks checkout.

Will uninstalling delete my data?

No. Data is kept unless you first tick the data removal option on Affiliates > Settings > Advanced.

Troubleshooting

Referral links are not tracking

Check that the affiliate's status is active and that the Cookie duration is set. Test from another browser or a private window, since your own purchases may be blocked by Affiliates cannot earn on their own purchases. With the WP Consent API plugin installed, accept marketing cookies in your test browser. If the affiliate page shows cached content, exclude it from your page cache.

Commissions stay pending

That is the Grace period protecting you from refunds. Commissions are approved once the order is paid and the grace period passes, or you can approve them on Affiliates > Referrals. With a grace period of 0 they are approved by the next daily maintenance run. Fraud held referrals stay pending until you release them on Affiliates > Fraud.

A payout says "awaiting payment"

The method needs you to send the money. Pay the affiliate, then click Mark as sent. With the PayPal Payouts API on, PayPal payouts stay awaiting payment until PayPal confirms them (checked every hour).

"Only active affiliates can be paid. Reactivate the affiliate first."

Suspended, rejected and pending affiliates are never paid. Set the affiliate's Status to active on their screen and run the payout again.

"This affiliate has no payable balance."

The affiliate has no approved commissions that are not paid yet. Pending commissions become payable after the grace period. Also check the balance reaches the Minimum payout.

"Add your Stripe secret key under Affiliates > Settings > Payouts before sending Stripe payouts."

Paste a Stripe secret key into Stripe secret key on the Payouts tab and save. If saving fails with "Settings not saved: that is not a Stripe secret key. It starts with sk_live_, sk_test_, rk_live_ or rk_test_.", copy the full key again from your Stripe dashboard.

"PayPal refused the API credentials. Check the client ID, the secret and the sandbox or live mode."

The client ID and secret must come from the same PayPal REST API app, and the mode must match it: sandbox credentials with Sandbox (test), live credentials with Live. Re-enter both and save.

"This affiliate has not added a valid PayPal email." or "This affiliate has not added their bank details."

The affiliate chose a method but did not enter their details. Ask them to fill in their payout details on the Payouts tab of their dashboard, then run the payout again.

"Store credit can only be paid in the store currency. Pay this balance with another method."

The balance comes from orders in another currency. Pay it with a different method, such as PayPal or bank transfer.

"The commission was already paid out; the affiliate was not changed."

Change affiliate on an order is refused once its commission was paid. Credit the right affiliate with a manual referral on Affiliates > Referrals instead.