My Cart

User Manual - Affiliate

Magento 2 Affiliate is a complete tool-set to run and manage affiliate campaigns. These could be of two types: link and coupon-based. The extension allows supporting campaigns with recommendations for promotional products, targeting campaigns at selected affiliate groups, configuring commission types and amounts, and more. On top of that, the Admin can flexibly manage the following: affiliate groups and accounts, affiliate program signup requests, process campaign-related transactions. Furthermore, M2 Affiliate enables monitoring campaign statistics by promotion type.

API documentation link


Installing Affiliate

Command Line Installation

  1. Backup your web directory and store database
  2. Download the Affiliate installation package
  3. Upload contents of the Affiliate installation package to your store root directory
  4. In SSH console of your server navigate to your store root folder:
cd path_to_the_store_root_folder

run the following command: 

php bin/magento module:enable  Aheadworks_Affiliate


php bin/magento setup:upgrade


php bin/magento setup:static-content:deploy -f

       5. Flush store cache; log out from the backend and log in again

Make sure the installation is done from the FTP Administrator account. Otherwise, set 775 permissions to the store root directory after the extension is deployed.

Composer Installation

If you are installing an extension from Aheadworks for the first time, you need to add our composer repository to your Magento store:

     1. Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

Run the following command:

composer config repositories.aheadworks composer

On successful execution of the command you will be able to use the composer to install the extensions.

To install the extension:

     2. Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

      3. Run the following command to install the latest version of the extension:

composer require aheadworks/module-affiliate

if you need to install a specific version, run this command:

composer require aheadworks/module-affiliate:<version>


Specify the version of the extension in <version>

When prompted, enter Public Key (Username) and Private Key (Password):

Public Key (Username) and Private Key (Password) | Affiliate for Magento 2

Both Public Key (Username) and Private Key (Password) can be found in My Projects and Licenses in your personal account on our site:

Access keys management | Affiliate for Magento 2

     4. Enable the extension:

php -f bin/magento module:enable <Module_Name>


†Add the product name in <Module_Name>

Next, register the extension:

bin/magento setup:upgrade

Recompile your Magento store if you are in the Production mode:

bin/magento setup:di:compile

To verify that the extension is enabled, run this command:

bin/magento module:status

Clean store cache, by running the following command:

bin/magento cache:clean

Log out and Log in the backend again.

To upgrade the extension:

     5. To update or upgrade an extension:

Download the updated extension file. Take note of the module-name and version. Export the contents to your Magento root.

If a composer package exists for the extension, run one of the following.

Update per module name:

composer update aheadworks/module-affiliate

Updater per version:

composer require aheadworks/module-affiliate:<version>

Run the following commands to upgrade, deploy, and clean the cache.

php bin/magento setup:upgrade --keep-generated 
php bin/magento setup:static-content:deploy
php bin/magento cache:clean


Uninstalling M2 Affiliate

Since Magento introduced declarative Database you need to be very carefull when uninstalling or disabling the module.

NOTE: Please be very careful when uninstalling/disabling this module. This module uses a declarative DB scheme. Once the module is uninstalled the DB tables will be lost.

Manual Removal

1. Disable the module by executing the following commands:

php bin/magento module:disable Aheadworks_Affiliate
php bin/magento setup:upgrade

2. Remove the extension files from the following folder:


Automatic Removal (via Composer)

1. Disable the module by executing the following commands:

php bin/magento module:uninstall Aheadworks_Affiliate





Module Version 

Magento Version 


1.2.3  and earlier versions

2.3.Х - 2.3.6

2.4.0 - 2.4.3

7.4 and earlier versions

As of version 1.2.4

2.4.0 - 2.4.5

7.4, 8.1

As of version 1.3.0

2.4.4 - 2.4.6





Introducing M2 Affiliate

M2 Affiliate Overview

Magento 2 Affiliate extension allows running profitable affiliate campaigns based on the 'pay-per-sale' model. According to the model, the Affiliate receives a commission for every purchase that takes place during the campaign. Purchases of products which are not directly promoted within the campaign but which can be reached via a promo link or/and coupon code are also rewarded with a commission. Thus Magento 2 Affiliate enables same affiliate campaigns as they do on Amazon.

