How to Track Sub-Affiliates and
Parent Commissions in WooCommerce
Running a multi-tier affiliate program is only half the job. The other half is knowing — at any given moment — who is in your network, what they are generating, and what every parent affiliate has earned from the activity of the people below them. This is the practical guide to managing that operational reality inside WooCommerce.
Updated 2026
WooCommerce


Building a multi-tier affiliate network is a growth strategy. Managing one is an operational discipline. The moment your affiliate program has a second level — affiliates who were recruited by other affiliates — you have new questions that a flat affiliate program never asked: who recruited this affiliate? How much has this parent earned from their downline’s activity this month? Which sub-affiliate accounts are active, and which are sitting dormant? If a commission record is pending, is it from a direct referral or from an upline relationship?
These are not exotic questions. They are the routine operational requirements of any program with a network layer — and if your plugin cannot answer them from the admin, the work of answering them falls on you, manually, in spreadsheets. This guide is about how to avoid that: what sub-affiliate and parent commission tracking looks like when it is working correctly, what data you should expect to see and where, and how Affiliate Engine – Ultimate WooCommerce Referral & Affiliate Marketing Plugin handles this inside WordPress.
Start with the terminology, because the words matter for understanding what the data means.
Sub-affiliates, parent affiliates, and sponsor chains: what the terms mean in practice
A sub-affiliate is any affiliate who was recruited into the program by another affiliate. The recruiting affiliate is their parent or sponsor. This relationship is established once — at the time the sub-affiliate registers — and is permanent. It determines which affiliates receive upline commissions every time the sub-affiliate generates a sale.
The chain of parents above a sub-affiliate is their upline. In a three-level program: the sub-affiliate makes a sale; their direct parent (Level 1 sponsor) earns a commission; that parent’s parent (Level 2 sponsor) earns a smaller commission; and that affiliate’s parent (Level 3 sponsor) earns a smaller commission still. Each of these is a separate commission record in the system — all derived from the same original order, all linked to the same base referral.
From the admin side: who is in the network, who recruited them, and how much has each level earned? From the affiliate side: who have I recruited, what are they generating, and how much am I earning from their activity? A well-implemented WooCommerce sub-affiliate tracking system answers both sets of questions from within WordPress — no external dashboard, no manual reconciliation.
- See every affiliate’s sponsor assignment
- Filter referrals by source: direct vs MLM
- View all pending parent commissions
- Identify dormant sub-affiliate accounts
- Manually assign or update sponsor relationships
- Track payout history per affiliate level
- See their own recruitment (downline) list
- Track earnings from direct referrals separately
- Track earnings from sub-affiliate activity
- View their position in the sponsor chain
- Request payouts for total accumulated balance
How sub-affiliate tracking works in Affiliate Engine
In Affiliate Engine, sub-affiliate relationships are stored persistently in the database — in user meta for quick access and in the dedicated naff_mlm_sponsors table for structural consistency. When a new user registers after arriving through an affiliate’s tracking link or coupon, the system records that affiliate as the new user’s permanent sponsor. This happens automatically — no manual action from the admin is required for affiliates who join via tracked links.
The sponsor relationship is not session-dependent. It does not expire when the tracking cookie expires. Once recorded at registration, it is the permanent definition of that affiliate’s position in the network. Every sale that affiliate makes for the rest of their time in the program will generate the same upline commission chain — to the same parent, grandparent, and great-grandparent affiliates — regardless of how much time has passed.

Tracking parent commissions: what the Referrals tab shows you
Every time a sub-affiliate makes a sale, the system creates multiple referral records for that order: one Base Referral for the sub-affiliate (the direct commission), and separate MLM referral records for each upline level. These MLM referral records are the parent commissions — and they live in the same Referrals tab as every other commission record, but with a source field set to mlm rather than the standard referral source.
This source field is the key to filtering and understanding the data. From the Referrals tab, you can see at a glance which commission records are direct referrals (earned by the affiliate themselves) and which are parent commissions (earned because a sub-affiliate made a sale). Each MLM record also carries a reference back to its parent Base Referral — meaning you can trace any upline commission record directly back to the original order that generated it.

