1. Home
  2. Documentation
  3. Affiliate Platform
  4. Onboarding Affiliate Marketers

Onboarding Affiliate Marketers

Adding Affiliates Manually

Open the Freemius Dashboard and go to AFFILIATION. There, click the AFFILIATES tab:
Freemius Dashboard Affiliates Tab

To add a new affiliate, simply click the ADD AFFILIATE button:
Freemius Dashboard - Add Affiliate Button

Enter the affiliate’s email, name, and the domains on which the affiliate will be marketing your product. Then, click ADD AFFILIATE:
Freemius Dashboard - New Affiliate Form

Once you add an affiliate, they will automatically receive an email with a direct link to their Affiliate Dashboard and their custom affiliated links, which they can start using right away to promote your product:
Freemius Affiliate Approval Email

Since the URLs aren’t very pretty, we recommend that affiliates use a plugin like Shortlinks to map the links with pretty URLs and use them instead.

Affiliates Application Form

WP Admin Dashboard Affiliates Application Form

Currently, we provide a registration form that can be included in the WP Admin of your plugin or theme. To enable the form go to the SDK INTEGRATION section, scroll to the submenu items selection and check the Affiliation option:
Freemius SDK Integration - Affiliate Form Activation

Checking the box will add a new parameter to the integration snippet:
'has_affiliation' => '<moderation>', // <moderation> - selected, customers, or all.

Copy the updated snippet code and place it in your plugin/theme instead of the previous snippet.

Refresh the WP Admin and you should immediately see a new Affiliation submenu item which links to the affiliate program terms:
Freemius WordPress SDK - WP Admin Affiliate Program Terms

Clicking the Become an affiliate will show the affiliate application form:
Freemius WordPress SDK - WP Admin Affiliate Program Form

To increase the awareness about your Affiliate Program, the SDK will automatically trigger an admin notice after 30 days of your product usage:
Freemius WordPress SDK - Affiliation Admin Notice

If you set your Affiliate Program to only permit paying users to become your affiliates, the notice will only show up for your customers.

You can disable the notice by including the following code:

// Replace “my_freemius” with your shortcode.
my_freemius()->add_filter( ‘show_affiliate_program_notice’, ‘__return_false’ );

When an affiliate submits the form you’ll immediately receive an application email with the affiliate’s name and email, and information on where and how they will be promoting your product:
Freemius New Affiliate Application Email

The email also comes with a direct link to the affiliate settings in the Freemius Dashboard where you will be able to approve or reject the affiliate’s application request (scroll to the bottom):
Freemius Dashboard - Affiliate Approval / Rejection

If you approve the affiliate, they will get an email notification with a link to their Affiliate Dashboard, and the affiliated links they can use to promote your product. If you reject the affiliate you’ll be prompted with a dialog box where you can add the rejection reason, which will be sent, together with the rejection email to the applicant.

Creating an Affiliates Application Form on Your Website

If you’d like to create an affiliates application form for your site, you can leverage our API and PHP-SDK to integrate your form with Freemius.

Here’s a backend PHP implementation:

<?php
  define( 'FS__API_SCOPE', 'developer' );
  define( 'FS__API_DEV_ID', 1234 );
  define( 'FS__API_PUBLIC_KEY', 'pk_YOUR_PUBLIC_KEY' );
  define( 'FS__API_SECRET_KEY', 'sk_YOUR_SECRET_KEY' );
  
  // Init SDK.
  $api = new Freemius_Api(FS__API_SCOPE, FS__API_DEV_ID, FS__API_PUBLIC_KEY, FS__API_SECRET_KEY);
  
  // You can get the product's affiliate program terms ID from the AFFILIATION section, it's stated right in the 1st tab.
  $api->Api("/plugins/{$productID}/aff/{$affiliateProgramTermsID}/affiliates.json", 'POST', array(
    'name'                         => 'Full Name',
    'email'                        => '[email protected]',
    'paypal_email'                 => '[email protected]',
    // Should not include an HTTP/S protocol.
    'domain'                       => 'affiliate-main-site.com',
    // An optional param to include additional domains/sub-domains where the applicant will promote your product.
    'additional_domains'           => array('affiliate-2nd-site.com', 'affiliate-3rd-site.com'),
    // Optional comma-separated combination of the following: 'social_media' and 'mobile_apps'.
    // This is useful if by default you don't allow promoting through mobile or social, to manually (& optionally) create custom terms for the applicant after approval.
    'promotional_methods'          => 'social_media,mobile_apps',
    // An optional free text where an applicant can provide some stats data about their reach.
    'stats_description'            => '100k monthly PVs. 1,000 Instagram followers. I manage a FB group of 20,000 members.',
    // An optional free text when an applicant can explain how they are planning to promote your product.
    'promotion_method_description' => 'I am going to write a review of your plugin and sharing through my social reach of 100k followers.',
    // An option applicant state. Defaults to 'active'. One of the following states: 'active', 'pending', 'rejected', 'suspended', 'blocked'.
    'state'                        => 'pending',
  ));