Siren

Release 3.6.256

Renewal commissions for LifterLMS and North Commerce, the Siren Cloud Connector, credentials for headless events, and fixes across payouts, programs and distributors.

Last updated: October 18, 2026

Siren 3.6.256 pays subscription renewals to the collaborators who earned the original sale, and adds renewal commissions for LifterLMS recurring access plans and North Commerce subscriptions. It adds the Siren Cloud Connector, a separate plugin that moves a store to Siren Cloud. Headless sites on Siren Pro send events with credentials. Fixed-payout amounts typed in the program editor are saved correctly, and payouts, distributors and the REST API get a long list of fixes.

The paid editions received 3.6.256 on October 18, 2026, and WordPress.org on October 19. There is no 3.6.0, because 3.6.256 is the first 3.6 build. For Siren Lite users on WordPress.org, this is the first update since 3.4.2, so it also carries the 3.5 fixes listed under coming from 3.4.2.

Before You Update

Back up your database before you update, because this update changes several of Siren’s tables. Then read each item below that matches your site and follow its steps. The first step of each item says whether it comes before or after the update.

Headless sites on Siren Pro

Browser visits go to /track/visit, and every other event needs credentials. A headless site’s browser sends referral visits to POST /wp-json/siren/v1/track/visit, which takes no credentials. It takes the same body and gives the same response as /event/site-visited, and it always records an anonymous visit, so it drops any userId. Every /event/{slug} request, site-visited included, needs an administrator’s or Siren Platform Manager’s credentials, normally a WordPress application password sent from your server over HTTP Basic auth. Siren answers an anonymous /event/site-visited with 401.

  1. Before you update, search your frontend code for calls to /wp-json/siren/v1/event/.
  2. Point the browser’s visit call at /track/visit. A visit that names a signed-in user goes from your server to /event/site-visited with credentials.
  3. Send sales, refunds and every other event from your server with an application password. Keep the password on the server.
  4. If your frontend ships before the plugin update, let it fall back to /event/site-visited once when /track/visit answers 404. Drop the fallback once every backend runs 3.6.256.
  5. After you update, check your WordPress host’s request logs for 401 and 403 answers from /event/ routes. A 401 is a call with no credentials or a wrong application password. A 403 is a call from a user who isn’t an administrator or Siren Platform Manager.

See record a referred visit, headless attribution and the events reference.

Programs that pay a fixed amount

The program editor saves a fixed amount as you type it, so typing 10 pays 10.00. Siren doesn’t change amounts saved before this update. An amount typed in the program editor on an earlier version is stored 100 times too small, and any cents in it were dropped. An amount a recipe set is correct.

  1. After you update, open Siren > Programs and open each program that pays Fixed Per Transaction, Fixed Per Product or Fixed Per Lead.
  2. Look at the payout amount. A wrong amount shows 100 times too small, such as 0.10 where you meant 10.00.
  3. Type the full amount, cents included, and save.
  4. For a Fixed Per Lead program (Essentials and up), look under “Credit Conversions For”. If Leads isn’t checked, the program pays nothing on leads. Check Leads and save. See form submitted.

Programs with an engagement expiry

Siren ends an engagement once it outlives the Engagement Expiration set on its program. Earlier versions didn’t apply an expiry set in the program editor or by a recipe, so collaborators kept earning on older referrals. After the update, when a customer converts, each of their engagements with no activity for longer than the program’s expiry ends and earns nothing. An ended engagement stays ended, even if you remove the expiry later.

  1. Before you update, open Siren > Programs and open each program.
  2. Look at “Engagement Expiration (Days)”. A number there is the program’s expiry.
  3. If collaborators should keep earning on referrals older than that, enter 0 and save. That removes the expiry.
  4. If the expiry is what you want, leave it, and expect collaborators to stop earning on referrals older than it.

See cookie duration and attribution windows and what is an engagement.

Tracking codes

