Affiliates
WHMCS comes with a built in affiliates system. Affiliates are often key to a business in order to generate revenue by having others refer customers. So with that in mind, WHMCS has a comprehensive affiliate system featuring support for one time and recurring commissions, both percentage or fixed money values, payout delays, minimum withdrawal limits and live stats/info for affiliates from the client area.
Your WHMCS install generates a unique code for each client to use on their website eg: http://example.com/whmcs/aff.php?aff=001 When a visitor clicks this link they will be taken to your site and a cookie saved on their computer. If the visitor then places an order with the cookie present (it lasts for 90 days by default) the client will earn a commission.
Contents
Configuration
To configure the affiliates system, go to Setup > General Settings and then select the Affiliates tab. From here you can set the initial bonus deposit amount, the minimum withdrawal level, the payout delay and the percentage to payout.
- Affiliate Earning Percentage - The default percentage to pay as commission on all products/services. This can be overidden on a per product basis when configuring a product. And you can then overide the commission settings further on a per client basis and set a specific commission rate for an individual affiliate, ideal for rewarding your best affiliates.
- Affiliate Bonus Deposit - the amount to default any new affiliates balance to - a way of offering an incentive to new affiliates so they'll reach their first withdrawal level quicker
- Affiliate Payout Amount - the amount at which you allow affiliates to withdraw their commission balance, for example $50 or more.
- Affiliate Commission Delay - the number of days to delay commission payments so that you aren't paying commissions as soon as you receive the order. See the Commission Delay section below for more info.
Setting Commission Per-Product
To offer a higher commission on a certain product navigate to Setup > Product/Services > Edit > Other tab. From here you can choose a percentage or fixed amount commission. Ticking the One Time Payout checkbox will give the commission only once. The default commission setting for WHMCS is recurring.
Setting Commission Per-Client
To offer a unique commission click the "View Affiliate Details" link on the Client's Summary Tab and you can set the commission as above. This setting will take priority over others; client commission > product commission > default commission.
Commission Delay
This option allows you to set the number of days to delay commission payments so that you aren't paying affiliates as soon as you receive an order. This means you avoid paying commission on fraudulent orders or those cancelled within a few days of ordering as the commission is only paid if the product/service is still active at the end of the delay period.
The way this works is that instead of paying commission instantly when you are paid, it waits for a period of days and then only pays the commission should the product or service still be active after that period of time has passed. For example you could set it to wait 60 days before paying the commission for a sale on the basis that most fraudulent transactions will have been reported to you within that time. At the time of order, the affiliates Pending Commissions Balance will increase by the amount of commission for the order, but not their Available to Withdraw Balance.
You can view and delete pending commissions from the affiliates management area anytime from the Pending Commissions tab under Clients > Manage Affiliates when viewing an individual affiliates details.
Affiliate Linking Code
You can specify affiliate link code in the config area. Below is an example:
<a href="[AffiliateLinkCode]"><img src="http://www.yourcompany.com/banners/468x60banner.gif" width="468" height="60" border="0"></a><br> <(a href="[AffiliateLinkCode]")><(img src="http://www.yourcompany.com/banners/468x60banner.gif" width="468" height="60" border="0")><(/a)><br><br> <a href="[AffiliateLinkCode]"><img src="http://www.yourcompany.com/banners/120x60banner.gif" width="120" height="60" border="0"></a><br> <(a href="[AffiliateLinkCode]")><(img src="http://www.yourcompany.com/banners/120x60banner.gif" width="120" height="60" border="0")><(/a)><br><br>
The above code entered in the Affiliates Link section will display the image preview of the banner first and then the code below it for the affiliate to use. The <( and )> is special syntax which you must use so the code is not executed as true HTML. WHMCS modifies this when displaying it to the client so it will appear as normal HTML.
For more advanced link code, you can add it directly to the affiliates.tpl template file of your active template folder using the template field {$referrallink} wherever you want to include the affiliates unique referral url.
Linking to a Product
It is possible to link directly to the order form for a specific product. To do this, simply append &pid=x to the end of the [AffiliateLinkCode] where x is replaced by the ID of the product. So for example:
<a href="[AffiliateLinkCode]&pid=2"><img src="http://www.yourcompany.com/banners/468x60banner.gif" width="468" height="60" border="0"></a><br> <(a href="[AffiliateLinkCode]&pid=2")><(img src=http://www.yourcompany.com/banners/468x60banner.gif" width="468" height="60" border="0")><(/a)>
Activating an Affiliate
Clients can activate their affiliate account from the client area but you as an admin can do it from the client summary page also. To do that, locate the client you want to activate using the search or client list and then in the Actions panel click the Activate as Affiliate link.
Managing Affiliates
- To view & manage affiliates, go to Clients > Manage Affiliates
- To view the affiliate statistics for a specific client, search for that client as normal and from the Client Summary" page, click the View Affiliate Details link in the Actions panel
- To view your best performing affiliates, click the Balance column heading to resort the affiliates into order of balance
Assigning an Affiliate to an Existing Order
To assign an affiliate to an order which has already been placed and shows no referral, go to Orders > List and locate the order you want to assign to the affiliate. Once located, click on the Order ID number to open the details for that order. Now click the Manual Assign link in the Affiliate section, and you will then get a popup with a dropdown where you can choose the affiliate you want to assign it to, and then click Save to apply it.
Paying Commission for an already paid order
There may be some instances where you apply an affiliate to an order after it has been paid for and that would mean the affiliate has then missed out on the initial commission for that order. To correct that, after assigning the affiliate with the steps above, open the affiliates page (see Managing Affiliates above) and then on the Referrals list for the affilate, click the Manual Payout button next to the new account. That will perform the equivalent action of an invoice being paid by the end user for a referred order in terms of crediting the affiliate.
Affiliates Cookie
The affiliates cookie by default is set to last for 90 days on the users computer. You can change the number of days it lasts for in the aff.php file.
Multi Currency
When you select the %age it will pay x% of whatever currency the user pays you in and convert it to the affiliates' currency using the current exchange rate. If you select to pay a fixed amount that will be paid the same amount in any currency.
Making a Withdrawal (Paying Commission)
When an affiliate's balance reaches the affiliate payout amount a request withdrawal button will appear on the client's affiliate page. Clicking this will open a support ticket to prompt you to take action.
Navigate to the affiliate details page as described above. Then in the Withdrawn Amount box, specify the amount to deduct from the client's affiliate balance and click submit. Finally pay this amount to the client, the norm is to add to their account credit balance, but you may want to manually make a PayPal payment, or write a cheque etc.