View Product Page

General options

In the General Options tab we will find multiple sections:

Let’s go through all of them in detail.

General

General options - General

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 products

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.

Exclude users

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 at checkout

The affiliate can find this token in the Affiliate Dashboard > Link generator tab:

Affiliate ID - token

Cookie options

2.General option - cookie options

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.

Cookie expiration

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 history in order details

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.

Cookie history expiration

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

General options - 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 codetype and amount of the discount, expiration date, and other information added to the tooltip as shown in the image below.

Coupon tab in Affiliate Dashboard

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.

New coupon email

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

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.

Affiliates registration

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.

Affiliates registration

How to add a new field

Just click on the + Add field button on top of the table to create a new field.

Add 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.
Registration fields in Dashboard
  • 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
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

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 fields in registration form
Affiliate-related fields in the default WooCommerce register form

Registration options

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:

Custom reject message
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.

Affiliate Dashboard – options

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.

Affiliate dashboard options

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.

Commissions & Payments – options

From this page in the General options > Commissions & Payments you will be able to set up the following sections:

Commission options

General options - Commissions options.jpg

Default commission rate: enter the default commission rate for all affiliates. You can override this value in Affiliates > Rates, in each Affiliate’s detail page or exclude some products or categories from the General options tab.

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%).

Permanent commissions

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:

  1. Manually
  2. Automatically when reaching a minimum threshold
  3. Automatically on a specific day of the month
  4. Automatically on a specific day of the month, if a minimum threshold is reached
  5. Automatically every day
  6. Let the user request the payment + Invoice!

1. Manually

This is the simplest option that will require the admin to manually create the payments using any of the enabled gateways.

Payment - manually

2. Automatically when reaching a minimum threshold

Automatically when reaching a mininum 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.

Payments with on hold status
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.

Automatically on a specific day of the month

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.

Payment day and threshold

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.

Payments every day

6. Let the user request the payment + Invoice!

Let users request the payment

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.
Request payment button

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.

Commissions payment request

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
Commissions payment request - invoice options

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.

Payment options - part 2

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.

Commissions payment request - Terms

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.

Invoice template

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.

Emails - payments sent

Payment gateways

General options - 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.