What Are Programs?
A set of conditions that specify how and when collaborators earn rewards, along with the amounts of those rewards.
Last updated: April 10, 2026
A program is a set of conditions that specify how and when collaborators earn rewards, along with the size of those rewards. Programs are the most fundamental building block in Siren. Almost everything else exists to support them.
A program describes what someone has to do to earn a payout and how that payout is calculated. Unlike distributors, which aggregate data and pay out on a schedule, programs are tied to a single transaction. A customer converts, and the program decides who gets credit and how much.
You can build almost anything with a program as long as you can define three things: a measurable action that earns credit, a calculation for how much to pay, and a transaction to bind the payout to.
Common program types
An affiliate program pays a collaborator when someone they referred buys something. Try the basic affiliate program recipe to get started.
A customer loyalty program rewards an existing customer with store credit when they recommend a product to someone else who buys.
A sales program pays a salesperson a commission when they close a deal.
A royalty program pays a creator a percentage of sales on products they own or contributed to. The product royalty program recipe shows a working example.
These are just starting points. A single Siren install can run all four at once, and a single conversion can fire multiple programs. An affiliate refers a customer who buys a book, and Siren can pay both the affiliate and the author at the same time.
The lifecycle of a program
Each program moves through a structured pipeline from the first engagement to the final payout.
Program structure
Every program has a program structure that decides who gets paid when a conversion happens. Some structures pick a single winner. Others split the reward among everyone who contributed to the customer’s journey.
Incentive structure
Every program also has an incentive structure that decides how much gets paid. Incentive structures use the transaction data to calculate the payout, whether that’s a percentage of revenue, a flat fee per sale, or a fixed amount per product.
Engagement values
Each program assigns a point value to the engagement types it tracks. When a collaborator triggers an engagement (a site visit through their referral link, a coupon code being used, a course completion) the engagement receives the point value configured for that type in the program.
For programs where only one collaborator can win, these values don’t matter. The collaborator either has an engagement or they don’t.
The values become important when the program structure needs to compare or weigh multiple collaborators’ contributions. The top score wins structure pays out to whichever collaborator has the highest score. The performance weighted pool divides the reward proportionally based on each collaborator’s share of the total. In both cases, the values you assign decide how much each kind of engagement counts.
For example, you might set a referral link click to 1 point and a coupon code use to 5 points. A coupon use would then outweigh five clicks in any score-based structure, signalling that you value coupon-driven conversions more highly.
If you don’t use score-based structures, the defaults work fine and you can ignore engagement values entirely.
For developers: Siren is built on a typed event system. See the events reference to understand how the framework processes programs through the attribution and payout pipeline.