Magento 2 Affiliate Program Extension

View Demo

Run your own affiliate program in Magento 2, without paying an affiliate network a cut of every commission. Affiliates promote your store with referral links, product links, banners, widgets and coupons, and earn per sale, click, lead or banner impression.

You set the rates by program, affiliate group and first or repeat order, see how each commission was calculated, and pay affiliates through PayPal, Skrill, your own method or store credit.

  • 4 commission models: sale, click, lead, impression
  • Referral links, banners, widgets and coupons
  • Coupons credit orders without cookies
  • Automatic move to higher-commission groups
  • Commission breakdown for every order
  • Scheduled payout requests
Marketplace Approved
Hyvä
Magento Cloud
WCAG
Mage-OS
Compatible with:
Community:
2.3.* - 2.4.9
Enterprise:
2.3.* - 2.4.9
Problem

Affiliate networks and SaaS affiliate platforms charge you a fee or a cut on top of every commission you pay. Your affiliates, rates and payouts live in their system, and you run the program outside the store where your customers buy.

Solution

Mirasvit Affiliate runs the program inside Magento 2. Customers become affiliates from their account, share links, banners, widgets and coupons, and earn per sale, click, lead or impression. You pay them through PayPal, Skrill, your own method or store credit.

What you get with Magento 2 Affiliate

  • Pay per sale, click, lead or 1,000 banner impressions
  • As many programs as you need, each with its own dates, store views and customer groups
  • A different rate for a customer's first order and repeat orders
  • Affiliates move to a higher-commission group automatically as their sales grow
  • Affiliate coupons credit the order even when the shopper declined cookies
  • Commission only for the products and categories you choose
  • A breakdown of how every commission was calculated
  • Holding period and automatic deduction on refunds
  • Scheduled payout requests, paid through PayPal, Skrill, your own method or store credit
  • Hyvä and Breeze themes, REST API, 15 languages

Affiliate Programs

A program defines what an affiliate earns and for what. Run one program for everyone or several at once: each program has a priority, can stop the programs below it from applying to the same order, and can be limited by dates, store views (the language or regional versions of your store), customer groups and the affiliate's own results.

Pay per Sale

An affiliate earns a commission on each referred order: a percentage of the order total (shipping included, tax optional), a percentage of the subtotal or a fixed amount. Set one rate for the customer's first order and another for repeat orders.

You can pay commission only for selected products or categories, for example only for high-margin products.

Pay per Click

An affiliate earns a commission for each unique visitor who clicks their link, banner or widget. Repeat clicks from the same visitor are not paid, so clicking your own link does not add up.

Pay per Lead

An affiliate earns a commission when a referred visitor creates an account or subscribes to your newsletter.

Pay per Impression

An affiliate earns a commission per 1,000 unique views of your image banners on their site.

Hidden Programs

Create hidden programs and assign them to particular affiliates, such as a special rate for a partner blog. Affiliates without assigned programs join all visible programs automatically.

Affiliate Groups

Put affiliates into groups and give each group its own rates in a program. A group can update itself: affiliates move into it once their referred customers reach the number of orders, sales amount or items you set for the current week, month, quarter or year. The groups are recalculated every night.

Promotional Materials

Referral Link

Each affiliate gets a link to your store with a unique code. Affiliates see what they have earned through it in every program they take part in. You can rename the link parameter.

Product Links and Sharing Buttons

Affiliates can share a referral link to any product. Turn on the AddToAny social sharing buttons, and affiliates see them on product pages with the hint "Promote this product with your affiliate link" and in their profile.

Referral Banner

Create image or text banners in the admin, each pointing to its own landing page. Affiliates place them on their sites, and you see the clicks and impressions of every banner.

Referral Widget

Unlike banners, widgets are set up by affiliates themselves: they choose the size, title and number of products, and show your bestsellers, new arrivals or products that match a search term.

Referral Coupon

Each affiliate can get a unique coupon. Coupons are built on Magento cart price rules, so each program can give its own discount. Codes follow a pattern you set, and you can change any affiliate's code in the admin, for example to a branded one. See how to customize coupon codes.

Sign-up Button and Program List

Add the affiliate sign-up button and the list of your programs to any CMS or category page with widgets. Program descriptions support rich text.

How Referrals Are Tracked

When a visitor comes through an affiliate's link, the extension stores the affiliate in a cookie and links the customer to that affiliate for the commission lifetime, 365 days by default. Guest orders from the same browser are credited while the cookie lasts. Once the customer registers, the link no longer depends on the device, and their earlier guest orders are attached to the new account.

