AFFI – Affiliate Marketing for WooCommerce


Created: 01/2025

Latest updated: 1/2025 – Updated version: 1.0.0

By: VillaTheme Thank you for purchasing our plugin. If you have any questions that are beyond the scope of this documentation, please feel free to request support at our Support Forum. Thanks so much!

Required:

  1. WordPress 6.2+
  2. PHP 7.0+

Install Plugin:

Follow this guide to install plugin. Simply search for the plugin named AFFI – Affiliate Marketing for WooCommerce in the WordPress plugin directory.

 

Done! Let’s start using the plugin.

An affiliate is an individual or entity that promotes a business’s products or services in exchange for a commission. Affiliates earn a percentage of sales or a fixed amount for each successful referral they generate through their unique affiliate links. This model is widely used in online businesses to increase reach and drive sales without the upfront cost of advertising.

For WooCommerce users, integrating an affiliate program can significantly enhance sales by leveraging a network of motivated affiliates. By using an affiliate plugin, WooCommerce store owners can effectively manage affiliate registrations, track referrals, calculate commissions, and process payouts.

With that in mind, consider trying AFFI – Affiliate Marketing for WooCommerce – comprehensive affiliate management solution designed to empower both store admins and affiliates, making it easy to track, manage, and optimize your affiliate program in WooCommerce. With a wide range of customizable settings and features, AFFI ensures that you can effortlessly manage affiliates, payouts, commissions, and more, while giving affiliates the tools they need to succeed.

  • Affiliate Registration and Management: Allows new affiliates to sign up and store admins to approve or reject applications.
  • Affiliate Links: Generates unique links for affiliates to share and track referrals.
  • Commission Calculation: Automatically calculates commissions based on predefined settings.
  • Affiliate Dashboards: Provides affiliates with tools to monitor their performance, view earnings, and manage payouts.
  • Payout Processing: Facilitates easy payment processing for affiliates.
  • Reporting and Analytics: Offers insights into affiliate performance, referrals, and overall program success

Core Features of AFFI – Affiliate Marketing for WooCommerce

Affiliate Management: Comprehensive backend list of all affiliates

  • Name and Email
  • Rank
  • Earnings
  • Balance
  • Payment Details
  • Status (approved/rejected)

Rank System: Create and manage affiliate ranks with customizable attributes

  • Rank Name
  • Order/Position
  • Rank Type: Fixed or Percentage
  • Rank Amount
  • Amount to Reach for Promotion
  • Badge
  • Description

Reports: Detailed reporting tools for admins

  • Affiliates Base: Custom date range reports showing total affiliates, new affiliates, and top earners.
  • Referrals: Statistics on total referrals, affiliate value, affiliate earnings, and top performers.
  • Clicks: Insights into total visits and the most visited URLs.
  • Payouts: Summary of payout requests, payouts paid, and payout counts.

Payout Request Management: Manage all payout requests with details

  • Affiliate User (Name and Email)
  • Withdrawal Amount
  • Processing Fee
  • Transfer Channel (Payment Info)
  • Status (pending/approved)
  • Request Type (admin or affiliate-initiated)
  • Description
  • Request Time
  • Admin Capabilities: Add/Edit payout requests with specific details (excluding “Request Type” during edits).
  • Affiliate Capabilities:
    • Submit payout requests from their dashboard.
    • View payout history and update payment details.

Notifications: Email notifications for

  • Affiliate Registration
  • Affiliate Rejection
  • New Rank Achievements
  • Withdrawal Requests
  • Payment Actions
  • Cron Job Updates

Settings: Flexible configuration options

  • Enable/disable auto-acceptance of affiliate registrations.
  • Collect payment details during registration.
  • Define base affiliate link, prefix, and format.
  • Enable “Share Button” for quick link generation on product pages.
  • Set commission types (Fixed or Percentage), default values, and exclusions (e.g., own purchases, taxes).
  • Configure payout request permissions, payment methods, and processing fees.
  • One-click rank recalculation and updates.

Affiliate Dashboard: Accessible tools and insights for affiliates

  • General Overview: Affiliate link, performance stats (Visits, Orders, Balance).
  • Product Links: Easy access to affiliate links for all products with a search function.
  • Transaction History: Details of orders placed via affiliate links, including earnings and status.
  • Payouts:
    • View payout activity with ID, status, and payment info.
    • Update and manage payment methods.
    • Submit withdrawal requests based on available balance and requirements.

 

 

For Admins: Setting Up and Managing the Affiliate Program

Step 1: Install and Activate AFFI Plugin

  • Install the AFFI plugin via the WooCommerce Plugins page.
  • Activate the plugin and access the settings through the WordPress admin panel.

