Somebody clicked an affiliate link on one of my sites this morning. If everything goes right, the money from that click reaches my bank account around ninety days from now, minus a piece that gets taken back before it ever arrives.
That sentence is most of what people get wrong about affiliate income. It is not a faucet you turn on. It is a chain of six or seven separate systems, each with its own lag and its own way of quietly failing, and you only get paid when every link in that chain holds.
I run affiliate programs across eleven sites. Hundreds of programs, all routed through a redirect system on my own domain, which I will explain in detail below because it is the single most useful thing in this article. I have watched commissions get reversed months after I spent the money. I have watched a program I depended on cut its rate by half with two weeks of notice.
So this is the plumbing. What actually happens between a reader clicking and money landing, every place it silently does not, and what a first year honestly looks like. No income numbers, because I am not going to pretend your results have anything to do with mine.
One thing up front, because it sets the frame for everything else. Affiliate income is deferred work, not free money. You do the work now and get paid later, sometimes much later, sometimes never. That is the actual deal.
The Chain, Step by Step, With the Lag at Each One
Here is the full sequence. Most people know step one and step seven and assume the middle is automatic.
1. The click
A reader clicks your link. On my sites that link points at my own domain first, which then forwards to the merchant with my affiliate ID attached. Lag: milliseconds, if your hosting is not slow.
2. The cookie or the parameter
The merchant’s site receives your ID, usually as a URL parameter, and drops a cookie in the reader’s browser recording that you sent them. Some programs also record the ID server side against a session. This is the moment your claim on the sale is created, and it is the most fragile step in the entire chain.
It fails constantly. The reader is in an in-app browser that blocks third party storage. They click on their phone at lunch and buy on their laptop at night. They have a tracking blocker. They clear cookies. None of that generates an error message anywhere. It just quietly does not count.
3. The session
The reader browses, leaves, comes back, thinks about it. Your cookie is sitting there with an expiry date on it. Lag: anywhere from four minutes to three months depending on the price of the thing and how much of a decision it is.
4. The conversion
They buy. The merchant’s checkout fires a postback or a pixel to the tracking platform, which reads the cookie, matches it to your affiliate ID and creates a pending transaction. This is when a number appears on your dashboard. Lag: usually minutes, occasionally up to a day.
Note the word pending. It is doing a lot of work.
5. Validation
The merchant checks the order against the refund window, the return window, fraud rules and their own terms. Did the customer actually pay. Did they charge back. Was the coupon they used one you were allowed to promote. Did the order come from a country the program covers. Lag: 30 to 60 days on most programs, longer on anything with a generous return policy.
6. Approval and locking
Surviving transactions get approved and locked into a payable balance at the end of a cycle. Lag: to the end of the current month, plus whatever the program’s terms add.
7. Payout
The approved balance gets paid, if it clears the minimum threshold, on the program’s payment terms. Lag: net 30 or net 60 from the close of the month, and then however long the payment rail takes to actually settle in your account.
Add it up honestly. A click in early January produces money in your account in April. That is a normal, healthy, nothing-went-wrong timeline. Anyone selling you affiliate income as a quick result is either lying or has never waited out a validation period.
Cookie Windows and Last Click Attribution
Why a 24 hour window and a 90 day window are different businesses
The cookie window is how long your claim on that reader survives. It is the single most important number in a program’s terms and almost nobody checks it before they start writing.
A 24 hour window means you get credit only if they buy today. That works for cheap, impulsive, already-decided purchases. It is a volume business. You need a lot of traffic, and your content has to catch people at the exact moment of intent, which usually means comparison and best-of content rather than education.
A 60 or 90 day window is a completely different machine. Now you can write the article that helps someone think through a decision they will make in three weeks. Software, hosting, courses, financial tools and anything expensive tend to live here, because merchants know the sale takes time and they would rather pay you than lose the referral entirely.
Here is the practical consequence. If you are building slow, useful, evergreen content, short window programs will underpay you relative to the value you actually created. The reader learned what they needed from you, went away to think about it, and bought a week later with your cookie already expired. You did the work. You are not in the record.
So I weight my content toward programs with real windows. Not exclusively, but when I have a choice between two comparable tools and one gives 24 hours and the other gives 90, that is not a close decision.
Last click, and the reader who buys through somebody else
Almost every affiliate program on earth pays the last affiliate link clicked before purchase. Not the first. Not the most helpful. The last.
Which means this happens all the time: your article is the reason a reader understood the product and decided to buy it. Then they search the brand name, land on a coupon site, click a link that promises five percent off, and that site collects the commission on your work. This is the entire business model of the coupon extension industry, and there is nothing you can do about it except accept it as a tax.
The counter is not to fight the last click. It is to be the last click. That means being the resource people come back to rather than the one they read once. In practice that means an email list, because a click from your own email is a fresh click that overwrites whatever came before it. I run mine on Kit because the automation is straightforward and it does not punish you for having several sites. If you want something with a longer track record and simpler pricing, AWeber does the same job.
The other counter is topic depth. If you own the whole cluster around a decision, the reader has fewer reasons to go looking elsewhere before they buy. That is a keyword research problem more than an affiliate problem, and I broke down exactly how I approach it in my process for finding keywords worth writing for.
Networks Versus Direct Programs
You will join programs two ways, and the tradeoff is real.
Networks (Impact, ShareASale, CJ, PartnerStack, Awin and the rest) are middlemen. One login, one payment threshold, one tax form, hundreds of merchants. They handle tracking and they hold the merchant’s escrow, so you are much less likely to get stiffed. The cost is that you are one of thousands of publishers, commission rates are standardized and unnegotiable at your size, and if the network deactivates your account for any reason you lose every program in it at once.
Direct programs are run in house by the merchant. Shopify runs one of these, and plenty of software companies do. The upside is better rates once you have any track record, a human you can email, and sometimes custom terms. The downside is a separate login, a separate threshold, a separate payment method and a separate tax form for every single one, and if the company decides to shut the program down, that is the end of the conversation.
My rule after years of this: start on networks because the admin overhead of twenty direct programs will bury you before you have earned anything. Go direct only for the handful of tools that end up genuinely driving your income, where the better rate is worth the extra account. That is the same “go deep before you go wide” thing I say about everything, and it applies here more than most places.
Why Every Affiliate Link I Publish Points at My Own Domain First
Not one link on my sites points straight at a merchant. Every one of them goes to a slug on my own domain that forwards to the merchant with my ID attached. It looks like a small technical detail. It is the difference between an asset and a mess.
Three reasons, in order of how much they have saved me.
One: you can change the destination in one place. Programs die. Rates get cut. A merchant switches from one network to another and every tracking URL you ever published goes dead overnight. If you hardcoded the merchant URL into two hundred articles, you are now doing a two hundred article find and replace, and you will miss some. With a redirect, you edit one row and every link you have ever published is fixed, including the ones in old emails and YouTube descriptions you cannot edit at all.
Two: you get click data before you have any commission data. Commissions are laggy and sparse. Clicks are immediate and dense. When I can see which page is generating clicks on which link, I know what is working weeks before a payout confirms it, and I know which articles to expand. That feedback loop is the whole game early on, when you do not have enough conversions to learn anything from conversions.
Three: clean links survive. Raw affiliate URLs are ugly, they get stripped by platforms, they get filtered by email providers, and they announce to the reader that they are about to be sold something before they have even read the sentence. A link on your own domain travels anywhere. It also means you control the crawl behavior on your side rather than hoping the merchant does it right, and Google’s guidance on qualifying outbound links is worth reading once so you mark sponsored links properly.
I run all of this on WordPress, using the redirection module built into Rank Math so I am not adding another plugin for something my SEO plugin already does. The redirects live on the same install as the content, which is one less thing to maintain. This is one of several reasons I keep building on the same stack instead of chasing new ones, which I laid out in why I build everything on WordPress.
Two practical notes. Keep your slugs short and readable, because you will be typing them by hand for years. And do not host your redirects on a server that takes a full second to respond, because that second sits between your reader and the merchant. I use WPX Hosting for the sites that matter, and I keep domains at Namecheap so renewals are boring.
The Number on Your Dashboard Is Not the Number You Get Paid
Reversals, refunds and clawbacks
Every pending commission is a loan the merchant can call back. Refunds reverse. Chargebacks reverse. Cancelled subscriptions inside the guarantee window reverse. Duplicate orders reverse. Orders flagged as fraud reverse, and sometimes orders get flagged wrongly and you eat it anyway.
Your reversal rate is the percentage of approved-looking commission that disappears before payout. It varies enormously by category. Physical goods with easy returns run high. Software with a 30 day money back guarantee runs meaningful. Services with a contract run low. You will not know your own rate for at least four or five months, because you need a full validation cycle to have happened before the number means anything.
Track it. Keep a simple record of what your dashboard said in a given month versus what actually hit your account for that month, and watch the ratio. Once you know your rate, mentally discount every dashboard number by it, and never make a spending decision on a pending balance. I have made that mistake. I looked at a strong month, spent against it, and then watched a chunk of it reverse on a batch of returns.
Worth saying plainly: this money is income, and the tax treatment is not the same as a paycheck. Most programs will issue you a 1099-NEC if you are a US person over the threshold, and you are responsible for setting money aside yourself. I am not a CPA and this is not tax advice, it is just the thing that surprises people in year one. I keep affiliate income in its own books in QuickBooks so the gap between earned and received is visible instead of a surprise.
Thresholds and terms
Most programs hold your balance until it crosses a minimum, commonly somewhere between $25 and $100. Below that, nothing moves. This matters more than it sounds in your first year, because you can genuinely earn commissions on eight different programs and be paid by none of them, sitting on eight balances that are each too small to release.
That is the actual reason to concentrate on fewer programs early. Not focus for its own sake. Thresholds.
Then there are the terms. Net 30 from month end is common. Net 60 exists. Some programs pay twice a month, some pay quarterly. Read this before you write the article, not after you are waiting on the money.
Getting paid from outside the US adds another layer. I live in Bali, so I care a lot about which rails a program uses. Several networks pay through Payoneer, which is often the only option offered for international publishers. For moving money between currencies without losing a chunk to the spread, I use Wise. Check the payment method before you join, because a program that only cuts US checks is useless to you if you are not there to deposit them.
Recurring versus one-time
A one-time commission pays once on the sale. A recurring commission pays every month the customer stays subscribed, sometimes for the life of the account, more often for the first 12 months.
Recurring is worth far more than the headline rate suggests, and it changes what a good month means. One-time income resets to zero every month and you rebuild it from scratch. Recurring income accumulates, so a slow month still pays something, and your floor rises over time instead of your ceiling.
The catch is churn. Recurring income on a tool with high cancellation is a leaky bucket, and you will feel it as a slow decline you cannot attribute to anything you did. Which is exactly why you should only recommend tools you actually use, because the ones you use are the ones you know people stick with.
What a Realistic First Year Looks Like
No promises, no numbers, just the shape of it as I have watched it go for myself and for people I know.
Months one to three: you publish, and nothing happens. Zero clicks that matter. New content is not ranking yet, and the pages you do have are not the pages people search for when they are ready to buy. This is where most people quit, and quitting here is rational if you believed the timeline you were sold.
Months four to six: your first clicks show up in your redirect data. Maybe your first commission. It is small, it is pending, and it may reverse. The useful thing that happens in this window is not the money, it is finding out which two or three pages produce any click at all.
Months six to twelve: if you kept publishing and you doubled down on whatever those two or three pages were about, some of it starts compounding. You cross a payment threshold. You get one real payout. The gap between what your dashboard says and what your bank says becomes visible for the first time, and now you have a reversal rate.
What year one is actually for is building the asset and learning your own numbers. The income in year one is mostly evidence, not income. If you treat it as evidence you will make good decisions with it. If you treat it as a salary you will be disappointed and you will quit right before the part where it starts to work.
Affiliate income is also not the only model, and it is not automatically the right one for you. It suits people who like writing and can wait. If that does not describe you, I compared the models I have personally run in how to choose an online business model you can actually run.
The Failure Modes I Have Watched Kill Affiliate Income
Four of these, and I have been guilty of at least two.
Thin content. Pages that exist only to hold a link. A 600 word “best X for Y” post that reads like it was assembled rather than written, with no experience in it, no specifics and no reason to trust the recommendation. These pages sometimes rank for a while. Then a core update lands and the whole site drops at once, because the site never had a reason to exist. I have lost pages this way and it was entirely fair.
Promoting things you never used. This is the fastest way to burn the only thing that makes affiliate content work, which is that a reader believes you. You cannot describe the annoying part of a tool you have not used, and the annoying part is precisely what makes a recommendation credible. Readers can tell. So can the search engines, increasingly. The FTC’s endorsement guides are also fairly direct about not endorsing things you have no experience with.
One program being most of your revenue. This is the one that has actually hurt me. When a single program is the majority of your affiliate income, you are not running a business, you are an unpaid contractor with no contract. That merchant can cut the rate, shorten the window, change the terms, exclude your traffic source, or close the program entirely, and every one of those things happens. I now watch the concentration number the same way I watch a supplier concentration in a store, which is a lesson I learned the expensive way and wrote about in what running several businesses at once taught me about focus.
Building on rented land. Publishing all your affiliate content on a platform you do not own, with links you cannot change, in a feed that can deprioritize you tomorrow. Every serious affiliate operation I know has its own site and its own list underneath whatever social channels it uses.
What I Would Set Up This Week If I Were Starting Over
In this order. Do not skip ahead, the order is the point.
- Pick one topic you have actually operated in. Not a topic with high commissions. A topic where you have used the tools, made the mistakes and can write a sentence nobody else can write.
- Get the site up on your own domain. Boring hosting, boring platform, your name on the registration. This is the only piece nobody can take from you.
- Build the redirect layer before you publish anything. One folder, readable slugs, one row per program. Doing this on day one costs an hour. Doing it after two hundred posts costs a weekend and you will still miss links.
- Join two or three programs. Not twenty. Read the cookie window, the threshold, the payment terms and the payment method before you accept. Write them down in a spreadsheet. You will forget.
- Find the questions people ask right before they buy. That is where affiliate content actually converts. I use KWFinder for quick difficulty checks and LowFruits for surfacing the low competition question keywords that big sites ignore.
- Write ten genuinely useful articles before you judge anything. Not three. Ten is roughly where you have enough surface area to see a pattern in your click data.
- Start the email list on day one. Even if nobody subscribes for months. It is the only thing that makes you the last click instead of the first.
- At month four, look at click data, not commissions. Which pages send clicks. Expand those. Kill or rewrite the rest.
- At month six, add rank tracking. Once you have pages worth defending, you want to know when they move. Semrush is what I use for that and for seeing which competitor pages are pulling the traffic I want.
Managing dozens of programs across multiple sites without a team is its own separate problem, and it is mostly a systems problem rather than a work problem. That part I covered in how I run ten projects from Bali by myself.
Where to Take This Next
If you take one thing from this, take the redirect layer. Own your links before you publish a single one. Everything else in affiliate marketing is recoverable. Two hundred posts pointing at dead merchant URLs is the one mistake that costs you a weekend and some permanent losses.
The second thing is the timeline. Assume ninety days from click to money and plan your life around that, not around what a dashboard says today.
The programs I actually use, the tracking tools I started with and everything else that runs my sites are listed on my resources page, which I keep current because I use it myself. The traffic side of this, which is the part that decides whether any of the above ever matters, is what I write about over at SEO Paradise, including keyword research, on-page work and how affiliate pages get ranked and kept there.
And if you would rather have someone look at your specific setup instead of assembling it from articles, that is what my consulting page is for. No pressure either way. Most people who read this far do not need help, they need eleven more months.
Get The Operator’s Notebook
One email when I publish something worth your time. What I am building, what the numbers look like, and what I got wrong that month. No pitch, no daily spam.

Trevor Fenner is a Seattle-born entrepreneur, skateboarder, and expat who left Los Angeles in 2016 to build a location-independent life in Southeast Asia. After living in Chiang Mai and Bangkok, he settled in Bali in 2019, where he has been based ever since. He is the founder of Ecommerce Paradise, an education and services platform helping entrepreneurs build high-ticket dropshipping businesses, and operates Electric Bikes Paradise, an ecommerce store specializing in electric bikes, scooters, and mobility equipment. He also runs Paradise Skate Mag, a skate media project documenting the Bali skate scene and broader skate culture, and is building Bali Cat Paradise, a blog centered on the nearly twenty cats he and his wife care for at their home in Bali. Trevor writes about ecommerce and entrepreneurship, expat life in Southeast Asia, and the lessons skateboarding has taught him about business and life.
