Basically...I am using a tracking software callled Xtreme Conversions (XC) that dynamically generates tracking IDs for every keyword that my PPC ads got displayed for and clicked on by visitors.
The tracking ID will then be passed on to two sources: my XC account and the merchant (that's why it has gotta be able to receive dynamically generated tracking IDs)
In my XC account, all my keywords that got clicked on will show up together with a unique ID assigned to each keyword.
If the visitor buys, the ID will show up on my merchant's account (again, that's why it has gotta be able to receive dynamically generated tracking IDs), then I'll just have to "marry" the data from my XC account and my merchant's account to see which keyword brought in the sale.
I hope my explanation is clear enough...
PS: Clickbank does support dynamically generated tracking IDs...