The module introduces the following features:

  • Custom lists of product recommendations to promote within a particular campaign;
  • Individual commission rates and commission holding periods per affiliate group;
  • The possibility to reward individual affiliate groups with higher commission rates;
  • Separate performance reports for coupon/link promotions available for both affiliates and admins;
  • Manual (to create а payout manually customer makes a request or it is created automatically depending on the settings) and automatic (by custom schedule) payouts.

On the Backend, the module introduces separate grids for each key affiliate management aspect: campaigns, affiliate groups, accounts, signup requests, transactions, and payouts. Store Admins are able to configure the signup, commission, payout, and email notification parameters.

On the Storefront, the Customer is provided with the Affiliates tab, where he/she can join affiliate programs, view recommendations, get links, generate coupon codes, monitor balance history and transactions. 

What's New?

As of version 1.1.0 the present extension allows creating affiliate accounts on the Backend.


Reward Points for Magento 2



M2 Affiliate on Backend

Extension Settings

Start configuring the extension by going to Stores > Configuration > AHEADWORKS EXTENSIONS > Affiliate. The configuration page is divided into five sections. We will explore each separately.

 Extension Settings | Affiliate for Magento 2


The Signup Settings section is presented by two parameters:

  • Select Terms & Conditions CMS Page - defines the page on your web store with affiliate program terms & conditions.

After the installation, the module adds a separate CMS Terms & Conditions page with sample content.

  • Admin Approval Needed - defines whether you need to manually approve affiliate program signup requests. If left to No, all requests will be approved automatically.

Commission Configuration

The 'Commission Configuration' section has the following options:

  • Add Commission When The Order Item Obtains Status - defines the referred customer's order status upon which the affiliate will get a commission (pending until the commission holding period expires): OrderedInvoiced, or Shipped;

Commissions are accrued upon reaching a particular order item status, not order status. This is particularly useful for the orders that include the items that require commission accrual and those that don't.

In case an invoice and shipping are created at the same time (therefore, the order item instantly receives the hardcoded Shipped status bypassing the Invoiced status), the commission is accrued upon reaching the predefined status or the Shipped status.

  • Deduct Commission When The Order Item Obtains Status - the option sets automatic commission deduction (before the commission holding period expires) upon the selected order status: CanceledRefunded, or Returned.
  • Lifetime attribution of a customer to affiliate - defines the lifetime connection between the affiliate and customer (referred customers should be forever assigned after first purchase to corresponding affiliates).

Lifetime attribution of a customer to affiliate

In case in future the ‘assigned’ customer will visit the store with a NEW affiliate link or coupon (from a different affiliate), this fact is to be ignored. All orders of such a customer should keep being attributed to the ‘initial’ affiliate who brought the customer to the store.


Affiliates get commission on every order

Affiliates will get commission on every order of ‘their’ attributed customers irrespective if the client used a coupon/link on that order or not. All customers' purchases will be attributed to that affiliate irrespective if there is a running affiliate campaign or not, the affiliate will get a commission for his affiliate group. Works when Lifetime attribution of a customer to affiliate is enabled. 

Lifetime attribution of a customer to affiliate | Affiliate for Magento 2

Payout Configuration

The Payout Configuration section contains the following parameters:

  • Minimum Balance for a Payout - defines the minimum payout balance (in the base currency) upon reaching which the payout can be created (either manually or automatically);
  • Allow Payout Requests - if enabled, the affiliate can send payout requests by sending requests from their account. The appropriate button appears when their balance reached the defined minimum value. This way, the affiliate can create payouts from the storefront and the admin can then process the newly created payouts from the admin area;
  • Generate Payout by Schedule - defines if payouts should be generated once in a certain period. Provided that the affiliate's minimum balance reached the defined value, the payout with all the available commissions will be created automatically;
  • Payout Creation Period, Days - defines the frequency of payout regular generation;
  • Enable Admin Payout Reminders - defines whether you should be reminded of regular payout issuing.

Payout Configuration | Affiliate for Magento 2

Admin Email Configuration

