AffiliateWP hosting where referrals get recorded.
An affiliate program only works if the click that produced the sale is still attached to it. A cached landing page is the most common reason it is not.
The click has to survive the cache.
Everything about an affiliate program is a chain from a link to a payout, and the chain breaks at the first cached page.
A referral link that still tracks
Affiliate parameters arrive on ordinary landing pages, which are exactly the pages a cache serves without running PHP. Tracking is handled so the visit is recorded even when the page itself is not rebuilt.
Referral tables that stay fast
Every visit, referral and conversion is a row in AffiliateWP's own tables. Those grow faster than posts do, and they are indexed for the reports affiliates open constantly.
Payout runs that get to the end
Generating a payout means summing referrals across every affiliate in the period. That runs as a batch with its own limits rather than inside somebody's admin request.
Affiliate dashboards under load
Affiliates check their stats far more often than they send traffic, and each of those views is a signed-in page that cannot be cached.
Undo a wrong commission rate
A rate applied to the wrong group is a money problem. Daily backups mean the referral records can be restored rather than recalculated by hand.
Where affiliate programs lose money.
Almost never in the payout. Nearly always at the start - a click that arrived, converted, and was never attributed because the landing page came from a cache.
- Tracking recorded on cached pages
- Referral and visit tables indexed
- Payouts generated as batches
- Affiliate dashboards excluded from page cache
Stats pages affiliates refresh all day.
The busiest authenticated pages on an affiliate site are the dashboards, and they aggregate over the fastest-growing tables in the install.
What we change for AffiliateWP
The program is a chain from click to commission, and each row below is a place that chain usually breaks.
| Setting | What we do | Why |
|---|---|---|
| Referral tracking | Recorded even when the landing page is served from cache | Affiliate links point at ordinary marketing pages, and a cached response never runs the code that would have logged the visit. |
| Affiliate tables | Indexed on affiliate, status and date | Visits and referrals grow faster than any other table on the site, and every dashboard and report filters on that combination. |
| Payout generation | Run as a batch with limits of its own | Summing a period across every affiliate is far more work than an admin request allows, and a timeout mid-run leaves some affiliates paid and others not. |
| Affiliate area | Excluded from the page cache | Each dashboard shows one person's earnings, so a shared cached copy is both wrong and a disclosure. |
| Old visit records | Retained, with reports reading a summary | Deleting history breaks the audit an affiliate will eventually ask for, but reading every raw row on every report does not scale. |
Simple, transparent pricing.
Every plan includes free migration, daily backups, SSL and 24/7 support.
- 1 WordPress site
- 10 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Support tickets
- 5 WordPress sites
- 50 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Priority support tickets
- 20 WordPress sites
- 200 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Dedicated support
Questions, answered.
Why are some referrals not being tracked?
Can affiliates see each other's earnings?
Why do payout runs time out?
How big can the referral history get?
Pay affiliates for the clicks they sent.
Move the program across. Migration is free, referral history included.