Migrating from Solid Affiliate
Concept mapping, terminology differences, and what to expect when moving from Solid Affiliate to Siren.
Last updated: April 10, 2026
Migrating from Solid Affiliate
This guide covers the terminology differences, status mappings, and architectural gaps between Solid Affiliate and Siren. If you haven’t already, read the migration overview for the broader context on how Siren’s architecture differs from traditional affiliate plugins.
Solid Affiliate and Siren share a lot of the same goals, but they organize things differently. The biggest adjustment is that Siren moves commission rules from affiliates to programs, and splits the referral record into separate conversion and obligation records. Most of the other differences follow from that.
Use Beacon for migration assistance
Siren doesn’t include an automated Solid Affiliate importer. Migration is a manual concept-mapping process, and the fastest way to get through it is with Beacon, Siren’s free AI assistant. Solid Affiliate’s rate hierarchy (affiliate group, per-product, per-category, affiliate-product pairings) flattens into Siren programs with line item filters, but the translation isn’t always obvious. Describe your current setup to Beacon and ask it to build you a recipe.
A prompt like “I’m migrating from Solid Affiliate. I have a Standard group at 20%, a Premium group at 30%, per-product rates on three specific SKUs, and I pay everything out through Bulk Payouts monthly. Build me a matching Siren recipe” is usually enough for Beacon to sketch out the right programs, group rules, and fulfillment schedule. If you’re using landing pages or store credit payouts, mention those so Beacon can flag them as features that don’t have a direct Siren equivalent.
Terminology mapping
| Solid Affiliate | Siren | Notes |
|---|---|---|
| Affiliate | Collaborator | Both are WordPress user accounts. Siren uses “collaborator” because the system handles more than affiliate marketing. |
| Referral | Conversion + Obligation | A Solid Affiliate referral combines “this sale was attributed” with “this amount is owed.” Siren separates these into two records. The conversion tracks attribution. The obligation tracks the debt. |
| Visit | Opportunity | Both record a click on a referral link. In Siren, an opportunity can spawn multiple engagements across programs. |
| (no equivalent) | Engagement | A credit claim against a specific program. Solid Affiliate doesn’t have this concept because it doesn’t have multi-program attribution. |
| Payout | Payout | A payment to an individual collaborator. Same concept. |
| Bulk Payout | Fulfillment | Solid Affiliate batches payouts into a “bulk payout.” Siren calls the batch a fulfillment, and the individual payments within it are payouts. |
| Creative | Not used | Siren doesn’t have a built-in creative library. Use WordPress pages or a custom post type if you need one. |
| Affiliate Group | Program | See the important note below. Solid Affiliate groups are rate-management shortcuts. Siren programs are the structural equivalent, not program groups. |
| Affiliate Tag | Not used | Siren doesn’t have a tagging system for collaborators. |
| Coupon | Alias (type: coupon) | In Siren, a coupon code is an alias with the type set to “coupon.” |
| Landing Page | Not used | Siren attributes through referral links and coupon codes, not per-collaborator landing pages. |
| Linked Customer | Not used | Lifetime commissions (permanently linking a customer to a collaborator) are on the roadmap but not available yet. |
| Store Credit | Not used | Siren payouts are monetary. Store credit as a payout method isn’t supported. |
| Revenue Sharing | Program | In Siren, revenue sharing is just a program with the appropriate incentive type and line item filters. It’s not a separate feature. |
| Custom Affiliate Fields | Not used | WordPress user meta is available for storing arbitrary data on collaborator accounts. |
| Sign-up Bonus | Distributor or Program | See add-ons and distributors below. |
| (no equivalent) | Distributor | Scheduled, aggregate reward distribution based on tracked metrics over time. Solid Affiliate has no equivalent concept. See add-ons and distributors below. |
| Per-product rates / Disable Referrals | Line item filters | Composable filters by category, SKU, product type, or ownership. See product-level commission control below. |
Affiliate Groups are not Program Groups
This is the single most confusing mapping between the two systems, so it’s worth calling out explicitly.
In Solid Affiliate, an affiliate group is a way to apply the same commission rate to a set of affiliates at once. You might have a “Standard” group at 20% and a “Premium” group at 30%. The group is a rate-management shortcut.
In Siren, rates live on programs. If you have three Solid Affiliate groups with different rates, the equivalent in Siren is three programs, each with its own rate, with the appropriate collaborators enrolled in each.
Siren’s program groups are a completely separate concept. A program group makes a set of programs mutually exclusive so that only one fires per conversion, using rules like “newest engagement wins” or “oldest engagement wins” to break ties. Program groups solve an attribution problem, not a rate-management problem.
When you see “Affiliate Group” in Solid Affiliate, think “Program” in Siren. Do not think “Program Group.”
Status mapping
Referral statuses
Solid Affiliate tracks referral statuses that combine attribution and payment state. Siren splits these across conversions and obligations.
| Solid Affiliate | Siren | Where it lives |
|---|---|---|
| Draft | pending | Conversion status |
| Unpaid | pending | Obligation status (conversion is approved) |
| Paid | complete | Obligation status |
| Rejected | rejected | Conversion status |
In Solid Affiliate, a referral moves from Draft to Unpaid to Paid (or Rejected). In Siren, the conversion is first approved or rejected, and then the obligation moves from pending to complete when the collaborator is paid. The two-record model gives you more visibility into where things stand, but the overall lifecycle is the same.
Affiliate statuses
| Solid Affiliate | Siren |
|---|---|
| Approved | active |
| Pending | pending |
| Rejected | rejected |
These map directly. No surprises here.
Bulk payout statuses
| Solid Affiliate | Siren |
|---|---|
| Processing | processing |
| Success | complete |
| Fail | failed |
Solid Affiliate’s bulk payout statuses map to Siren’s fulfillment statuses. The individual payouts within a fulfillment also have their own statuses.
Architectural differences
Commission rates live on programs, not affiliates
Solid Affiliate lets you set per-affiliate rates and per-group rates. The affiliate (or their group) determines what they earn. Siren inverts this. Rates are defined on programs, and collaborators earn based on which programs they’re enrolled in. If you need a collaborator to earn a different rate, you enroll them in a different program rather than overriding their personal rate.
This is the same shift that applies when migrating from any other affiliate plugin. The migration overview covers the reasoning in detail.
Landing pages
Solid Affiliate has personalized per-affiliate landing pages that track attribution without requiring referral links. When a visitor lands on an affiliate’s custom URL, the system attributes that visit to the affiliate automatically.
Siren doesn’t have this feature. Attribution happens through referral links (tracking aliases) and coupon codes. If you rely on personalized landing pages for specific affiliates, you’ll need to switch those collaborators to standard referral links.
Store credit
Solid Affiliate can pay affiliates via WooCommerce store credit. This is useful when affiliates are also customers who spend money on your site. Siren’s fulfillment system handles monetary payouts only. If you’re currently paying affiliates in store credit, you’ll need to switch to a monetary payout method or handle store credit outside of Siren.
Revenue sharing
Solid Affiliate has a dedicated “Revenue Sharing” feature for setting up product-level partnerships where different parties earn from different products. In Siren, this is just a program. Create a program with the right incentive type and line item filters, and you have revenue sharing. It’s not a separate feature because Siren’s program system already handles it natively.
This is actually simpler in Siren. Instead of learning a separate revenue sharing configuration, you use the same program setup you already know.
Add-ons and distributors
Solid Affiliate bundles everything into one plugin. There are a few use cases it doesn’t cover that Siren handles through distributors.
Solid Affiliate has no performance bonus system. There is no way to award a collaborator extra for hitting a sales target, generating the most revenue in a month, or outperforming other collaborators. Siren’s distributors handle all of these cases. You configure which metrics to track, set a schedule (weekly, monthly, yearly), and choose how to distribute the reward: to the top performer, proportionally by score, or evenly among everyone who participated.
Solid Affiliate also has no tiered rate system. Affiliate Groups let you set different static rates for different groups of affiliates, but there is no way to automatically increase a rate when a collaborator hits a threshold. In Siren, you can use a distributor to track cumulative performance and pay bonuses when collaborators reach milestones.
Solid Affiliate’s Sign-up Bonus awards a fixed amount when a new affiliate registers. Siren can handle this through a distributor, though depending on the setup a program may be more straightforward.
If you’re using Solid Affiliate’s Subscription Renewal Referrals, Siren supports per-renewal commissions through the renewal conversion type in programs. For bonusing based on aggregate renewal counts over a period, a distributor handles that.
Transaction filtering and commission calculations
Solid Affiliate calculates commissions per line item by default, using the post-discount amount. There is no option to calculate on the pre-discount price. Shipping and tax each have toggles to include or exclude them. Fees are not addressed in the documentation.
For product-level control, Solid Affiliate offers per-product rates, per-category rates, per-affiliate-per-product rates, and a “Disable Referrals” checkbox to exclude individual products. These work through a priority hierarchy where the most specific rate wins.
Siren’s transaction filtering gives you more 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. Solid Affiliate hardcodes discounts as always subtracted and doesn’t address fees. Siren lets you choose whether discounts factor in and includes a fees compiler for signup or subscription fees.
For product-level control, Siren’s line item filters take a composable approach instead of a rate hierarchy. You can filter by category, SKU, product type (products vs. subscriptions), or collaborator ownership, and filters combine with AND logic. This lets you express “only subscription products in these categories owned by the collaborator” as a single filter configuration. Solid Affiliate would require setting up per-affiliate-per-product rates on each qualifying product individually. Siren also supports SKU and product type filtering, which Solid Affiliate does not offer.
Per-product, per-category, and per-affiliate-per-product rates
Solid Affiliate lets you set commission rates on individual products, on product categories, and on specific affiliate-product pairings. If Product A should pay 30% for everyone except Affiliate X who gets 40%, you set both a product rate and an affiliate-product rate.
In Siren, each distinct rate becomes its own program with line item filters targeting the relevant products or categories. A program paying 30% filtered to Product A’s SKU covers the general case. A second program paying 40% filtered to the same SKU, with only Affiliate X enrolled, covers the override. Program groups can ensure only one fires per conversion if needed.
The migration path is to audit your rate hierarchy and group by distinct rate. Solid Affiliate’s 8-tier priority system (recurring rate, affiliate+product, affiliate, group, lifetime, product variation, product, category, default) flattens into a set of named programs in Siren. Each program’s rate and filters are visible in one place, rather than requiring you to check multiple levels of overrides to understand what a given sale will pay.
What migrates
These Solid Affiliate records have direct equivalents in Siren and can be migrated.
- Affiliates become collaborators
- Referrals become conversions with corresponding obligations
- Visits become opportunities
- Payouts become payouts (within fulfillments)
- Tracking codes become aliases (type: tracking)
- Coupon links become aliases (type: coupon)
- Affiliate groups inform which programs to create and which collaborators to enroll in each
What doesn’t migrate
These Solid Affiliate features don’t have equivalents in Siren.
- Affiliate tags (no tagging system)
- Landing page configurations (attribution works differently)
- Store credit balances (payouts are monetary)
- Linked customer relationships (lifetime commissions are roadmapped)
- Custom affiliate fields (data can be stored as WordPress user meta, but there’s no automatic migration path)
Database table reference
Solid Affiliate stores its data in custom database tables. Here’s how they map to Siren’s tables.
| Solid Affiliate table | Siren equivalent |
|---|---|
wp_solid_affiliate_affiliates | wp_siren_collaborators |
wp_solid_affiliate_referrals | wp_siren_conversions and wp_siren_obligations |
wp_solid_affiliate_visits | wp_siren_opportunities |
wp_solid_affiliate_payouts | wp_siren_payouts |
wp_solid_affiliate_bulk_payouts | wp_siren_fulfillments |
wp_solid_affiliate_creatives | No equivalent |
wp_solid_affiliate_affiliate_groups | No direct table equivalent (programs serve this role, stored in wp_siren_programs) |
wp_solid_affiliate_coupons | wp_siren_collaborator_aliases (type: coupon) |
wp_solid_affiliate_affiliate_customers | No equivalent (lifetime commissions roadmapped) |
Table names assume the default wp_ prefix. Your site may use a different prefix.
Next steps
Once you’ve reviewed the mappings above, the actual migration process involves creating programs that match your current affiliate group structure, importing collaborator records, and bringing over historical conversion and obligation data. The migration overview covers the general process and what to expect during the transition.