The Admin Email Configuration section comes with the following parameters:

  • Admin Email - the email address for admin alerts. If left empty, admin alerts will be disabled;
  • Sender - the name of the default email sender;
  • New Signup Request Template - the email template for new affiliate program signup requests;
  • New Payout Template - the email template for new affiliate program payouts;
  • Payout Reminder Template - the email template for payout issue reminders;

For store views with separate payout reminders related to the same template, the same reminder will be sent to each email address specified.

Admin Email Configuration | Affiliate for Magento 2

Affiliate Email Configuration

The Affiliate Email Configuration section comes with the following parameters:

  • Payout Complete Template - the email template for payout completion reminders;
  • Payout Cancellation Template - the email template for payout cancellation alerts;
  • Affiliate Rejection Template - the email template for affiliate program signup request rejections;
  • Affiliate Confirmation Template - the email template for affiliate program signup request confirmation.

Affiliate Email Configuration | Affiliate for Magento 2

Affiliate Campaigns

To work with affiliate campaigns, proceed to Marketing > Affiliate by AheadWorks > Campaigns.

Managing Affiliate Campaigns

The Campaigns grid is designed for affiliate campaign management and monitoring. The data in the grid is split into the following columns:

  • ID - the ID of the campaign;
  • Name- the name of the campaign;
  • Allow Link Generation - shows whether promotion via links is allowed within the campaign;
  • Coupon - shows whether promotion via coupon codes is allowed within the campaign;
  • Commission - the commission amount provided by the campaign. Can be fixed (displayed in the website's base currency) or percent (as shown in the above picture);
  • Status - the status of the campaign;
  • Website - the website the campaign is assigned to;
  • Action - provides the Select box with the following per-campaign options: EditDeleteDisable.

From the Action box above the grid, you can deleteenable, or disable campaigns one by one or massively.

Affiliate Campaigns | Affiliate for Magento 2

Creating/Editing Affiliate Campaigns

To create a new campaign, click on the New Campaign button at the top right of the page. To edit a campaign, click on the corresponding Select selector in the Action column.

 Creating/Editing Affiliate Campaigns | Affiliate for Magento 2

The Create/Edit Campaign pages is split into several sections: General Information, Conditions, Link Configuration, Coupon Configuration, Commission Configuration and Recommended Products.

In the General Information section, you can specify campaign credentials and assign affiliate groups (individual groups or all groups) to the campaign.

In the Conditions section, you can set campaign-specific conditions based on Cart and product attributes.

Notes on conditioning campaigns

  1. Commission rate and/or coupon code will be applied only to the cart items that fall under the specified conditions. 
  2. To assign no conditions to the campaign and make it accessible for all products, leave the Conditions area blank.

 Edit Campaign | Affiliate for Magento 2

Refer to the Link Configuration section to enable link generation for the campaign. This is where you can define a link tracking gap - the period [of the lifetime of the cookie] during which the Affiliate will be able to get commissions from campaign-related purchases.

Link Configuration | Affiliate for Magento 2

If set to 0, the cookie lifetime will be equal to the session time.

Refer to the Coupon Configuration section to enable and set up the coupon-based promotion type of campaigns. To enable the coupon, select Specific coupon in the Coupon box. You will then be able to define the coupon code, the number of coupon uses per affiliatediscount type (percent or fixed), and discount amount.

Coupon Configuration | Affiliate for Magento 2

When a Specific coupon is selected you can enable or disable the Coupon code separator. For example, when the Coupon code separator is disabled, coupon code XYZ10WOMAN5OFF will be generated instead of XYZ10-WOMAN5OFF.


When the '0' value is set for the 'Uses per Affiliate' option, the number of coupon usages is unlimited.

Once any of the affiliates have generated a coupon code for the first time within the campaign, a mirror rule is created automatically in the 'Cart Price' rules. Without this rule, the coupon code can't be applied.

In this mirror rule, the 'Uses per Affiliate' option is automatically set to unlimited for all customer groups.


It's not recommended changing the mirror rule's settings since the campaign-related coupons won't work the way they are configured in the affiliate marketing campaign.


If you delete the Affiliate module, all the previously created rules will not be erased. This means that all the related coupons will keep working. To avoid this, you need to delete rules manually.

If you delete a website, all the assigned affiliate campaigns will be deleted. However, the previously configured mirror shopping cart rules will remain, meaning that you will have to delete them manually.

Proceed to the Commission Configuration section to define the type of an award(% or fixed) and indicate the amount of thereof. 

Refer the Recommended Products section to (optionally) pick products to be displayed as recommendations for the promotion. The recommendation list can be further edited whenever required.

To share campaigns with the same conditions between multiple websites, use the Save & Duplicate option in the Save box at the top right of the page.

Commission Configuration | Affiliate for Magento 2

Signup Requests  

All signup requests can be monitored and managed via Marketing > Affiliate by AheadWorks > Signup Requests.

Signup Requests  | Affiliate for Magento 2

The data in the Signup Requests grid is broken down by the following columns:  

  • ID - the ID of the request;
  • Customer Name- the name of the Customer;
  • Customer Email - the email address from which the Customer sent a signup request;
  • Website - the website to which the Customer sent the request;
  • Signup Date - the date of the signup;
  • Referral Website  - the primary traffic source from where the Affiliate will promote the products within the campaign;
  • Status - the status of the signup request status: PendingApproved, or Declined;
  • Action - the Select selector to allow one of the following: View, Delete, Approve, and Decline.

You can also perform the latter three operations massively from the Actions box above the grid.

When the Affiliate account is created on the Backend, some relevant fields above will contain data as they are stored in the Customer profile. 

In case of signup request decline, you can optionally specify the reason in the Decline Reason text-box on the Signup Request page.

 Signup Requests | Affiliate for Magento 2

Affiliate Accounts

To work with affiliate accounts proceed to Marketing > Affiliate by AheadWorks > Accounts.

Managing Affiliate Accounts

The Accounts grid lists the information about affiliate accounts split by the following columns:

  • Affiliate Name - the name of the Affiliate;
  • Affiliate Email - the email address of the Affiliate;
  • Website - the website where the Affiliate implements the campaign;
  • Affiliate Group - the group the Affiliate belongs to;
  • Signup Approval Date - the date when the Affiliate's signup request was approved;
  • Available Commissions - the total sum of the available commissions (the ones with the holding period already expired) plus admin transactions per affiliate;
  • Paid Commissions - the total amount of paid commissions. The amount is calculated based on the sum of completed payouts;
  • Status - the current status of the affiliate's account;
  • Action - the Select selector with the following options: Edit and View Signup Request.

An affiliate account is valid on a specified website only. If the Affiliate wants to have an account on several websites, he/she will need to create separate credentials for each site. This will enable separate affiliate accounts with separate balances on each website. The websites might have their individual base currencies.

From the Actions box above the grid, you can activate/deactivate the selected account(s).

 Affiliate Accounts | Affiliate for Magento 2

Adding Affiliate Accounts

To add a new Affiliate account, click on the Add New Affiliate button in the top right of the page. This will redirect you to the Add New Affiliate page. The page allows selecting a web-site and a group for the Affiliate. Do that with the help of the two drop-boxes:

  • Website (Main Website by default, if not set otherwise)
  • Affiliate Group (Default group by default)

The page enables assigning a customer for the Affiliate account.

Adding Affiliate Accounts | Affiliate for Magento 2

To assign a customer to the account, click on the Add Customers button at the bottom of the Add New Affiliate page. A popover will emerge prompting to select a customer from the grid. Click Add Customers in the top right of the popover when done. You will be returned to the Add New Affiliate page. The Customers grid at the bottom of the page will feature the following details of the chosen customer:

  • Customer ID
  • Name
  • Email
  • Group
  • Website
  • Actions

To remove the customer, click on the Remove active link in the corresponding Actions cell.

It is a particular feature of the extension (as of version 1.1.0) that multiple affiliate accounts can be created on the Backend within one operation

To create multiple affiliate accounts, select multiple customers on the customer selection step above. The Customer grid on the Add New Affiliate page will then feature multiple entries. 

Remember, that when creating affiliate accounts in bulk, you create them with the same values of Website and Affiliate Group.

 Add Customers | Affiliate for Magento 2

To finalize the configuration of the account(s), click on the Set As Affiliate in the top right of the Add New Affiliate page.

An affiliate account will not be created if:

  1. there is a pending signup request from the selected herein customer, and this signup was made from the store view similar to the selected herein website
  2. there is already an existing affiliate account for the selected customer and website

Editing Affiliate Accounts

To edit an affiliate account, click on the corresponding Select selector in the Actions column on the Accounts page. You will be redirected to the Edit Affiliate Account page. This is where you can view the details of the affiliate account.

Use the Status and Affiliate Group drop-boxes to update the status and group of the Affiliate.

To view the signup request of the Affiliate click on the View active link next to the Signup Request option. You will then be redirected to a page featuring the details of the sign-up. 

 Edit Affiliate Account | Affiliate for Magento 2

Affiliate Groups

To view the affiliate groups presented in the store, follow to Marketing > Affiliate by AheadWorks > Affiliate Groups.

Managing Affiliate Groups

The Affiliate Groups grid shows data on affiliate groups broken into the following columns:

  • ID - the id of the affiliate group;
  • Group Name - the name of the group;
  • Commission Type - the type of commission provided for the group (fixed or percent);
  • Commission Premium - the amount of the commission premium (if provided) for the group;
  • Commission Holding Period, day(s) - the duration of the commission holding period (in days) per group;
  • Action - the column contains the 'Select' box from where you can edit/delete the corresponding group.

With the Actions box above the grid, you can delete selected affiliate group(s) in bulk.

Affiliate Groups | Affiliate for Magento 2

Creating/Editing Affiliate Groups

To create a new affiliate group, click the New Affiliate Group button above the grid.

To edit an affiliate group click on the Select selector in the relevant Action cell and choose Edit. In each case you will be redirected to the Create/Edit Affiliate Group page.

The page will prompt you to indicate the following details:

  • Group Name
  • Commission Type
  • Commission Premium
  • Holding Period

By setting individual commission amounts and commission holding periods per group, you can reward best performing affiliate groups with higher commissions and shorter holding periods. This is how you can encourage their active participation in your campaign. At the same time such fine-tuning helps prompt the under-performing groups to collaborate with you more actively. 

 Creating/Editing Affiliate Groups | Affiliate for Magento 2


To work with affiliate program transactions, go to Marketing > Affiliate by AheadWorks > Transactions.

Monitoring Transactions

The data in the Transactions grid is presented within the following columns:

  • ID - the ID of the transaction;
  • Affiliate Name - the name of the Affiliate;
  • Affiliate Email- the email address of the Affiliate;
  • Type - the type of the transaction:
    • Commission - transactions per purchase made during the campaign
    • Payout - transactions to affiliate balances (Completed payouts can be exported into XML/CSV)
    • Admin changes - in-coming/out-coming transactions which you create on the Backend

All admin manual transactions relate to the Admin Changes transaction type.


Commissions are created when an item in the order meets the conditions of the campaign and receives the status defined in Add Commission When The Order Item Obtains Status Extension Configuration.

  • Website - the website from where the transactions are performed;
  • Status - the status of the transaction: CompletePending, or Canceled;

The table below shows the relation of an affiliate account balance with the status of the transaction.

 Transactions | Affiliate for Magento 2

  • Amount - the amount of the transaction;
  • Creation Date - the date of transaction creation;
  • Holding Period Expiration Date - the date when a) the transaction changes the status from Pending to Completeb) pending commissions in the affiliate account get decreased by the transaction amount, while the commissions available get increased by it, respectively;
  • Comment - the comment the Admin may leave to the transaction. For transactions of the Commission type, the comment will include the title of the items which invoked the commission;
  • Action - the Go to Affiliate active link leading to the Edit Affiliate Account page.

 Transactions | Affiliate for Magento 2