Coupons Work Without Cookies

If the shopper declined cookies or never clicked a link, an order placed with the affiliate's coupon is still credited to that affiliate.

Two Affiliates, One Customer

Choose who gets the commission when a customer is referred by more than one affiliate: the first or the last one.

Commission Limit per Customer

Limit how many commissions an affiliate can earn from one referred customer, for example only the first order.

No Self-referrals

Affiliates do not earn commission on their own orders, even with their own link or coupon.

How Commissions Are Calculated

Earned on the Order Status You Choose

A commission is added when the order reaches the status you choose, Complete by default. It is deducted when the order reaches the cancelling status you set or when you create a credit memo (refund).

Holding Period

Set a holding period to check a commission before it reaches the affiliate's balance, for example until the return window is over.

Commission Breakdown

Open any transaction in the admin to see how the commission was calculated: which program applied, the items, discounts and tax it was based on. If a referred order earned nothing, the latest activity on the dashboard shows why, such as a reached commission limit.

Tax in the Commission Base

Decide whether the commission is calculated with or without tax.

Affiliate Payouts

Affiliates request a payout from their account once their balance reaches your minimum, and you approve it. A request can never exceed the available balance.

Payout Methods

Affiliates choose a method and enter their payment details. PayPal, Skrill and Other are available by default, and you can add your own methods. You send the money and mark the payout as completed.

With the Store Credit & Refund extension, you can pay a payout to the affiliate's store credit balance in one click.

Scheduled Payout Requests

Turn on automatic requests, and on the first day of each week or month the extension creates and approves a payout request for every affiliate above the minimum. The amount can be rounded down to tens or hundreds.

Clear Workflow

Each payout moves through these statuses:

  • Pending
  • Accepted or Denied
  • Completed

Payout History

See every payout in the admin and add one manually, for example for a bonus paid outside the program.

Transactions and Reports

For Affiliates

The affiliate account shows the balance, every transaction and a statistics page with a chart for the period the affiliate selects.

Transactions and Referred Customers

In the admin, see every transaction and every referred customer, and export both to CSV or Excel XML. You can link customers to an affiliate manually or unlink them.

Dashboard

The admin dashboard shows:

  • Active affiliates, visits, revenue and commissions in the past seven days
  • Total affiliates and total payouts
  • Top 10 affiliates by commission earned
  • Latest activity

Affiliate results can be exported to CSV from the dashboard.

Banner Reports

Next to each banner, see how many clicks and impressions it brought, so you know which creatives to keep.

Detailed Feature List

General Settings

  • Automatic affiliate sign-up for new customers
  • Optional admin approval of new affiliates
  • Custom referral link parameter
  • Discounts and commissions through cart price rule coupons
  • Custom coupon code patterns
  • Custom fields in the affiliate sign-up form: text, text area, dropdown, multiselect, file and image

Email Notifications

  • New account
  • Account approved
  • New transaction
  • Balance update
  • New account and new payout request for admins, with CC

Compatibility

  • Hyvä and Breeze themes
  • REST API for accounts, programs, groups, coupons, banners, transactions and payouts
  • Multi-store: notifications in the language of the store view
  • Translations into 15 languages

See the user guide for every setting.

Run your affiliate program in your own store, without network fees
No hidden fees
Our developers install the extension on your store and configure it for your setup, free of charge.
Lifetime access to source code
Access to free support and updates for 1 year
Updates and support prolongation - $90

Pay today $149 for the first year.

Then $90 for updates and support services per year.

Cancel anytime.

30 days money back guarantee
See it in action!
Pick a quick tutorial to learn about various aspects of this extension
Customer Reviews 35
Earn points for your review about this extension modules. $1 = 10 points
Write Your Own Review

check-circle You submitted your review for moderation.

