Who does the verifying
One named person, not an anonymous content team. Every program record on this site is researched, written and corrected by Alston Antony, who has worked in search and SaaS since 2010, has been promoting software as an affiliate publisher since 2012, and has bought and tested more than 500 SaaS products.
That matters for a directory like this one because the failure mode is not malice, it is incuriosity — copying a number without asking whether it is still true. Someone who has run affiliate campaigns knows which figures move quietly and which claims are worth a second look.
Where the data comes from
Program records are built from primary sources wherever they exist. We use a three-tier hierarchy, and every record shows which tier its evidence came from.
| Tier | What it is | Used for |
|---|---|---|
| Official | The vendor's own affiliate page, terms document, help centre or knowledge base | Preferred for every field. 16 of 62 records. |
| Network | The affiliate platform's advertiser listing — PartnerStack, Impact, CJ and similar | Used when the vendor publishes nothing itself. |
| Secondary | Third-party reporting and affiliate directories | Last resort only. 44 records rely on it and are labelled accordingly. |
Secondary sources are never used to override an official one. Where a widely repeated third-party figure contradicts the vendor's own page, we publish the official figure and record the conflict in the editor's notes — this happens more than you might expect, and it is the main reason this directory exists.
What we do when data is missing
We record nothing. A field with no verifiable source displays as "Not publicly disclosed", and the corresponding scoring component is dropped with the remaining weights renormalised around it.
This is deliberate and it costs us. A directory that prints a confident number for every field looks more complete than one with visible gaps. But a plausible-looking number with no source behind it is worse than an honest blank, because you cannot tell which is which.
Verification dates
Every record shows the date it was last checked against its sources. That date is set by a person or agent that actually rechecked the program. It is never updated by a site rebuild.
Many directories regenerate an "updated" timestamp on every publish, which makes every record look current regardless of when anyone last looked at it. We do not, which means some records here openly show their age. That is the point — a freshness signal that is always green carries no information.
Internally, records are tracked as fresh (checked within 30 days), needs-review (31–60 days) or stale (over 60 days). The npm run freshness script reports which records have drifted; it flags them for review rather than marking them verified.
The SaaS Affiliate Score
The SaaS Affiliate Score is an editorial, data-based rating on a 0–10 scale. It is not an objective measure of program quality, and we do not present it as one. It is a structured, auditable opinion about how attractive a program is to an affiliate.
Seven components, weighted as follows:
| Component | Weight | Source | How it is calculated |
|---|---|---|---|
| Commission | 22% | Derived from data | Rated on the published rate or maximum per-sale payout, on a diminishing-returns curve. Hybrid and tiered programs are rated on their stronger leg. |
| Recurring potential | 20% | Derived from data | One-time scores 2. Recurring scores 4 plus 0.3 per guaranteed month, capped at 10. Lifetime recurring scores 10. |
| Cookie duration | 14% | Derived from data | Interpolated across published anchor points: 30 days scores 5, 90 days scores 7.5, 180 days scores 9.3, 365 days scores 10. |
| Payout terms | 10% | Derived from data | Starts at 5. Adjusted by payout threshold, number of payment methods and whether a payout frequency is published. |
| Promotional flexibility | 8% | Derived from data | Starts at 5. Plus one for each promotional method explicitly allowed, minus one for each explicitly prohibited. Undocumented rules score neither way. |
| Program stability | 14% | Editorial | Editorial. Age of the program, volatility of its terms, closure risk and corporate ownership changes. Every value carries a published justification on the program page. |
| Market opportunity | 12% | Editorial | Editorial. Search demand for the product, average order value and how promotable it is to an affiliate audience. |
Five of the seven components are computed directly from the structured record, so they can never disagree with what the page displays. The two editorial components each require a written justification which is published on the program page and visible on hover in the score breakdown.
Status caps
Openness is part of a program's value, so status applies a ceiling after weighting. A paused program is capped at 6.0. An invite-only program is capped at 8.5. Closed programs, companies with no public program, and unverified records are not scored at all — the score displays as a dash rather than a low number, because "we do not rate this" is different from "this is bad".
What the score does not consider
- Whether we earn commission from the program
- Whether the company sponsors placement on this site
- Whether the company has asked us to change anything
The scoring module does not read the sponsorship flag. This is enforced in code, not by policy.
What gets published
Before a program record generates a public page it must have:
- A confirmed company identity and canonical domain
- A current, explicit program status
- At least one authoritative source
- A verification date set by an actual check
- An original summary — never copied from vendor marketing
- Metadata, a canonical URL and meaningful internal links
Records missing any of these are marked as drafts, which generates no route at all rather than a thin page excluded from the sitemap. Category and network hubs are subject to the same logic: a hub is only published once it holds enough verified programs to make a useful comparison, which is why some categories in the dataset have no landing page yet.
Programs that do not exist
We publish records for companies with no public affiliate program when the question has genuine search demand. "Does this company have an affiliate program?" is a real question with a real answer, and "no, here is what exists instead, and here are comparable programs that are open" is more useful than a page that quietly omits the company.
These records are clearly marked and are excluded from every ranking and recommendation. We do not create them at scale — only where the demand and the usefulness both justify it.
Corrections
Program terms change without notice and we will sometimes be wrong. If a record is inaccurate, tell us and we will recheck it against the official source. Corrections to material facts are made in the record and, where the change is substantive, added to that program's change history so the previous value stays visible.
Our full editorial standards, including how commercial relationships are handled, are set out in the editorial policy.
Methodology FAQs
Can a company pay for a higher score?
No. The scoring module does not read the sponsored flag at all — sponsorship is structurally incapable of influencing it. Sponsored placements are labelled as such wherever they appear and are never re-ranked into organic positions.
Why do some programs have no score?
Because there is nothing meaningful to rate. Closed programs, companies with no public program, and unverified records are all unscored — 5 records currently fall into that group. Rating a closed program would imply it is an option; rating an unverified one would imply a confidence we do not have.
What happens when a vendor does not publish a figure?
That component is dropped from the calculation and the remaining weights are renormalised. A program is never penalised for a number its vendor declines to publish, and never rewarded for the ambiguity either. The field displays as "Not publicly disclosed" rather than being filled with a plausible guess.
Is the SaaS Affiliate Score objective?
No, and we do not claim it is. Five of the seven components are computed deterministically from published data, but the weights are our editorial judgement and two components are assigned by a human. It is a structured, auditable opinion — not a measurement.
How do you handle conflicting sources?
Official sources beat network listings, which beat third-party reporting. Where an official source contradicts a widely repeated third-party figure, we publish the official one and note the conflict. Where two credible sources disagree and no official source resolves it, we record nothing and say so — several records here have deliberately empty cookie duration fields for exactly this reason.