Creating/Editing Transactions

To create a new transaction, click the Create Transaction button in the top right corner of the Transactions page. You will be redirected to the Create Transaction page. The page prompts to do the following to create a transaction:

  • Select the required affiliate - make use of the Select Affiliate button and the subsequent Select Affiliate popover. 
  • Specify the transaction amount (positive or negative) - indicate the amount in the Amount field. Do that in the website base currency. Use negative values to subtract money from the affiliate's balance.
  • Add a comment - type the comment into the Comment field.

 Creating/Editing Transactions | Affiliate for Magento 2

Understanding Transaction Flow 

Transaction flow is illustrated in the chart below.

Understanding Transaction Flow  | Affiliate for Magento 2

How bundled items receive their commission?

For orders containing both parent and child items the logic of commissioning is as follows:

An item receives its status if either a parent item or all child items have this status;

To indicate which item type - parent or child - determines the end status of the item, consider the following bundle product options: Dynamic Price (Yes/No) and Ship Bundle Items (Together/Separately);

According to the native Magento 2 logic, a configurable product is equal to a bundle product with the 'Dynamic Price' option set to No and the 'Ship Bundle Items' parameter set to Together. To clarify, it is suggested that the Configurable type is a particular case of bundle products;

For products with Dynamic Price = No and Ship Bundle Items = Together, all statuses are determined by the parent item;