Alex Verified Buyer
From Bowie, United States
Using the module for over 1 month
Working perfect
This module is working perfect on our store.
Also installed:
Full Page Cache Warmer,  Google Tag Manager,  Google PageSpeed Optimizer,  Improved Sorting
Marcel Verified Buyer
From Bucharest, Romania
Using the module for 2 months
Most complete extension for affiliate
Easy to install and configure. It offers everything you need without requiring an active product or support subscription—unlike many other extensions.
Also installed:
Reward Points,  Follow Up Email,  Customer Segmentation Suite
Josh Verified Buyer
From Durban, South Africa
Using the module for over 2 years
Best Extension
This module works as expected
Also installed:
Advanced Reports,  Advanced Product Feeds,  Full Page Cache Warmer,  Layered Navigation,  Promo Banners,  Knowledge Base,  Customer Segmentation Suite and 10 more
Victor Verified Buyer
From Shenyang, China
Using the module for over 2 years
Useful extension
Easy to install and see the results quickly!
Also installed:
Advanced Reports,  Reward Points
peter Verified Buyer
From Mississauga, Canada
Using the module for over 3 years
Affiliate for Magento 2
Extension fulfills all requirements. Great analytics and updates for our affiliates. Would suggest Mirasvit extensions.
Also installed:
Google Tag Manager,  Improved Sorting,  Advanced Reports,  Elastic Search Ultimate
Manual & Support
Need more help?

Save time by starting your support request online and we'll connect you to an expert.

Frequently asked questions
chevron-down chevron-right

Does a referred purchase count if the customer checks out as a guest?

Yes. When a visitor comes through an affiliate's link, the extension stores the affiliate in a cookie, and guest orders from the same browser are credited to that affiliate for the commission lifetime, 365 days by default. You can change it with the Commission lifetime (days) setting.

A guest who orders from another device or browser is not recognized, unless they use the affiliate's coupon. Once the customer registers, they stay linked to the affiliate on any device, and their earlier guest orders are attached to the new account.

chevron-down chevron-right

Does a coupon order count if the shopper declined cookies?

Yes. If the customer is not linked to an affiliate yet, an order placed with an affiliate's coupon is credited to that affiliate, even without a cookie or a click on the referral link. The customer is then linked to the affiliate for future orders.

chevron-down chevron-right

Can I remove a customer from an affiliate?

Yes. In the Referred Customers grid you can unlink a customer from their affiliate, and after that no other affiliate can claim them. You can also link customers to an affiliate manually from the affiliate account.

The link lasts for the commission lifetime, 365 days by default, and you can limit how many commissions an affiliate earns from one referred customer.

chevron-down chevron-right

Can affiliates earn a commission on their own purchases?

No. Affiliates do not earn commission on their own orders, even with their own link or coupon, so the program pays only for customers they actually bring.

chevron-down chevron-right

Where do customers sign up as affiliates?

In their customer account: the affiliate link is in the account menu. You can also add a sign-up button to any CMS or category page with a widget. Sign-up can be automatic for every new customer or require your approval.

Each affiliate gets a unique referral link and, if coupons are enabled, a unique coupon code. When a visitor uses either, the extension links them to that affiliate.

chevron-down chevron-right

Can affiliates share links to specific products?

Yes. Affiliates can share a referral link to any product page. With the AddToAny social sharing buttons turned on, they see sharing buttons on product pages with the hint "Promote this product with your affiliate link". The extension does not add external products from other sites to your catalog.

chevron-down chevron-right

Is the commission deducted if an order is refunded or canceled?

Yes. The commission is deducted when you create a credit memo (refund) for the order or when the order reaches the cancelling status you set, Closed by default. A holding period gives you time to catch returns before the commission reaches the affiliate's balance.

chevron-down chevron-right

When does a commission reach the affiliate's balance?

When the order reaches the status you choose (Complete by default) and the holding period, if you set one, is over.

chevron-down chevron-right

Is the commission calculated on shipping and tax?

It depends on the program. A percentage of the order total includes shipping, and you decide whether tax is included. A percentage of the subtotal covers the products only. You can also pay a fixed amount per order.

chevron-down chevron-right

Can I run several affiliate programs at once?

Yes, as many as you need. Each program has a priority, active dates, store views and customer groups, and can stop lower programs from applying to the same order. Hidden programs are assigned to particular affiliates only.

chevron-down chevron-right

Does it support multi-level commissions?

No. The commission goes to the affiliate who referred the customer. To reward your best affiliates, give their group a higher rate and let affiliates move into it automatically as their sales grow, or set a different rate for a customer's first order and repeat orders.

chevron-down chevron-right

How are affiliates paid?

Affiliates request a payout from their account once their balance reaches your minimum (50 by default). They choose PayPal, Skrill or another method you add and enter their payment details. You approve the request, send the money and mark the payout as completed.

Requests can also be created and approved automatically every week or month. With Store Credit & Refund, you can pay to the affiliate's store credit balance in one click.

chevron-down chevron-right

Does it have an API? Does it support GraphQL?