Step 2: Configure General Settings

  • Affiliate link structure (Base link, Prefix, Format).
  • Enable affiliate registration.
  • Set auto-approval for affiliate requests (optional).
  • Define the email notifications to send.
  • Enable “Affiliates Dashboard inside My Account” for affiliates.
  • Activate affiliate rank updates and other features as needed.

Step 3: Define Commission Rules

  • Set the default commission type (Fixed or Percentage).
  • Define the default commission value.
  • Exclude affiliates from earning commissions on their own purchases or taxes (if applicable).

Step 4: Set Up Affiliate Ranks

Access the Ranks page. Create rank levels with specific details:

  • Name, Position, Type (Fixed/Percentage).
  • Commission values and thresholds for promotion.
  • Add badges and descriptions for better visualization.

Step 5: Add Affiliates

  • Open the Affiliates page to review registered affiliates.
  • Approve or reject pending requests, or manually add affiliates

Step 6: Enable Sharing Tools

  • Enable share buttons on product pages, or product list
  • Configure sharing text and social sharing options for affiliates.

 

After you’re happy with the setup and things start working, monitor and analyze reports

  • Review affiliate performance (top earners, referrals, clicks).
  • Evaluate payout summaries and other key metrics.

And manage payouts

  • Approve or reject payout requests based on affiliate balance and payment details.
  • Process payments using available methods configured in the Payment Settings page.

 

For Affiliates: Becoming and Operating as an Affiliate

Step 1: Register as an Affiliate

Once the Enable register affiliate option under General settings is enabled, user can register as affiliate in 2 ways:

  • When they register their account: Simply register an account as usual, right before the final step, the affiliate popup will show asking if the user want to register as an affiliate
  • If they have an account already, they can still register under their My account >> Account Details

Step 2: Edit affiliate’s payment details after registration. There’re 2 ways:

  • If “Affiliates Dashboard inside My Account page” option under General settings is enabled, you can change your payment details under My account >> Account details. Hit the “Update affiliate info” button to open the popup
  • Go go your Affiliate Dashboard and change the details under Payout  section >> Payment

Step 3: Access the Affiliate Dashboard

Once approved, log in to your account and access the Affiliate Dashboard at the URL /affi-affiliate/ or from the My Account section.

Dashboard Features:

  • Generate Link: Copy your unique affiliate link.
  • Performance Report: Track visits, orders, and earnings.
  • Product Links: View and share affiliate links for specific products.
  • Transactions: Monitor order details and affiliate commissions.
  • Notifications: Stay updated on program changes, rank promotions, and payments.

Payouts:

  • Submit withdrawal requests when the minimum balance is reached.
  • Manage payment details and track payout history.

Step 4: Share Your Affiliate Links

  • Use your unique affiliate link or product-specific links to share via:
    • Social media platforms (configured by the admin).
    • Email or personal messages.
    • Blog posts or websites.
  • Promote products effectively to increase referrals and earnings.

Step 5: Monitor Your Performance

Use the reporting tools in the Affiliate Dashboard to review: Total visits, orders, earnings, outstanding balance and paid commissions.

Step 6: Request Payouts

  • Once the minimum payout threshold is reached, submit a payout request via the dashboard.
  • Enter the withdrawal amount and review fees before submitting.
  • Track payout status in the “Payout” section of the dashboard.

 

Affiliates

The Affiliates setting page is designed for administrators to manage all registered affiliates. This page provides a comprehensive list of affiliates with the following details:

  • Name and Email Address
  • Rank
  • Earning amount
  • Balance amount
  • Payment information
  • Status (Approved, Pending, Rejected)

Admin Capabilities

  • Add New Affiliate
    • Select a registered user and designate them as an affiliate.
    • Assign a rank to the new affiliate.
    • The affiliate’s status is automatically set to “Approved.”
  • Edit Affiliate: Modify an affiliate’s rank and status.
  • Delete Affiliate

 

 

Rank

This page allows administrators to manage the affiliate rank system

On this page, admins can:

  1. Create New Ranks: Specify rank details such as:
    • Name
    • Order/Position
    • Rank Type (Fixed or Percentage)
    • Rank Amount: This is the percentage value that will be added to the default commission. E.g. Default commission is 5 (% or fixed price with site’s currency), affiliates at this rank will have this value (percentage) add up
    • Amount to Reach for Promotion
    • Badge
    • Description
  2. Edit Existing Ranks: Update any of the above details for a selected rank.
  3. Delete Ranks: Remove ranks that are no longer needed.

 

 

Report

The Reports page provides detailed analytics and insights into the affiliate program. It is divided into four tabs, and users can select a custom date range to view the relevant data:

Affiliates

  • Total Affiliates
  • New Affiliates
  • Top Earning Affiliate (Name and Total Earnings)

 

Referrals

  • Total Referrals
  • Total Affiliate Value
  • Total Affiliate Earnings
  • Highest Affiliate User (Name and Earnings)

 

