One way could be to create a key from Campaign and Date and associate both tables within the datamodel.
Another approach might be to create a mapping table (with the key of Campaign and Date) from your Cost table and the using applymap() within your transaction table to get the cost-value. Furher you will need a Revenue counter to this key to get a division-factor for the cost-value (you will need another load-step for this).
The first mentioned way with the associated tables would be:
load DATE & '|' & Campaign as DateCampaignKey, Cost from CostTable;
load Date, Campaign, Tid, Revenue, DATE & '|' & Campaign as DateCampaignKey from Transactions;
The second approach needs a few steps more but keeps it in one table:
mapping load DATE & '|' & Campaign as DateCampaignKey, Cost from CostTable;
Date, Campaign, Tid, Revenue,
applymap('MapCost', DATE & '|' & Campaign, '#NV') as Cost from Transaction;
left join (TransactionTemp)
Date, Campaign, count(Revenue) as RevenueCount resident TransactionTemp;
Date, Campaign, Tid, Revenue, Cost / RevenueCount as Cost
drop tables TransactionTemp;
and it will be depend on your requirements how you really handled the Cost and RevenueCount - like in example above by dividing them or if you takes it within the gui.
As you could see the first approach is much easier and should work well in many cases and is the native qlikview-way of connecting (associate) data respectively tables. If this didn't fullfill your requirements you could of course apply various transformations (like in the second approach) to get those data-structures which you need.