Payments via Bank transfer are currently very similar to manual payments, but if you enable them, your users will be able to enter their payment details (so the Account name, IBAN and Swift code) so you can quickly find them in the payment details when you will process the payment.
The payment, however, occurs manually, so you will have to create a bank transfer from your bank, the plugin will not do that on your behalf.
To enable this gateway, go to General options > Commissions & Payments > Payment gateways and make sure the gateway is enabled (it is enabled by default when you first activate the plugin).
Then, go to the Commissions list page, filter them based on your needs and select the commissions you want to pay.
Then, click on Bulk actions dropdown and select “Pay via Direct bank/Wire transfer“.
This will create one payment record for each affiliate with the “on hold” status.
If the payment details have not been set for the affiliate, you will be able to add them from the Gateway details in the Payment details, as you can see below. Please, note, this option is available only if you’re using the premium version.
You can now issue the payment (manually) from your bank account and once it is done, you can manually change the payment status to “Change status to completed” from the payment actions.
This will also update all the related commissions’ status and set it to “Paid“. For more details about the commission status, please, refer to this page.
Exclude products from affiliates’ commissions: enable if you want to exclude products from the affiliate program and make sure no commissions are generated. You will be able to further select specific products, categories or tags in the options below.
Exclude users from the affiliate program: enable to exclude specific users or user roles from the affiliate programme and make sure no commissions are generated for them.
Query var name: enter the name of the query var used to store the referral tokens in the URL. Default to “ref”. A typical referral URL is http://sitename/?ref=2, where “ref” is the var name: you can change to any text you like, and it will be changed in all your affiliates’ referral URLs.
Allow users to enter a token at checkout: enable if you want to show to your users a textbox on the Checkout page where they can enter the token of the affiliate that referred them.
Referral cookie name: enter a name to identify the cookie that will store the referral tokens. This name should be as unique as possible to avoid collision with other plugins. If you change this setting, all cookies created previously will no longer be valid. Default value is yith_wcaf_referral_token.
Set an expiration for referral cookies: enable if you want referral cookies to expire after a specific time frame. If the customer completes the purchase after the expiration date, no commissions will be assigned to the affiliate.
Change referral cookie if another referral link is visited: enable to change cookies when the user accesses the website through another referral link. So, if a customer visits your site through the referral link of affiliate A and then through the referral link of affiliate B, affiliate B will get the commission for that order.
Save cookies history: enable to save the history of all referral cookies changes. You will see this history in the Order details page, when a user purchases through a referral link.
Referral cookie history name: enter a name to identify the cookie that will store referral tokens history. This name should be as unique as possible, to avoid collision with other plugins. If you change this setting, all the cookies created previously will no longer be valid.
Set an expiration for referral cookies history: enable if you want referral cookies history to expire after a specific time frame.
Delete the plugin’s cookies after checkout: enable to delete the plugin’s cookies after the customer processed a valid checkout. This will make sure that no other commissions will be assigned to the same affiliate unless the customer visits a referral link once again.
Set cookies via AJAX: enable to execute an AJAX call to set up affiliates cookies whenever the system finds a referral query string in the URL.
Coupon options
Assign coupons to affiliates: if enabled, when a new coupon is created, it can be assigned to a specific affiliate. The affiliate can use the coupon to promote your site and each order that contains the coupon will generate a commission for him/her.
The coupon codes have to be created by the admin from Marketing > Coupons and assigned to the affiliate from the coupon settings.
In the coupon settings, you will be able to find a new Affiliates tab to select the affiliate for whom this coupon will generate commissions. This is very useful so both your affiliate can get a commission and the customer a discount. All other the standard coupon settings are available.
Please, note: you can assign multiple coupons to the same affiliate but not the same coupon to multiple affiliates.
Order where the affiliate coupon has been used and commissions have been generated
Show Coupons section in the Affiliate Dashboard: choose whether to show the Coupons section to all affiliates or only to those who have been assigned a coupon code. From this section, affiliates can view all the coupon details: coupon code, type and amount of the discount, expiration date, and other information added to the tooltip as shown in the image below.
Send an email to affiliates when they get a new coupon assigned: enable to notify affiliates when a new coupon is created and assigned to their account. You can edit the email content from WooCommerce > Settings > Emails and select the email notification called YITH WooCommerce Affiliates – New affiliate’s coupon.
You can add almost any option you can define for a coupon to the body of the email that is sent to the affiliate. There are a lot of parameters you can use.
The placeholder is normally build with the word coupon and the property name according to this pattern: {coupon_HERE_GOES_PROPERTY_NAME}.
Here is a list of the most useful properties:
amount
date_created
date_modified
date_expires
discount_type
description
individual_use
product_ids
excluded_product_ids
usage_limit
usage_limit_per_user
limit_usage_to_x_items
free_shipping
product_categories
excluded_product_categories
exclude_sale_items
minimum_amount
maximum_amount
email_restrictions
So, for example, if you want to add the expiration date of the coupon in the email, you must use the placeholder {coupon_date_expires} where date_expires is the property name. This will print the coupon expiration date in the email.
For more properties, you can refer to the official documentation provided by WooCommerce on this page.
Visits logs
Register visits and visitors’ IP: enable visits registering. Visitors’ IP addresses will be registered in your database.
If the same user visits the site with the same referral ID, count it as a new visit after: enter a time here in seconds, minutes, hours, days, weeks or months.
Automatically delete visits log: enable to automatically delete visits log after a specific time. You can set this time in seconds, minutes, hours, days, weeks, months.
From the General options > Affilites Registration tab, you will be able to configure the fields of the affiliate registration form and its options. Let’s see how you can customize it.
Registration form
In the first section you will find the Registration form fields. There are some default fields and you can add as many as you wish, enable and disable them, duplicate them, set them as required.
How to add a new field
Just click on the + Add field button on top of the table to create a new field.
You will find the following options to configure the field.
Field name: this is the field name that should not contain any spaces
Field type: you can choose among many supported types:
Text
Email
Password
Phone
Textarea
Radio button
Checkbox
Select
Country
State
Date
Field label: this is the title of the field visible on the frontend
Admin label: this is the title of the field visible on the backend
Error message: enter here an error message to display in case the value entered by the customer here does not match the expected format or is left empty for a mandatory field
CSS classes: add the CSS classes that you want to associate to this field
CSS classes label: add the CSS class that you want to associate to the label of this field
Validation: the text entered by the user will be validated according to your needs, you can choose among:
plain text
email
phone
URL
Options this option is only available for Radio buttons and Select types and allows you to create the available options among which the customer can choose.
Show also in the Affiliate Dashboard: enable this if you want to show this field also in the Affiliate Dashboard after the affiliate’s account approval. This can be useful for fields that the affiliate user can update at a later stage.
Show also in the Become an Affiliate form: this option allows you to show the field in the form that is shown to registered and logged-in users who want to submit an affiliate application. The Affiliate registration form allows anyone to register as a user and as an affiliate, whereas the Become an Affiliate form is displayed to logged-in users when they visit the Affiliate Dashboard and will include only the affiliate-related forms.
Become an Affiliate form displayed to logged-in users when they visit the Affiliate Dashboard
Make it mandatory: enable this option to make the field mandatory.
Below the fields, you will find an important option:
Add the registration form fields to the default WooCommerce registration form: enable this option to add the affiliates registration form fields in the WooCommerce default registration form. In this way, all users who register to your site will also automatically submit an application as affiliates at the same time.
Note: if this option is enabled, you will never be able to see the Become an affiliate form, because all new users are automatically applying as affiliates during the registration. The only exception would be in case the user registered before the option was enabled.
Affiliate-related fields in the default WooCommerce register form
Registration options
Automatically approve affiliates: enable to automatically approve affiliates after their registration.
Send an email to the admin when:
a new affiliate registers on the site
an affiliate’s account changes status
an affiliate’s account is banned
Send an email to an affiliate when:
his/her account was registered successfully
his/her account changed status
his/her account was banned
You can edit these email notifications from WooCommerce > Settings > Emails.
Associate old commissions to new users with the same token: if enabled, when a new affiliate is registered, the system will check if there’s any preexisting commission for that default token. If there is any, it will be assigned to the user automatically.
Set a default message for rejected affiliates: enable to set a default message for all rejected affiliates. Disable if you want to send custom messages to users when they are rejected.
Set a default message for banned affiliates: enable to set a default message for all banned affiliates. Disable if you want to send custom messages to users when they are banned.
You will be able to set a custom reject or ban message in the affiliate’s profile or from the popup when you reject the affiliate from the actions menu:
Reject message in affiliate’s profie
Reject message from popup
Hide specific sections of the Affiliate Dashboard to banned users: choose to hide one or more sections of the Affiiate Dashboard to banned users. Available sections are:
Dashboard
Commissions
Visits
Coupons
Payments
Link generator
Settings
Affiliate Dashboard of a banned user where only the Dashboard tab has been enabled. All other sections have been hidden.
From this tab in the General options > Affiliate Dashboard, we can configure all the options related to the Affiliate Dashboard, that is the dashboard that will be displayed to the affiliates on the frontend.
Where to show the Affiliate Dashboard:
In a specific page using the shortcode: if you select this option, you will be able to select the page and what to show to guest users in the options below
Choose the Affiliate Dashboard page: use this shortcode [yith_wcaf_affiliate_dashboard] in the page you want to use as dashboard.
To guest users in the Affiliate Dashboard show:
The affiliate registration form only
The affiliate registration form + the login form
These settings can also be changed through the shortcode attribute. For more details please see this page.
In a specific endpoint inside My Account page: select this option if you want to show the dashboard automatically in My account page
Show social share: enable to show social share buttons of referral URLs in Affiliate Dashboard > Link generator section.
Allow affiliates to share on: enable the social sharing options that you want to offer on your site. Their icons will be displayed in the Link generator section:
Facebook
Twitter
Pinterest
Whatsapp
Email
Social title: enter the title to use in Twitter and Pinterest sharing.
Social text: enter the text to use in Twitter, WhatsApp and Pinterest sharing. Use %referral_url% where you want to show the URL of your affiliate.
Pinterest image URL: enter the URL of the image to use in Pinterest sharing.
Prevent affiliates auto-commissions: enable to prevent affiliates from getting commissions from their own purchases.
Exclude taxes from commissions: enable to exclude taxes from referral commissions calculation. E.g. if a product costs €100 and there’s €20 tax added (for a total of €120), the affiliate commissions will be calculated on €100.
Exclude discounts from commissions: enable to exclude discounts from referral commissions calculation. E.g. if a product costs €100 and a €20 discount is applied, the affiliate commissions will be calculated on €80.
Calculate commissions permanently: enable to register referral token in the customer’s account and credit commissions to the affiliate for any future customer purchase. If enabled, this option will let you adjust more settings.
Prevent referral switch: enable to prevent the preexistent refer token registered for a customer from changing when a customer purchases on the store with a different referral token.
Persistent commissions rate: enter the rate that should be applied to commissions created by the persistent commissions system. Default commissions rate will be decreased (or increased, when values exceed 100) by the factor you specify here, and used to calculate actual commission. E.g. if your affiliate rate is 10% and you enter 90 here, the rate of permanent commissions will be 9% (90% of 10%).
Send an email to the admin when a commission changes status: enable to notify the site’s admin when a commission changes status. You can customize this email from WooCommerce > Settings > Emails.
Payment options
Payment type: this is the first option of the Payment options section and allows you to choose between multiple options for the payment of the commissions. Let’s check them all one by one below:
This is the simplest option that will require the admin to manually create the payments using any of the enabled gateways.
2. Automatically when reaching a minimum threshold
When selecting this option, a payment will automatically be created for affiliates who reach the minimum threashold that you can set up in the next option (it will show all the gateways enabled in the Payment gateways section below). The system will generate one separate payment for each affiliate of the total active balance of that user.
Please, note: the payments will be created based on those conditions by a daily cron.
For example, if you set a minimum threshold of €50, once a day a cron will check all affiliates’ balances and will create a payment record only for those affiliates who have reached the minimum €50 in confirmed commissions.
Then, you can decide whether enabling a default gateway for these payments or not in the option below. If you select “None”, the payment records will be created with the on hold status, so the admin can manually choose the payment gateway from the Payments tab.
Payment records on hold created automatically but with no default gateway set
If you select one of the automatic gateways (like YITH Stripe Connect, YITH PayPal Payouts or YITH Account Funds), the payments will be automatically processed and so instantly set to “Completed” automatically by the gateway. For more details about these automatic gateways, please refer to their details page in the Integrations section.
Only pay commissions older than: you can also choose to calculate the commissions threshold from confirmed commissions older than a certain number of days. This option is particularly useful if you offer a no-question refund policy and want to pay the commissions only after the terms of the refund are passed (and so make sure you do not pay commissions for orders that can actually be refunded).
3. Automatically on a specific day of the month
This option allows you to generate the payment records automatically on a specific day of the month, for example, every 1st day of the month. As for the previous option, you can also select a default gateway and based on it, the payments will be automatically processed or set to on hold status and create the payment only for commissions older than X days.
4. Automatically on a specific day of the month, if a minimum threshold is reached
This option combines both conditions, so the plugin will check the affiliates’ balance on the day you set, e.g. at least €50 on 1st every month, and will create payment records for each affiliate whose active balance reaches the minimum set threshold.
As for the previous options, you can also select a default gateway and based on it, the payments will be automatically processed or set to on hold status and create the payment only for commissions older than X days.
5. Automatically every day
This option will automatically create payments every day for each affiliate, regardless of their total active balance, so it could also create payments of a couple of dollars or cents. Be careful when using this if you are charged fees for every payment issued.
As for the previous options, you can also select a default gateway and based on it, the payments will be automatically processed or set to on hold status and create the payment only for commissions older than X days.
6. Let the user request the payment + Invoice!
When selecting this option, the user will be able to request the payment from the Payments tab in the Affiliate Dashboard.
Also in this case, you can set a minimum payment threshold and you can also enable the option that requires the invoice.
A Request withdral button will appear if:
the minimum threshold is reached and
there are no other pending payments.
If you enable the Require invoice option, the payment request cannot be submitted until an invoice document is uploaded by the affiliate or an automatic invoice is generated from the affiliate’s billing details.
The button will open a popup to fill out the request, where they can see the current active balance, enter the amount of the payment, update the billing info, upload or generate the invoice and accept the Terms & Conditions.
If the billing info are not complete, they will be able to click on the box and will be taken to the Affiliate Dashboard > Settings tab to complete all the required fields.
Let’s go on with more options for the invoice:
Choose how affiliates will generate invoices: choose how affiliates should submit their invoices wehn requesting a payment.
Let users upload their custom invoices
Generate invoices from customers data
Let users choose their preferred method
Invoice example: upload here a file that can be displayed to the affiliate as a sample invoice.
Company details: enter your company details here, the ones that your affiliates should add to their invoice. These details will be displayed if they choose to upload their own invoice file.
Invoice’s fields: choose the fields that should be filled by the affiliates in order to collect information for the automatic invoice generation. Available options: Type, first name, last name, company, billing country, billing state, billing city, billing ZIP code, billing address, company VAT, SSN.
Show Terms & Conditions field: enable to show the Terms & Conditions checkbox in the withdrawal form.
Terms & Conditions label: label for the Terms & Conditions checkbox in the withdrawal form. Use the %TERMS% placeholder to include a link to the Terms & Conditions page.
Terms & Conditions URL: enter the URL of the Terms & Conditions page for the link that will be used in the withdrawal form.
Terms & Conditions text: enter the text to use as a label for the Terms & Conditions link in the withdrawal form.
Invoice template: to override and edit the template of the affiliate invoices automatically generated by the system you can copy the yith-woocommerce-affiliates.premium/templates/invoices/affiliate-invoice.php to your theme folder, for example, yith-proteo-child/woocommerce/yith-wcaf/invoices/affiliate-invoice.php.
Finally, the following option applies to all payment types:
Send an email to the admin when a payment is issued: enable this email notification to notify the admin when a payment is issued. You can edit this email from WooCommerce > Settings > Emails.
Payment gateways
In this section, you can see all the supported gateways and enable or disable them. By default the plugin supports:
Direct bank/wire transfer: for more details about how payments via direct bank/wire transfer work, please, visit this page.
PayPal MassPay: this is a deprecated service offered to some PayPal accounts, for more details, please, check this page.
Additional supported gateways are:
Account funds: this requires that you also install and enable the plugin YITH WooCommerce Account Funds. For more details, please, visit this page.
PayPal Payouts: this requires that you also install and enable the plugin YITH PayPal Payouts for WooCommerce. For more details, please, visit this page.
Stripe Connect: this requires that you also install and enable the plugin YITH Stripe Connect for WooCommerce. For more details, please, visit this page.
On this page we will cover everything related to the Affiliate Dashboard, the tool at your affiliates’ disposal where they can find everything related to their affiliate profile, traffic and commissions generated and payments.
The dashboard will be visible only to approved affiliates and partially to banned affiliates (see how to hide specific sections to banned users in the Registration options).
The affiliate dashboard is made of different sections:
The dashboard section is the home screen with a recap of all the data of their profile, with:
Total earnings, paid, refunded and active balance;
Commissions rate, conversion rate and the latest commissions;
Visits, visits today and the latest visits.
Commissions
In this tab, you will see all the commissions generated with their ID, date, product and related order ID (the plugin will generate one commission for each product), amount, commission rate and commission status. For more details about the commission status, please, refer to this page.
You can also filter the commissions by status and date, and sort them by any of the titles in the column.
Visits
From this tab you can see all the visits, date, the referral Link that has been used, the Origin – the page where the link has been embedded – and the status (that can either be converted or not converted).
Coupons
This tab can be enabled by default for all users or make sure that it only appears if the affiliate has at least one coupon code enabled for his/her account. To change this option go to General Options > Coupon options.
By clicking on the coupon code, your affiliates can copy a link ready to be shared on their social networks, on their blog or any other tool where they choose to promote your store.
When a user visits that link, it will take the user to your site and will automatically apply the coupon code in cart.
The coupon code will grant a discount to the user and a commission to the affiliate for any order where the code is used.
Payments
From this tab, your affiliate will see all their payment records, the date, the amount, the invoice (if available) and the status.
the above mentioned “Let users request a payment” option has been enabled;
the affiliate ‘s active balance is equal or greater than the minimum amount for withdrawal;
there is no other pending or on hold payment for that user.
Link generator
This is where the affiliates can find their affiliate ID or token, their referral link and where they can also generate direct links with their referral ID to specific pages of your site.
Not only is it possible to copy the link and embed it on any page they wish, but it is also possible to enable the social sharing icons, so they can share the link in just a few clicks. To learn more about how to enable the social sharing options, please, visit this page.
Settings
From this tab, your affiliates will be able to adjust their profile settings.
In the first section “Profile info” they will find the affiliate registration fields that you’ve enabled to show also in the Affiliate dashboard. For more details, about how to display affiliate registration specific fields here, please, check this page.
Then, the billing info: these will be used for the automatic generation of the invoice when a new payment of commissions earnings is submitted and if the invoice is set as required. For more details about how to request an invoice and the automatic generation, please, see this page (Let users request a payment).
In the box on the right, the affiliates will be able to enter their payment details for each enabled gateway. For more details about the available payment gateways, please, visit this page.
Finally, from the same box, the affiliates can enable or disable two notification emails:
Notify on new commissions: if enabled, they will receive an email whenever a new commission is generated in an order made through a referral link.
Notify on paid commissions: if enabled, they will receive an email whenever a payment of their commissions is issued.
Email for the affiliate generated on new commissions
Email for the affiliate generated when commissions are paid
You can edit this email notification template from WooCommerce > Settings > Emails.
Your users will be able to join the affiliate programme from any page where the affiliate registration shortcode is displayed or from the Affiliate dashboard if they are not registered as affiliates yet.
The admin can additionally choose to embed the affiliate registration options in the default WooCommerce registration form: in that case, whenever a new user registers, he/she will also apply for the affiliate programme.
To do that, you just have to enable the option displayed below. If this option is enabled, instead, whenever a person registers as a user will also send an application for the Affiliate Programme.
2. logged in user who wants to join
In case the user has already registered an account on your site and has logged in, both the affiliate registration shortcode [yith_wcaf_registration_form] and the Affiliate dashboard will show the Become an affiliate form, that will include only the affiliation related fields.
Basic “Become an affiliate” form
“Become an affiliate” form with custom registration fields
When the user submits his/her application request, there are two available options, based on the admin’s settings:
users will see a message that informs them that their application will be reviewed. They will receive an email confirmation based on whether the application is approved or rejected.
affiliate applications will be automatically approved and the affiliate will immediately see a button that redirects to the Affiliate dashboard. For this setting, just make sure you enable the “Automatically approve affiliates” option in the Registration options. Note: this automatic approval option is only available when using the premium version.
4. Affiliate rejected
In this case the affiliate will see a custom message that can either be set up globally for all rejected affiliates in the Registration settings or for each affiliate from the affiliate’s profile or the popup that shows when changing the affiliate’s status from the affiliates page.
5. Affiliate approved
If the affiliate request is approved and the user has applied through a custom page with the registration shortcode, this will be turned into a greeting message and a button that takes to the Affiliate Dashboard.
If the application has been sent through the Affiliate dashboard, it will automatically update and show the full content.
Each affiliate can generate visits and purchases on your site through their referral ID that is what allows associating the user to the affiliate and generate a commission for him/her in case an order is submitted.
Where to find the referral ID and how can an affiliate concretely drive sales?
The referral ID can be found in the Link generator tab in the Affiliate Dashboard.
For more details about how to customize the referral ID, please, see the Query var name option in the general options (premium version here – free version here).
The affiliate can choose one or more of the following ways to share his/her referral ID and generate traffic:
generate a sharable link with the referral ID attached from the Link generator tab in the Affiliate Dashboard.
share the referral ID that the user will add on the checkout page. You can enable the Allow users to enter a token at checkout option from the General options or and can also use the shortcode (premium version only).
share one of his/her coupons: affiliates can have more than one coupon code associated to their profile that will generate commissions for them for every order where the coupon is used. For more details about the coupon, please, check these settings (premium version only).
The administrator can manually associate an affiliate with one of the orders where no referrals are set or edit the affiliate linked to the current order. This can easiliy be done from the Referral commissions box in the order details.
If no affiliate is set, you can just type in the affiliate’s name or ID and update the order: commissions will be automatically generated.
You can also remove an affiliate from an order and the associated commissions will be removed too.
Just click on the X button as shown in the screenshot below.
In this scenario, the user keeps being associated with the very first affiliate, whether the user comes back through another affiliate link or not, it doesn’t matter.
In order to set a permanent affiliation system, you’ll have to enable the option “Calculate commissions permanently” in the Commissions options. For more details, please, see this section.
Affiliation for unlogged users
The only way to track affiliate purchases coming from unlogged users is to check if there is a specific cookie in the browser they are using.
Thanks to this cookie, you’ll be able to backtrack the affiliate number and generate commissions for any possible purchases.
The cookie is automatically removed if any of the following conditions occurs:
A typical use of the affiliate programme is when an affiliate shares the site link or a product link through their social networks. In this case, the affiliate can generate the referral link from the Link generator tab in the Affiliate dashboard, shorten using a service like bit.ly and share it through the social profiles. Every visit coming through the social networks will be recorded.
Affiliate/External products
Another typical use case is the affiliate who creates a WooCommerce External/Affiliate product on his own site. For every external product, the affiliate can generate the link though the Link generator in the affiliate dashboard and add it in the external product settings.
Promoter/influencer
The affiliate creates a guide or reviews the product (through a blog post or video) and shares a special 20% discount code with his/her followers. The code can be copied from the Coupons tab in the Affiliate dashboard and shared in the blog post or video description.