Migrating from Easy Affiliate
Concept mapping, terminology differences, and what to expect when moving from Easy Affiliate to Siren.
Last updated: April 10, 2026
Migrating from Easy Affiliate
This guide covers what to expect when moving from Easy Affiliate (formerly Affiliate Royale) to Siren. If you haven’t read the Migration Overview, start there. It explains the structural differences that apply regardless of which plugin you’re coming from.
Use Beacon for migration assistance
There’s no automated Easy Affiliate importer. Migration is a manual exercise where you describe your current setup and rebuild the equivalent structure in Siren, and the quickest way through it is with Beacon, Siren’s free AI assistant. If you’re using Easy Affiliate’s Commission Rules add-on with a rule builder full of product-specific rates or threshold bonuses, describe the rules to Beacon and ask it to translate them into a Siren recipe. A prompt like “I’ve got a 25% global rate, a rule that bumps to 30% for products in the courses category, and a sign-up bonus of $50 for new affiliates. Build me a matching Siren recipe” gets you most of the way there.
If your current setup uses Commission Levels (Easy Affiliate’s MLM tiers), tell Beacon that upfront. Siren doesn’t do MLM, and Beacon can help you think through what to reward instead: recruiter programs, content royalties, or per-contribution payouts that capture the intent without the downline structure.
Terminology mapping
The biggest source of confusion when switching is that both plugins use the word “transaction” to mean completely different things. Read the table below carefully, and pay special attention to the Transaction row.
| Easy Affiliate Term | Siren Equivalent | Notes |
|---|---|---|
| Affiliate | Collaborator | Same concept, broader label. Every collaborator is a WordPress user. |
| Transaction | Conversion + Obligation | See the warning below. Easy Affiliate’s “transaction” is the commission record. Siren’s “transaction” is the purchase record. These are not the same thing. |
| Click | Opportunity | A tracked visit from a referral link. |
| (no equivalent) | Engagement | A credit claim against a specific program. New concept in Siren with no Easy Affiliate counterpart. |
| Commission (the money earned) | Obligation | The record of what you owe a collaborator. |
| Commission Level | Not used | Siren does not support MLM tiers. See the section on programs below. |
| Pay Affiliates | Fulfillment | The payout process that settles obligations. |
| Link | Alias (type: tracking) | Referral codes and URLs are stored as aliases. |
| Creative | Not used | Siren relies on WordPress blocks for promotional materials. |
| Global commission rate | Program | Rates live on programs, not in global settings. |
| Per-user rate override | Separate program enrollment | Instead of overriding a rate for one affiliate, you enroll them in a different program with the rate you want. |
| Commission Rules | Distributor or Program | Threshold-based bonuses map to distributors. Product-specific rates map to programs with line item filters. See add-ons and distributors below. |
| (no equivalent) | Distributor | Scheduled, aggregate reward distribution based on tracked metrics over time. Easy Affiliate has no equivalent concept. |
| (no equivalent) | Line item filters | Composable filters by category, SKU, product type, or ownership. See product-level commission control below. |
The “Transaction” confusion
This is the single most important thing to understand when migrating.
In Easy Affiliate, a “transaction” is the commission record. It tracks who earned what from which sale. When you look at the Transactions screen in Easy Affiliate, you see a list of commissions.
In Siren, a transaction is the purchase record. It contains line items, totals, and payment details. It represents what the customer bought, not what the collaborator earned.
Siren’s equivalent of Easy Affiliate’s transaction is a conversion paired with an obligation. The conversion records the attribution (this sale was credited to this collaborator through this program). The obligation records the debt (you owe this collaborator this amount). Together, they cover the same ground as a single Easy Affiliate transaction record.
When reading Siren’s documentation or looking at database tables, don’t let the shared word trip you up. Easy Affiliate transaction = Siren conversion + obligation. Siren transaction = the purchase itself.
Status mapping
Easy Affiliate transaction statuses map to Siren across two record types.
| Easy Affiliate Status | Siren Equivalent | Where it lives |
|---|---|---|
| Pending | Pending | On the conversion |
| Complete | Complete | On the obligation |
| (paid via Pay Affiliates) | Complete, within a fulfillment | The obligation is marked complete and grouped into a fulfillment record |
Easy Affiliate combines the commission status and payout status into one field on the transaction. Siren separates them. The conversion tracks whether the attribution is valid. The obligation tracks whether the money has been paid. This means you can approve a conversion (yes, this sale counts) without immediately marking it as paid.
Architectural differences
Commission Levels (MLM) vs. programs
Easy Affiliate supports multi-level commission structures. Level 1 is the direct referral commission. Level 2 goes to the affiliate who recruited the Level 1 affiliate. Level 3 goes up another tier. This is an MLM-style setup where affiliates earn from their downline’s activity.
Siren does not do MLM. There are no commission levels and no parent-child affiliate relationships.
Instead, Siren uses programs to reward different kinds of contributions. If you want to pay someone for referring affiliates, you create a recruiter program with its own rules. If you want to pay content creators a royalty, you create a royalty program. Each program defines what triggers a reward and how much it pays, independently of other programs.
This is a deliberate design choice. Rather than building a commission pyramid where people earn from recruiting other affiliates, Siren rewards people for the specific value they bring. An affiliate earns from sales they drive. A content creator earns from courses they build. A recruiter earns from partners they bring on. Each role has its own program, its own rate, and its own rules.
If you currently use multi-level commissions in Easy Affiliate, you will need to rethink the structure. The question to ask is: what is each person actually contributing? Build a program for each type of contribution rather than trying to replicate the tier hierarchy.
Commission rates live on programs, not affiliates
Easy Affiliate uses a global commission rate set in the plugin settings. When a specific affiliate needs a different rate, you override it on their profile.
Siren handles this differently. Commission rates are defined on programs. If you need different rates for different situations, you create separate programs. An affiliate who negotiated a 30% rate gets enrolled in a program that pays 30%. There is no global rate to override because every program defines its own rate explicitly.
This makes it easier to see what rate applies where. Instead of checking the global settings and then checking whether each affiliate has an override, you look at which program they are enrolled in.
Engagements are new
Easy Affiliate tracks clicks. A click records that someone arrived through an affiliate’s link. Siren tracks opportunities (similar to clicks) and engagements (new concept).
An engagement is a credit claim against a specific program. If a collaborator is enrolled in three programs, one opportunity can spawn three engagements, one per program. Program groups then determine which engagement wins when a conversion happens.
You don’t need to migrate engagement data because Easy Affiliate doesn’t have it. But understanding engagements helps you make sense of Siren’s attribution pipeline after migration.
Add-ons and distributors
Easy Affiliate’s Commission Rules add-on lets you change commission rates based on thresholds. You can set rules like “after 50 sales, increase the rate to 30%” or “for this specific product, pay 15% instead of the default.” The threshold-based rules adjust the per-transaction rate going forward.
Siren handles the threshold case through distributors. A distributor tracks performance over a period and awards a bonus when the distribution triggers. If you want to reward a collaborator for hitting 50 sales in a month, a distributor can track that metric and pay a bonus at month’s end. The product-specific rate case is handled differently: Siren programs support line item filters that control which products are eligible for commissions, so you create a program with the rate you want and filter it to the right products.
Easy Affiliate doesn’t have a dedicated performance bonus, leaderboard, or milestone reward feature at any tier. If you’ve been working around this limitation, Siren’s distributor system gives you a proper way to handle scheduled, aggregate rewards based on any combination of tracked metrics.
Transaction filtering and commission calculations
Easy Affiliate calculates commissions on the transaction subtotal after discounts, with shipping and taxes always excluded. None of these are configurable. The commission base is the post-discount, pre-tax, pre-shipping subtotal, and that’s the only option.
The Commission Rules add-on provides a rule builder for product-level control. You can match on product ID, product name, source integration, or coupon code, and set a commission rate for matching items. Rules support AND/OR logic within a single rule. However, Commission Rules cannot filter by product category, SKU, or product type. If you want a rate for all products in a category, you need to list each product ID individually. The commission model is also transaction-oriented rather than per-line-item, so multi-product orders don’t get granular per-item calculations.
Siren’s transaction filtering gives you control at both levels. For the commission base, each component (line items, discounts, fees, shipping, taxes) is an independent compiler that you enable or disable per program. Easy Affiliate hardcodes all of these. Siren lets you choose whether discounts are subtracted, whether fees count, and whether shipping or taxes are included.
For product-level control, Siren’s line item filters narrow which items are eligible using category, SKU, product type, or collaborator ownership, and filters combine with AND logic. The commission rate comes from the program, and the filters determine which items that rate applies to.
Per-product rates
Easy Affiliate’s Commission Rules add-on handles per-product rates through a rule builder. You create a rule matching a product by ID or name and set a commission rate. If you have 10 products with custom rates, you create 10 rules.
In Siren, each distinct rate becomes a program with line item filters targeting the relevant products by SKU or category. A 30% program filtered to one set of SKUs and a 15% program filtered to another set achieves the same outcome. Easy Affiliate’s rule builder can match on product ID and product name, but not on category. Siren can filter by category, which means adding a new product to a category automatically includes it without creating a new rule.
The tradeoff is that Easy Affiliate’s rules are defined in a single settings screen, while Siren’s approach requires creating separate programs. The upside is that each program’s scope is explicit and composable with other filter dimensions.
What migrates and what doesn’t
| Easy Affiliate Data | Migrates to Siren? | Details |
|---|---|---|
| Affiliates | Yes | Map to collaborators. User accounts already exist in WordPress. |
| Transactions (their term) | Yes | Map to conversions + obligations. Historical records import as completed. |
| Clicks | Yes | Map to opportunities. |
| Tracking links | Yes | Map to aliases (type: tracking). Existing referral codes are preserved so published links keep working. |
| Commission Levels | No | Restructure as separate programs. There is no automatic way to convert an MLM tier structure into Siren programs because the concepts are fundamentally different. |
| Creatives | No | Use WordPress blocks to build promotional pages. There is no built-in creative library in Siren. |
| Legacy Affiliate Royale data | Same mapping | If your site still uses the older wafp_ prefixed database tables from Affiliate Royale, the same mapping applies. The data structure is essentially the same as Easy Affiliate’s esaf_ tables. |
Database table reference
If you are writing a custom migration script or inspecting the data directly, here is how the Easy Affiliate database tables map to Siren concepts.
Easy Affiliate uses the esaf_ table prefix. Older installations that were originally Affiliate Royale may still use the wafp_ prefix. The table structures are the same either way.
| Easy Affiliate Table | Siren Equivalent | Notes |
|---|---|---|
esaf_transactions (or wafp_transactions) | Conversions + Obligations | Each Easy Affiliate transaction becomes a conversion record (the attribution) and an obligation record (the amount owed). |
esaf_clicks (or wafp_clicks) | Opportunities | Click records map directly to opportunity records. |
esaf_affiliates (or wafp_affiliates) | Collaborators + Aliases | The affiliate record becomes a collaborator. The affiliate’s referral slug becomes a tracking alias. |
There is no Siren table that maps one-to-one with Easy Affiliate’s transaction table because Siren splits the concept into two separate records. A migration script needs to create both a conversion and an obligation for each Easy Affiliate transaction.
Next steps
After reviewing this mapping, read the Migration Overview if you haven’t already. It covers the broader architectural differences, what to expect during the transition, and how Siren’s program-based approach works in practice.
The Siren concepts referenced in this guide are covered in detail in the User Guide under Core Concepts, including programs, conversions, obligations, opportunities, engagements, fulfillments, and program groups.