A tracking code belongs to one collaborator. A collaborator keeps every code they have held, so links they shared keep working after their code changes. Siren refuses to save a code that another collaborator holds or has ever held. The update finds codes that two or more collaborators already share and leaves them as they are.

  1. After you update, click Siren in the WordPress sidebar, select the Logs tab and search for “is held by collaborators”. The update writes one warning for each shared code, such as The tracking code "summer" is held by collaborators 12, 7. No warning means no shared codes.
  2. Go to Siren > Collaborators and search for the shared code. The search finds every collaborator who holds it. Open each one and find the number under ID on their page. Visits through a shared code credit the first collaborator the warning lists.
  3. Open each other collaborator listed, enter a new “Referral Code” and save. Ask them to share links with the new code. Their old links keep crediting the first collaborator.
  4. To give a departed collaborator’s code to someone new, choose a different code. Siren refuses one that anyone has held.

See managing collaborators.

Programs pay only the conversion types they select

A program pays only the conversion types checked under “Credit Conversions For”. A program with only Sales checked pays nothing on renewals.

  1. Before you update, on Essentials and up, open Siren > Programs and open each program that should pay on renewals. Check Renewals and save. Earlier versions pay renewals whether or not it’s checked, so this changes nothing until the update runs.
  2. On any edition, confirm each program has the conversion types you want it to pay, and save.

See subscription programs.

REST API limits and validation

List, bulk and export requests have size limits, and the API checks each field.

  • A list returns at most 200 records per page. A larger number is lowered to 200 without an error, and the response’s perPage shows the size used. A number of 0 or less gets a 400.
  • A bulk action accepts at most 500 ids. It skips ids that don’t exist and reports how many records it acted on in affected.
  • A payout export accepts at most 10,000 payouts per request. The fulfillment screen sends a longer selection in parts and still gives you one file.
  • The API checks the type, length and range of each field and that each record a request names exists. A request that fails gets a 400 response naming the field.
  1. Before you update, search your code for list requests that send a number above 200 or a number of 0, and change each one to a page size from 1 to 200.
  2. Page through lists with number and offset until a page comes back with fewer records than the number you sent.
  3. Split bulk actions into batches of 500 ids or fewer, and payout exports into batches of 10,000 or fewer.
  4. Log every 400 with the field it names, and fix the request it points to.

See pagination, filtering and field selection and the REST API introduction.

What the free plugin includes

The free plugin runs programs in your store’s currency. Program groups, distributors, metrics, store credit, custom currencies and automatic payouts come with Siren Essentials. The free plugin doesn’t load them or create their tables. Lite 3.4.2 and earlier ran program groups, distributors and metrics in the background with their screens hidden, so a Lite store that set one up through a recipe or the REST API sees it stop running. Siren leaves the stored records in place.

A program group lets one program pay for a sale. After the update each program in a former group pays on its own, so one sale can pay more than once.

On Lite, a program that pays in a custom currency, such as points, is turned off with a notice that names it. Only a store that ran a paid edition can have one, for example a store that moved from Essentials to the free plugin. Siren never pays its rewards in another currency.

  1. Before you update, check your database for Siren tables whose names end in program_groups or distributors. Rows in them mean your store uses that feature. The table ending in programs_program_groups lists which program ids sit in each group.
  2. For a program group, turn off the programs in it that you don’t want paying on their own, or upgrade to Essentials to keep the group.
  3. For distributors, upgrade to Essentials to keep them running.
  4. After you update, look for a notice naming a program in a custom currency. Switch that program to your store’s currency and turn it back on, or upgrade.

See what are program groups, store credit and custom currencies and upgrading to Plus and Pro.

Extensions that use Siren’s PHP classes

347 class files moved between 3.5.5 and 3.6.256. Siren’s code is split into packages. Contracts, meaning events, models, datastores, registries and interfaces, keep their names, with one exception: the credit lock is Siren\Utilities\Core\Models\Lock, with its datastore in Siren\Utilities\Core\Datastores\Lock\. Database handlers, table classes, installers, REST controllers and engine listeners moved into role folders. For example:

Siren 3.5Siren 3.6.256
Siren\Collaborators\Service\Rest\...Siren\Collaborators\Rest\Service\...
Siren\Conversions\Core\Listeners\...Siren\Conversions\Engine\Core\Listeners\...
Siren\Collaborators\Service\Datastores\...\CollaboratorsTableSiren\Collaborators\Database\Service\Datastores\...\CollaboratorsTable
Siren\Collaborators\Core\Events\GroupSorterStorageRegistryInitiatedSiren\ProgramGroups\Core\Events\GroupSorterStorageRegistryInitiated
Siren\Credits\Core\Models\CreditLockSiren\Utilities\Core\Models\Lock

The group sorter classes moved from Siren\Collaborators\ to Siren\ProgramGroups\. The store credit pieces of the WooCommerce, Easy Digital Downloads and LifterLMS integrations moved into a StoreCredit folder for each integration.

A listener keyed on a moved event never runs, and code that creates or type-hints a moved class stops with a fatal error.

  1. Before you update, search your extension for use Siren\ lines and listener keys.
  2. Update each one that names a moved class.
  3. Test the extension against 3.6.256 on a staging site before you update a live site.

See upgrading an extension from Siren 3.5 or earlier.

Siren Cloud Connector (All Editions)

The Siren Cloud Connector is a separate plugin that moves a WordPress store to Siren Cloud. Siren Affiliates finishes the work it has queued, hands the store over, and stays installed with its data until the move is done. See move a WordPress site to Siren Cloud and connect WordPress.

  • The Siren Cloud screen in Siren Affiliates explains what Siren Cloud does for your store and links to sign in or create an account. To move a store, install the Connector, which you get from “Get the connector” on Siren Cloud’s Integrations screen. On paid sites, this screen replaces the connect and migrate cards from 3.5.5.
  • Siren Affiliates deactivates itself, and says why, when you activate it on a store that runs on Siren Cloud through the Connector.
  • Siren Affiliates is smaller and loads less, because the code that runs a store on Siren Cloud ships only in the Connector.

Renewals and Subscriptions (Essentials)

A subscription renewal pays the collaborators who earned the original sale, through the programs that earned it. Later clicks and purchases don’t move it to someone else, a program group pays it through one program, and a refund or rejection of the first payment doesn’t stop it. The in-app help for conversion types and program groups, and the recurring commissions FAQ, explain who a renewal pays.

  • Programs that pay on renewals earn on each later payment of a LifterLMS recurring access plan, such as a monthly membership, and on each North Commerce subscription or payment plan renewal. Refunding one of those payments reverses only its renewal commission.
  • Programs that approve automatically approve LifterLMS recurring sales when the first payment succeeds, and each renewal when its own payment succeeds.
  • A LifterLMS sale on a plan with a trial earns on the trial price, so the first full charge after a free trial pays once, as a renewal.
  • WooCommerce Subscriptions renewal orders and Easy Digital Downloads Recurring Payments renewals count as renewals, never as new sales.
  • Fixed WooCommerce Subscriptions renewals not earning commission on stores with WooCommerce Admin turned off.

See subscription programs and what are program groups.

Payouts and Fulfillments

  • Plus and Pro: collaborators can add the PayPal email they want to be paid at from the Profile page of their portal, and admins can set it on the collaborator’s page. See how collaborators get paid automatically.
  • Essentials and up: a failed automatic payout shows why and when it failed under its Failed badge. The fulfillments list counts failed payouts, marks those fulfillments Needs attention, and can show only them. See set up automatic payouts and how to pay collaborators.
  • Plus and Pro: retrying a Stripe payout that Stripe refused sends a new request, so the retry goes through once the cause is fixed. See retry payout.
  • Essentials and up: store credit stays right when an order is cancelled, paid late, and cancelled again. See store credit and custom currencies.
  • A refund takes its reward out of a payout that hasn’t been sent. A payout that is already processing or paid stays as it is. See how refunds work.
  • A fulfillment is marked complete when all of its payouts are paid. See what is a fulfillment.