Clicks

  • Total Visits
  • Most Visited URL

 

Payout

  • Payouts Paid
  • Payout Count (Number of Requests)

Request payout

The Request payout page allows admins to manage all payout requests submitted by affiliates. The admin can view, edit, approve, or delete requests based on the provided details.

This page displays the following details for each request:

  • Affiliate User: The name and email address of the affiliate who submitted the payout request.
  • Withdrawal amount: The amount the affiliate has requested to withdraw.
  • Processing fee: The fee deducted from the requested amount before processing.
  • Transfer Channel: The selected method for transferring the payout, such as PayPal or bank transfer. The relevant payment details are displayed based on the affiliate’s profile.
  • Status: The current status of the payout request, which can be Pending or Approved.
  • Type: Whether the request was made by the Affiliate or an Admin.
  • Description: A description provided by the affiliate or admin to explain the payout request.
  • Time: The date and time the request was submitted.

 

Actions for Admin

Add a New Request:

  • Select an Affiliate user from the list.
  • The request Type for this action will automatically be set to Admin.
  • Enter the Withdrawal Amount and Processing Fee (if applicable).
  • Choose the Status as Approved or Pending.
  • Optionally, add a Request Description.
  • After reviewing the details, click Submit to create the payout request.

Edit a Request:

  • Click the Edit button under a request.
  • You can modify the Affiliate User, Amount, Status, and Request Description.
  • After making changes, click Update to save the updates.

Delete a Request: To remove a request, simply click the Delete button next to the request.

 

Notifications

On this page, all notifications are shown. The Notifications page allows admins to configure and send email notifications for various events in the affiliate system. These notifications are essential for keeping both admins and affiliates informed about key actions related to their account activities.

Admins can configure them and view their details. This includes:

  • Subject
  • Recipient
  • Type
  • Date created
  • Status

 

Admins can create personalized, automated email messages to streamline communication with affiliates and ensure timely updates are provided.

  1. Enable: Toggle to activate or deactivate the email notification for a specific event. When disabled, no email will be sent for the selected event.
  2. Event: Select the event that will trigger the email notification. Available events include:
    • Affiliate Register: Notify the affiliate when they successfully registered as an affiliate. Sent/Received only if the “Auto accept affiliate request” option under General settings is disabled, when the admin approves their request manually from the Affiliates list
    • Affiliate Rejected: Notify the affiliate when their registration is rejected by the admin inside the Affiliates list. Sent/Received only if the “Auto accept affiliate request” option under General settings is disabled
    • New rank: An email notification is sent to the affiliate whenever a user’s rank is updated
    • Withdraw: This notification is sent to the affiliate whenever the admin manually approves a withdrawal request
    • Payment action: This notification is sent to the affiliate whenever the admin manually updates the Payout section, making a payment action as pending
    • Cron job send: Notify the admin when scheduled system tasks (rank updates) are executed
  3. Subject: Specify the subject line for the email. Use placeholders to personalize the subject for each recipient.
  4. Content: Write the body of the email notification using plain text or HTML. Include dynamic placeholders to personalize the message. Available shortcodes are: Replace shortcodes available:
    • {name} – The display name of the affiliate, as set on the affiliate’s user profile
    • {user_name} – The user name of the affiliate on the site
    • {user_email} – The email address of the affiliate
    • {website} – The website of the affiliate
    • {amount} – The amount of a given referral
  5. Create” button

 

 

Settings – General

The General Settings page allows administrators to configure the core functionality of the affiliate program. Below are the available options:

  1. Base affiliate link: Define the base structure of the affiliate link used across the site
  2. Prefix affiliate link: Specify a prefix for affiliate links, it’s this part:
  3. Affiliate Link Format: This follows the prefix. Make it affiliate user name or ID.
  4. Enable register affiliate: Allow users to register as affiliates during account creation
  5. Auto accept affiliate request: Enable automatic approval of affiliate registration requests, disable the option and the admin can approve/reject requests later under Affiliates page.
  6. Send email notification: Activate email notifications for affiliate-related events, such as registration approvals, payouts, and rank updates, as per configuration under Notifications page
  7. Affiliates Dashboard inside My Account page: Display the affiliate dashboard as a dedicated section within the user’s account page, providing easy access to performance insights, links, and payout tools
  8. Calculate and update affiliates rank: Automate rank calculations and updates monthly.

 

Affiliate register popup: Settings below are for a popup during registration when “Enable register affiliate” option is enabled

  1. Register information label: Add custom labels to fields in the affiliate registration form
  2. Register policy: Display the affiliate registration policy during the signup process, ensuring transparency and compliance with program terms

 

 

Settings – Share

