Hallo
Hier mein JavaScript Code, der den Vergütungsframe erst lädt wenn die Kampange geladen wurde.

Bitte beachten: Ich habe es lokal getestet, habe aber keine Seite wo ich es online testen kann.

Das Script:

1. Frameset.htm
Das Frameset mit zwei frames. Unten wird die Kampange geladen.
Im oberen frame ist erst ein Hinweis, das die Kampange geladen wird.
Ist der untere frame geladen, so wird der Vergütungsframe aufgerufen.

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>

<head>
<title>Frameset</title>

<script type="text/javascript">


function start() {
window.frames.Kontrolle.location="Vergütung.htm";
}

</script>

<frameset  rows="300,*">
  <frame src="warten.htm" name="Kontrolle"> 
  <frame src= "http://www.microsoft.de" name="werbung", onload = "start()">
</frameset>

</head>

<body>

</body>

</html>
2. Warten.htm
Eine Seite ohne Funktion die den Hinweis enthält, dass die Kampange (der untere frame des Framesets) noch geladen wird.

Code:
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>BannerKlick auf Klammloseseite</title>

</head>

<body>
Bitte warten Sie bis die Kampange vollständig geladen wurde... 
</body>

</html>
3. Vergütung.htm
Eine Seite ohne Funktion die die Vergütungsseite darstellt.
Diese Seite wird erst aufgerufen, wenn die Kampange (der untere Frame des Framesets) geladen wurde.

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Vergütungsframe</title>
</head>

<body>
Ich bin der Vergütungsframe
</body>
</html>
*Edit*
Da diese Art User mit deaktiviertem JavaScript von der Vergütung ausschliest (wie jpwfour schon richtig bemerkte), hier noch eine Version, die User ohne JavaScript auch vergütet.
Bei Usern die JavaScript deaktiviert haben wird der Vergütungsframe aber nicht erst nach der Kampange aufgerufen.

1.1 Frameset.htm
Das Frameset. Im vergleich zur Version vorher, sind hier 3 Frames, von denen einer aber 0 Pixel gross ist. (der ganz obere).
Der 0 Pixel Frame wird benötigt da er kein Ziehl lädt und somit sofort sein Onload Event auftritt.

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>

<head>
<title>Frameset Test</title>

<script type="text/javascript">

function start() {
window.frames.Kontrolle.location="Vergütung.htm";
}

function Change() {
window.frames.Kontrolle.location="warten.htm";
}

</script>

<frameset  rows="0,30,*">
  <frame src="" name="Start", onload = "Change()"> 
  <frame src="Vergütung.htm" name="Kontrolle"> 
  <frame src= "http://www.microsoft.de" name="werbung", onload = "start()">
</frameset>

</head>

<body>

</body>

</html>
Da es nicht schön ist, wenn die Kampange ewig lädt und der Vergütungsframe deswegen nicht erscheint, hier noch eine Version, die die Ladezeit überprüft.
Wenn die Maximal erlaubte Ladezeit überschritten wurde, kann eine Aktion ausgeführt werden. (Melden, Vergütungsframe trotzdem laden oder...)
Auch hier werden User mit und ohne JavaScript vergütet, eine Vergütung nur mit JavaScript ist natürlich auch möglich.

1.2 Frameset.htm
Das Frameset. Framebrecher und Ladezeit Test sind hier eingebaut.

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>

<head>
<title>Frameset Test</title>


<script type="text/javascript">
var Ladetest;
var MaxLadezeit=30;
var Count=0;

//Vergütungsframe laden
function start() {
window.clearInterval(Ladetest);
window.frames.Kontrolle.location="Vergütung.htm";
}

//Vergütungsframe erst mal  nicht laden
//solange Kampange noch lädt 
function Change() {
window.frames.Kontrolle.location="warten.htm";
Ladetest = window.setInterval("Laden()", 1000);
}

//Überprüfung der Ladezeit der Kampange
function Laden() {
Count++;
if (Count>MaxLadezeit) {
window.clearInterval(Ladetest);
//Hier die AKtion wenn ladezeit überschritten
//z.B. Kampange melden oder Vergütungsframe trotzdem
//laden oder...
}
}

</script>

<frameset  rows="0,30,*">
  <frame src="" name="Start", onload = "Change()"> 
  <frame src="Vergütung.htm" name="Kontrolle"> 
  <frame src= "http://www.a3union.com" name="werbung", onload = "start()">
</frameset>

</head>