Conversions, Obligations and Programs

  • New: approve or reject a conversion from its detail page. See approve and reject conversions.
  • New: the obligations list shows the reward a pending conversion will produce, labelled Awaiting conversion approval, with a filter for it. The reward joins a fulfillment once the conversion is approved. See what are obligations.
  • Fixed amounts typed in the program editor being saved 100 times too small. See programs that pay a fixed amount above.
  • Fixed commission rates with a fraction, such as 12.5%, paying less than the full rate. See percentage of transaction.
  • Essentials and up: fixed-per-product programs pay for each unit sold. See fixed per product.
  • Transaction and order totals count each line’s quantity.
  • Essentials and up: new Fixed Per Lead programs made in the program editor credit leads. For one saved before this update, see programs that pay a fixed amount above, and form submitted.
  • A site visit counts once, however many programs the collaborator is in. See site visited.
  • Engagements end on the expiry set on their program. An engagement already past it ends when the next conversion is recorded. See programs with an engagement expiry above. Emptying the Engagement Expiration field removes the program’s expiry, the same as entering 0, and recipe exports include every program’s expiry. See cookie duration and attribution windows and what is an engagement.
  • Signing up again for a program a collaborator is already in completes the sign-up and keeps them in the program. See set up a program registration form.
  • An order that reaches Siren twice at the same moment is recorded as one transaction, with one set of conversions.
  • Cancelled and refunded transactions show their own status and can be filtered. See what are transactions.

Distributors (Essentials)

  • Distributors list their distributions and the collaborators they cover.
  • Fixed distributors not saving their split choice, which left the pool empty. The distributor editor offers metric choices when you set up rewards, and checks that a percentage is between 0 and 100 and that a schedule is made of date phrases it can read.
  • A distributor keeps one open distribution when sales and visits arrive together, and extra open distributions are merged into the oldest. A refund lowers only a distribution that is already open and stops at zero. A distribution is marked complete once each collaborator’s reward is written.
  • A distributor’s collaborator count leaves out trashed collaborators.

See what are distributors and choosing a distribution structure.

Admin Screens

  • Detail screens link the collaborator, program, conversion and payout a record belongs to.
  • Amounts are formatted the same way on every screen, in the record’s currency.
  • Forms say what is missing before they can be saved, and controls are named for screen readers.
  • The Logs screen shows each error’s message and where it happened.
  • Collaborator screens show collaborator groups only on Siren Plus and Pro, which include them.
  • On the free plugin, a recipe that sets up automatic payouts says they need Siren Essentials. See working with recipes.
  • Fixed collaborator report totals missing rewards and visits when many arrive at once.
  • Fixed a collaborator’s page listing conversions and engagements that belong to other collaborators.
  • The program and distributor editors keep a saved currency when opened, keep changes typed while the page loads, and keep the Update button available.
  • Lists keep their search while you sort, filter or wait for them to load, and offer sorting only on columns that can be sorted.

REST API

Security

  • Pro: headless event routes need credentials for every event except browser visits on /track/visit. See headless sites on Siren Pro above.
  • CSV exports write a cell that starts with a formula character as plain text, so a spreadsheet won’t run it.
  • Hardened how collaborator payout details are stored and shown.

Plugin Updates

  • Fixed an error when updating a paid edition in place.
  • Updating a paid edition from the Plugins screen downloads the update, however long ago Siren found it.

Coming From 3.4.2

Siren Lite on WordPress.org went from 3.4.2 to 3.6.256, so this update also brings these fixes from 3.5:

  • WooCommerce sales record the full order even when WooCommerce saves the order items after the order, so commissions are credited correctly.
  • Completed North Commerce checkouts keep their payment record.
  • Sale transactions record each line’s quantity.
  • List screens show your changes right after you edit a record.
  • The “Send Signup Email” bulk action reports how many emails went out.
  • A recipe that needs a paid plan is flagged before the setup wizard starts, and pricing screens list what Siren Plus and Siren Pro include.

Your privacy choices

Account, checkout and chat you request work without optional tracking. Choose whether to allow these other uses on this website.

You can change or withdraw your choices at any time using “Privacy choices.” We remember your choice for 180 days. Read our privacy policy.