What affiliates see: the downline view inside My Account
From an affiliate’s perspective, the most important sub-affiliate tracking question is: “who have I recruited, and what are they generating?” In Affiliate Engine, affiliates answer this from their own dashboard inside the WooCommerce My Account area — no login to a separate system, no external affiliate portal.
The affiliate dashboard shows the network view: their downline list, the sponsor chain above them, and their accumulated earnings broken down by source. An affiliate can see their direct referral commissions separately from their MLM parent commissions — understanding not just their total balance, but where each part of it came from. This transparency is important for the behavioural motivation the multi-tier structure is designed to create: an affiliate who can see exactly how much their downline is generating for them is an affiliate with a concrete financial reason to recruit more actively.
Managing sponsor assignments: automatic and manual
In a healthy running program, sponsor assignments happen automatically: every affiliate who registers via a tracked link is assigned the appropriate sponsor without any admin intervention. But programs are never perfectly clean. You will encounter situations where sponsor assignments need to be managed manually — and understanding when and how to do this is part of the operational discipline of running a multi-tier program.
A prospective affiliate clicks on an existing affiliate’s tracking link, arrives at your site, and registers as a new affiliate. The tracking cookie is present at the time of registration. Affiliate Engine records the recruiting affiliate as the new affiliate’s permanent sponsor. No admin action needed. This covers the majority of cases in a well-structured program.
An affiliate joined before the MLM add-on was activated and has no sponsor recorded. Or someone registered directly without a tracking link but you know which affiliate recruited them. Or you are migrating existing affiliates from another program. In these cases, sponsor assignments can be made manually from the Affiliates tab in the Affiliate Engine admin — select the affiliate, assign their sponsor, save. The relationship takes effect immediately for all future sales.
If the self-referral rule is enabled, an affiliate cannot earn a commission from their own purchases. This applies to the Base Referral. The MLM upline records follow the Base Referral — so if the Base Referral is blocked by the self-referral rule, no upline commissions are created for that transaction either. Enabling the self-referral block protects not just direct commissions, but the entire upline chain from a single manipulated purchase.
Before activating the MLM Matrix add-on on a program with existing affiliates, it is worth auditing which affiliates have no sponsor recorded. Any existing affiliate without a sponsor will generate only a Base Referral when they make a sale — no upline commissions will be created. If those affiliates were verbally recruited by other affiliates in your network, assigning the correct sponsors before go-live ensures the commission chain reflects your actual network structure from day one.
Payout management for parent commissions: what the Payouts tab handles
Parent commissions accumulate in each affiliate’s balance exactly like direct referral commissions — there is no separate payout pool or special handling required. When a parent affiliate’s approved balance reaches the minimum payout threshold, they request a payout from their My Account dashboard. The admin sees this request in the Payouts tab alongside all other payout requests and processes it in the same workflow.
What this means operationally: a Level 2 sponsor who accumulates £8 in parent commissions from ten small sales across their downline has that £8 sitting in their balance, pending alongside any direct referral commissions they have also earned. When they hit the minimum payout threshold (whatever you have configured), they submit a single payout request that covers everything — direct and parent commissions combined. The admin does not need to process separate payouts for different commission types.

What happens when a sub-affiliate’s sale is refunded
This is the operationally critical question that separates a well-built multi-tier system from a leaky one. When a sub-affiliate’s order is refunded, the following sequence occurs automatically in Affiliate Engine:
The refund cascade only protects parent commissions that have not yet been paid. Once a commission is marked paid, it is not reversed. This is why the hold period configuration is essential: set it to extend past your refund window. If your store offers 30-day refunds, configure the hold period to 35 days minimum. This ensures that no parent commission — at any level in the chain — can be paid out before the refund window closes on the original order.
A practical checklist for sub-affiliate tracking setup
Before going live with a multi-tier program, work through this list to confirm that your sub-affiliate tracking will be complete and accurate from day one.
Frequently asked questions
How do I know which referral records in the Referrals tab are parent commissions vs direct commissions?
mlm are parent commissions generated by a sub-affiliate’s sale. Records with source mlm_leader are Leader Bonus milestone rewards. All other records are direct commissions from that affiliate’s own referrals. You can filter the Referrals tab by affiliate to see all commission types for a specific account.Can I see a list of which affiliates each parent has recruited?
If I change a sponsor assignment, does it affect historical commissions already paid?
Can a sub-affiliate see how much their parent is earning from their activity?
What happens to parent commissions if a sub-affiliate’s account is deactivated?
Tracking sub-affiliates and parent commissions is not a technical luxury — it is the operational foundation that makes a multi-tier affiliate program trustworthy to the affiliates running it. An affiliate who cannot verify what their downline is generating and what they have earned from it will not stay motivated to recruit. An admin who cannot see which accounts have sponsors, filter commission records by source, or confirm that refunded orders cancelled the full upline chain is running a program that will develop errors at scale.
Affiliate Engine covers both sides of this equation inside WordPress — without an external platform, without separate admin panels for MLM vs standard affiliate management, and without per-seat pricing as your network grows.
Affiliate Engine — Complete Sub-Affiliate & Parent Commission Tracking for WooCommerce
Persistent sponsor relationships. Automatic upline commission creation. Source-filtered referral records. Status synchronisation on refunds. Affiliate-facing downline view inside My Account. Free MLM Matrix add-on. Flat one-time site licence.

Ugh, this is such a pain to track. I followed the setup guide to the letter, but sub
Finally a plugin that doesn't lose referrals when cookies do. Saves me so much manual work!
Honestly didn't think this would work as well as it did. My upline was a total mess before, but now I can actually see who recruited who and how everything flows up. Saved me hours of spreadsheet heck.