For products with Dynamic Price = Yes and Ship Bundle Items = Separately, all statuses are determined by child items;

For products with Dynamic Price = No and Ship Bundle Items = Separatelyby child items, only the 'Shipped' status is determined;

For products with Dynamic Price = Yes and Ship Bundle Items = Together, all statuses are determined by child items, and the 'Shipped' status is determined by the parent item


To monitor money outflow in the context of affiliate payouts, go to Marketing > Affiliate by AheadWorks > Payouts.

The Payouts grid contains the payout data presented within the following columns:

  • ID - the ID of the payout;
  • Affiliate Name - the name of the Affiliate;
  • Affiliate Email - the email address of the Affiliate;
  • Type- the type of the payout (manual or automatic);
  • Payment Type - the type of payment (PayPal or other);
  • Payment Info - the additional payment info. If the affiliate uses PayPal as the payment type, this field will indicate their PayPal email address. In the case of another payment type, the field will contain the corresponding info about the appropriate payment destination;
  • Payout Amount - the amount of the payout;
  • Currency - the base currency of the store;
  • Status  - the status of the payout: PendingProcessingCanceled, or Complete;
  • Created At - the date of payout creation;
  • Updated At - the date of the last update of the payout;
  • Action - the column contains the Select box from where you can go to the affiliate details page, process, complete, or cancel the corresponding payout.