The extension has a REST API for affiliate accounts, programs, groups, coupons, banners, transactions, payouts and referred customers. There is no GraphQL support.

chevron-down chevron-right

Does it work with Hyvä?

Yes. The Hyvä package is included and covers the affiliate account pages and the product widget. The extension also supports the Breeze theme.

chevron-down chevron-right

Is there a free version?

No, but you can try the frontend, backend and Hyvä demos before you buy, and the purchase is covered by a money-back guarantee.

Changelog
Version 1.8.24Oct 14, 2026
⚠️ The affiliate event processing job (affiliate_handle_events), which turns sales, clicks and leads into commissions every minute, now runs in its own cron group mst_affiliate as a separate process. On stores with many old unfinished sales a single run can take minutes, and in the "default" group it used to hold up the other default cron jobs until they were missed. If your server starts cron per group (bin/magento cron:run --group=...), add the mst_affiliate group, otherwise commissions will stop being calculated
Affiliate banner images are now stored and read through Magento's standard media storage, so image banners also work when the store keeps its media on remote storage (such as Amazon S3)
Fixed the affiliate account edit page in the admin failing with a fatal error on Adobe Commerce (the Commerce price permissions module crashed on the unnamed coupon hint block of the form)
Fixed the affiliate share button not appearing on the product page on Magento 2.3.x — its template failed to render there
Fixed opening an image banner for editing in the admin failing with a "Cannot gather stats!" error, and the banner image link that affiliates place on their websites failing to deliver the image when the media path could not be resolved
Version 1.8.23Sep 29, 2026
Fixed the customer grid in the "Add customers" popup on the admin affiliate account form forgetting its settings. Column visibility and other grid changes you made there were lost every time the popup was reopened or the page reloaded; they are now remembered for your admin user, like in other admin grids
Version 1.8.22Sep 25, 2026
Paying out a withdrawal to Store Credit now stops with the clear "Store Credit extension not found" message whenever the Store Credit balance cannot be loaded, instead of failing with a generic error — the payment is not completed and the affiliate's withdrawal stays open, so it can be retried once Store Credit is available
Version 1.8.21Sep 23, 2026
Fixed the affiliate Programs widget on full-page-cached pages (CMS, category and other pages where you place it). The page cache shares one copy of a page between all visitors of the same store, customer group and currency — not per affiliate — so the widget there always showed only the public program list and never the programs assigned to the logged-in affiliate; rendering the affiliate's own list into that shared copy would have exposed one affiliate's hidden programs to others. The widget now puts the public program list into the cached page (so it still works without JavaScript and is visible to search engines) and then loads the current affiliate's own programs separately for each visitor, never cached. On pages that are not cached anyway, such as the affiliate's account welcome page, the list is still rendered directly as before. If the theme cannot find the widget template, the widget now shows an empty block instead of breaking the page
Fixed inline editing in the admin affiliate accounts grid (which changes affiliate coupon codes) being available to any admin user regardless of their role. It now requires the same "Accounts" permission (under Affiliate in the admin role resources) as the rest of the account pages, so admin roles without it can no longer change coupon codes from the grid
Version 1.8.20Sep 21, 2026
Fixed the affiliate account page offering a "Payment method" list with nothing in it when every withdrawal payment method is disabled in the extension settings. The field was marked as required but let the form be saved anyway, which stored an empty payment method and only came to light later, when the affiliate's withdrawal failed. The field is now hidden while no method is available, and an affiliate who already has one saved keeps it — the list still includes their own method, so nothing is wiped
Fixed the commission breakdown of a transaction whose stored calculation data is damaged. Opening it used to fail with a generic admin error, or — when the damaged value happened to be readable as a single number — show a made-up commission line that nobody calculated. You now get a clear message naming the transaction, so the affected record can be found instead of guessing which one broke the page. The transactions grid itself was never affected by such a row and lists them as before
Reasons to choose Mirasvit
Client focusing and satisfaction

These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.

Remarkable support

One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.

Risk-free Investment

30-days money back guarantee. If you are not satisfied with our extension performance for any reason, we provide a full refund.

Constant improvements and upgrades

We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.

Comprehensive Documentation

We provide an expanded user guide for every aspect of our extension, so you can find answers for all your burning questions.

Unencrypted source code of our products

You can customize extension according to your needs and requirements.

Usability and Performance

The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.

Ready for Magento Cloud

No core modifications. The extension has been tested in a Magento Cloud environment and is fully compatible with it.

Loading...