My current setup only allows for one link per casino, though — i.e. I can’t put a different link on the first text link, second text link, third, and so on… all links for a given casino have the same campaign ID.
It’s certainly possible to set this up — just add a few more fields in the database to accommodate the additional campaigns, then call those specific links in the review text.
Example: My outbound URLs look something like this: mysite.com/go.php?casino=golden-reef-casino
The “go.php” script queries the database to find the affiliate link for Golden Reef Casino. Once it has the link, the page is immediately redirected (via a 301 redirect) to the affiliate URL.
You could add another string to the URL to grab specific campaign links, like this:
go.php?casino=golden-reef-casino&campaign=1
go.php?casino=golden-reef-casino&campaign=2
go.php?casino=golden-reef-casino&campaign=3
In your database, you would have a field for each campaign — add as many as you want.
Then, sprinkle campaign-specific links throughout your review to determine which link gets the most clicks. i.e. first link in the paragraph, last link, maybe the banner across the top, or the bottom, etc.
The go.php script collects the referring URL as it retrieves the affiliate link. Chuck all of this info into a database, along with the campaign ID (1, 2, 3, etc), and you should have quite a lot of useful data to pore over.
My overall point — I do think it’s possible to get away from having to change thousands of links every time an affiliate program decides to change the way the links work. It might take time to set everything up initially, but (in my opinion), it’s well worth it.