With the Actions box above the grid, you can change the status of the selected payouts in bulk. The options available here are ProcessingCompete, or Canceled.

 Payouts | Affiliate for Magento 2

Export payout data into CSV/XML with the help of the Export button below the Payouts grid. Do that to issue mass payouts to affiliates, for example. The workflow herein goes as follows:

  1. Payouts are exported to CSV/XML;
  2. The admin manually edits the exported payouts in accordance with the required payment processor's standards;
  3. The edited payouts are imported into the required payment processors;
  4. The admin issues payouts in bulk.

Activity Feed

Activity Feed allows tracking the activity of affiliates. The Activity Feed grid displays the following types of activities:

  • Pending affiliate request;

  • Affiliate withdrawal request;

  • $5 pending commission was created for order #xxxxxxx, item <name> for affiliate <name>;

  • Payout reminder.

Sales by Affiliate Link Report

To access the performance statistics of the link-based promotions, go to Reports > Affiliate by AheadWorks > Sales by Affiliate Link.

The Sales by Affiliate Link grid contains the reporting data split by columns:

  • Affiliate Email - the email address of the affiliate;
  • Campaign - the related affiliate campaign;
  • Hits - the number of clicks on the link;
  • Orders - the number of orders within the campaign;
  • Buyers  -  the number of visitors who came via the affiliate link and made at least one purchase;
  • Commissions - the available commission amount;
  • Conversion - the number of visitors who has come via the affiliate link and made at least one purchase to hits ratio.

 Sales by Affiliate Link Report | Affiliate for Magento 2

The report employs information only about the available commissions and only for the last three months.

Sales by Coupon Report

To view the performance of the coupon-based promotions, go to Reports > Affiliate by AheadWorks > Sales by Coupon.

The Sales by Coupon grid contains the reporting data split by columns:

  • Affiliate Email - the email address of the Affiliate;
  • Campaign - the related affiliate campaign;
  • Coupon Code - the coupon code of the Affiliate;
  • Total № of Uses - shows how many times the coupon was used;
  • Commissions - the available commission amount.

 Sales by Coupon Report | Affiliate for Magento 2

The report employs data only about the commissions available and only for the last three months.