The Share settings page includes options for enabling and customizing sharing functionalities:

  1. Share button on shop/product page: Add a “Share” button to product pages, allowing affiliates to quickly generate and copy affiliate links directly from the product page.
  2. Share button text: Customize the text displayed on the “Share” button, such as “Share & Earn” or “Get Link.”
  3. Social share in loop product: Enable social sharing options directly within product listings, making it easier for affiliates to promote products on social media platforms.
  4. Available social share: Select the social media platforms (e.g., Facebook, Twitter, LinkedIn) available for sharing, ensuring affiliates can reach their desired audience efficiently.

 

On front end

Single product page:

 

Product List:

Settings – Commission

The Commission settings page provides a detailed overview of how commissions are structured and calculated for affiliates. The available options include:

  1. Default commission type: Select the standard method for calculating commissions
    • Fixed: Assigns a flat amount for every successful referral.
    • Percentage: Awards a percentage of the order value as commission.
  2. Default commission value: Set the baseline commission amount. For instance, a fixed value could be $10, or a percentage might be 15%.
  3. Exclude calculate from getting commissions from their own purchases: Prevents affiliates from earning commissions on purchases they make through their own affiliate links. Enabling this ensures fair commission distribution and avoids potential misuse of the affiliate program for self-benefit.
  4. Exclude taxes from commissions: When enabled, this option excludes tax amounts from the commission calculations. Commissions will be based solely on the product price, ensuring accurate and transparent commission payouts.

 

 

Settings – Payment

This page lets you configure payment-related details.

  1. Allow affiliate request payout: Enabling this option allows affiliates to submit payout requests from their dashboard.
  2. Available payment method: Select payment methods affiliates can use to receive their payouts, such as bank transfer, PayPal, or other supported channels.
  3. Payment fee for user request: Specify the fee charged to affiliates for processing their payout requests.

 

 

Affiliate Dashboard

Inside Affiliate Dashboard, there are tabs as follows:

 

Access Affiliate Dashboard

Affiliate Dashboard is for affiliates to manage their activities, track performance, and handle payouts. They can access the dashboard directly via their My Account page if the “Affiliates Dashboard inside My Account page” under General settings is enabled.

Alternatively, they can use the following endpoint in the URL: /affi-affiliate/

E.g. https://villatheme.com/my-account/affi-affiliate/

Dashboard

  • Generate links: Affiliates can view their unique affiliate link for the site. The link format is displayed as per admin setup under General setting tab. Example: https://villatheme.com?affiliate=David
  • Report: Affiliates can select a custom date range and view detailed performance metrics:
    • Visits: Total visits driven by the affiliate’s link.
    • Order Count: Total number of orders placed via their affiliate link.
    • Order Total: Combined monetary value of all orders.
    • Outstanding Balance: Total amount earned but not yet converted to a payout.
    • Balance: Available balance after deducting processed payouts.

 

Product

Affiliates can browse a list of all products available on the site. Each product includes the affiliate’s unique link displayed below it.

Search Products: Affiliates can filter product by category and use a search field to quickly find specific products and their corresponding affiliate links.

 

Transaction

The Transaction section provides a detailed record of all orders placed via the affiliate’s link. The following details are displayed for each transaction:

  • ID: The WooCommerce order ID.
  • Products: Items included in the order.
  • Amount: Total value of the order, including product price, GST, and other charges.
  • Status: Current status of the order (e.g., Processing, Completed).
  • Affiliate: The commission amount the affiliate will receive for the order.
  • Date: When the order was placed.

Notification

The Notification page in the Affiliate Dashboard displays all recent notifications relevant to the affiliate, provides them with a centralized location to view important updates and alerts related to their account. This ensures affiliates stay informed about their activities, earnings, and any actions required.

Hover over a notification, you’ll see a “View” button. Simply click it to read the email details.

 

Payout

Payout Activity: This section displays a detailed history of all payout activities and requests, including:

  • Payout ID: Unique identifier for each payout activity.
  • Amount: The amount paid or requested.
  • Status: Current status of the payout (e.g., Pending, Completed).
  • Payment Info: Payment method and associated details.
  • Date: Date and time of the payout activity.

 

Payment Information

  • Affiliates can view and manage their payment details:
  • Accepted Payment Methods: List of available payout methods configured by the site admin.
  • Payment Details: Affiliates’ own payment information, which can be updated as needed.

 

Request Payout: Affiliates can request payouts directly from their dashboard. This section includes:

  • Available balance: Total funds eligible for withdrawal.
  • Minimum Balance Requirement: The minimum amount required to initiate a payout request.
  • Processing Fee: Any applicable fee for processing payout requests.
  • Input Field: Allows affiliates to specify the amount they wish to withdraw

 

 

Extra Information


Thank you for your attention!

If you have any question, please create a topic at our FORUM, we will support within 24 hours.