The 'aw_aff_link_statistics' database table stores complete statistics on the performance of all the campaigns within the life-cycle of the extension. Should need be, you can upload the data from the table and analyze it outside Magento.

Reward Points integration

Integration with M2 Reward Points allows affiliate partners to earn reward points instead of a cash amount. 

  • Type of Award dropdown - choose the type of affiliate reward: either Commission or Reward Points;

  • Apply dropdown - allow to select how reward will be applied;

  • Amount of Award - define the amount of commission or reward points that customers will get according to the affiliate program as a percent of bought items or fixed amount.

    If a customer takes part in several campaigns he can get both reward points and commission as a reward.




M2 Affiliate on Frontend  

The module adds the Affiliate Program section to the customer account on the Storefront.

This is where the Customer is able to send affiliate program signup requests. To do so, the Customers fills in the Affiliate Program form, indicating the referral website, description of the resource and agrees with the Terms and Conditions. These can be accessed for acknowledgement via the Terms & Conditions active link also available on the Affiliate Program page. Clicking on the Apply button below the form the Customer submits the application.

M2 Affiliate on Frontend   | Affiliate for Magento 2

The Affiliate Program tab in My Account, furthermore, allows retrieving campaign links, generating coupon codes, monitoring campaign statistics per promotion type, and more. For user convenience, the information in the section is divided by the following tabs:

  • Information - contains the information about the program, including the Affiliate's referral link (the primary traffic source), payment type (PayPal or other), and payment information. The data in the tab can be edited anytime. 

The Referral website and Payment information fields are not mandatory here as compared to the same fields in the Affiliate program signup form. Since affiliate accounts can be created on the Backend, where the Admin is not able to indicate Customer's primary traffic source and comments on payment, these fields can only be edited by the Customer.

Affiliate Program tab | Affiliate for Magento 2

  • Promotions - lists all the campaigns available to the Affiliate with commission and premium (if available) amounts. From there, link/coupon generation takes place;

Affiliate Program tab | Affiliate for Magento 2

The commission value is pulled from the campaign commission value. If the Affiliate is a member of the affiliate group where the premium is more than 0, the green 'VIP' label will be displayed next to the regular commission amount.


Link processing goes according to the following scenario:

  1. The campaign and affiliate account data is extracted from a promo link;
  2. The system verifies if the current affiliate account is allowed to participate in the campaign and if the campaign complies with the current website;
  3. If validation expires, the appropriate cookie will be assigned to the visitor, the lifetime value will be taken from the campaign. In case of several cookies, the originally assigned cookie will not be overridden by the following ones as along until it becomes invalid or its lifetime.


Currently, coupon-based discounts are calculated including taxes. For example, we have a Subtotal = $20 and Tax Amount = $4. The native Magento 2 rule determines the product price discount by coupon = 50%.

The Discount Amount is calculated by the following formula: (Subtotal ($20) + Tax Amount ($4)) * price discount (50%). Thus, the Discount Amount = $12.

The transaction amount is now calculated by the following formula: (Subtotal ($20) - Discount Amount (inc. Tax Amount ($12))* commission percent (50%) = $4.

  • Recommendations - displays all product recommendations per campaign;

Affiliate Program tab | Affiliate for Magento 2

  • Reports- presents the campaign performance stats separately for the coupon- and link-based promotions;

Only the transactions with Complete status are considered in Earned Commissions.

 Affiliate Program tab | Affiliate for Magento 2

  • Balance - indicates the balance info with already calculated totals to know when pending commissions become available;

Bound Customers | Affiliate for Magento 2

  • Transactions - stores the history of the 'Completed' and 'Admin Changes' transaction types;

Affiliate Program tab | Affiliate for Magento 2

  • Payouts - there, the affiliate can view their payout progress and send payout requests.

Affiliate Program tab | Affiliate for Magento 2

To explore the affiliate program registration process in more detail, view our demonstration store.


Affiliate | Affiliate for Magento 2

Product Page

Write Your Own Review

Already used our product?

We would appreciate your feedback. Please, leave a review.

Only registered users can write reviews. Please Sign in or create an account
Report incorrect information

Still Have Questions?

Our customer care team is here for you!

Contact Us