Seite 4 von 5

Verfasst: 31.01.2019, 10:14
von Lollipop
Micha_Es hat geschrieben:Ich bin wahrlich kein JS Experte, aber was spricht dagegen?

Code: Alles auswählen

  <script>
      function downloadJSAtOnload&#40;&#41; &#123;
          var b = document.createElement&#40;"script"&#41;;
          b.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";
          document.body.appendChild&#40;b&#41;

          var c = document.createElement&#40;"script"&#41;;
          c.src = "//ads.themoneytizer.com/s/gen.js?type=19";
          document.body.appendChild&#40;c&#41;

          var d = document.createElement&#40;"script"&#41;;
          d.src = "//ads.themoneytizer.com/s/requestform.js?siteId=14707&formatId=19";
          document.body.appendChild&#40;d&#41;
      &#125;;
      if &#40;window.addEventListener&#41; &#123;
        window.addEventListener&#40;"load", downloadJSAtOnload, false&#41;
    &#125; else &#123;
        if &#40;window.attachEvent&#41; &#123;
            window.attachEvent&#40;"onload", downloadJSAtOnload&#41;
        &#125; else &#123;
            window.onload = downloadJSAtOnload
        &#125;
      &#125;;
  </script>

Ich bin eine ziemliche Null was JS angeht, daher ist meine Frage dazu vielleicht sinnfrei, aber...

Wie sieht denn der Code aus, den ich an der Stelle wo die Anzeige ausgegeben wird, schreibe? Ich meine, ich muss doch irgendwie die richtigen Parameter an die passende Stelle übergeben, oder? Also entweder b.src oder c.src und so weiter um den ursprünglichen Adcode wieder an der richtigen Stelle zusammenzubauen, oder?

Denn so wie ich das Skript verstehe, wird doch im Prinzip da nichts anderes gemacht, als die Adcodes auseinander geschnitten, um dann, nachdem die Seite fertig geladen ist, die Teile wieder zusammen zu puzzlen, oder?

In der ursprünglichen Version auf Seite 1 mit dem Adsense Code, ist das ja gegeben, da ich den identifizierenden Teil des Anzeigencodes schon an der richtigen Stelle im DOM stehen habe, Hier mit dem Moneytizer Code habe ich das nicht. Daher meine Frage ob, und wenn ja, wie ich das nachgeladene an die richtige Stelle im HTML übergeben kann / muss? oder Reicht es tatsächlich aus einfach das "leere" <div> auszugeben? Also so <div id="14707-19"></div> wie HDsports das gemacht hat?

Wobei ich jetzt gerade eh auf dem Schlauch stehe und nicht verstehe wie das funktionieren soll, da ja der Rest des HTML schon geladen wurde, bevor das Skript aufgerufen wurde.

Vielen Dank für die Erleuchtung eines Unwissenden! :-)

Verfasst:
von

Verfasst: 31.01.2019, 11:18
von supervisior
@Lollipop

Auch an Dich der Verweis auf den Titel dieses Themas. Mit meiner Anleitung hier funktioniert es mit Adsense und kann 1 zu 1 kopiert werden.

Alles was nicht genauso funktioniert, wie bei Adsense kann man es nicht verwenden, insbesondere nicht für den themoneytizer Kram.

Dafür braucht es eine gänzlich andere Lösung, die aber das Gleiche bewirkt wie im Fall mit dieser Anleitung für Adsense. Der Punkt ist nur, wenn Du nicht weißt, was Du tust, bringt es wenig Dir eine Anleitung dafür zu machen, wenngleich es einfach ist.

Verfasst: 31.01.2019, 11:23
von supervisior
Hanzo2012 hat geschrieben:
Micha_Es hat geschrieben:Wenn ich das aber richtig verstanden habe, wird das Script doch erst geladen, wenn die Seite geladen ist. Also spielt das doch gar keine Rolle?
Ja, jetzt schon. Es ging mir aber um den Standard-Code von Moneytizer. Der stoppt den kompletten Seitenaufbau, bis das Script geladen und ausgeführt wurde. Das spricht halt nicht gerade für die, wenn die sich so einen Schnitzer erlauben.
Ich bin mir nicht sicher, ob das vielleicht doch Absicht ist, weil die damit sicherstellen, dass ihr Code zuerst geladen und angezeigt wird.

Verfasst: 31.01.2019, 14:39
von themoneytizer
Hanzo2012 hat geschrieben:Da deren Skript scheinbar synchron arbeitet (absolutes No-Go und Grund, warum ich es bisher nicht einmal ausprobiert habe), geht das nicht ohne weiteres. In ein iframe packen ginge, ist aber wahrscheinlich verboten.
Hallo Hanzo2012,

Die Darstellung, dass unsere Skripte synchron arbeiten, ist schlichtweg falsch. Unsere Skripte laden asynchron und interferieren demnach nicht mit der Darstellung des Seiteninhalts. Dies ist im Übrigen auch in der FAQ-Sektion auf unserer Seite nachzulesen.

https://de.themoneytizer.com/home/faqtags#slowdown

Verfasst: 31.01.2019, 15:11
von Hanzo2012
themoneytizer hat geschrieben:Hallo Hanzo2012,

Die Darstellung, dass unsere Skripte synchron arbeiten, ist schlichtweg falsch. Unsere Skripte laden asynchron und interferieren demnach nicht mit der Darstellung des Seiteninhalts. Dies ist im Übrigen auch in der FAQ-Sektion auf unserer Seite nachzulesen.

https://de.themoneytizer.com/home/faqtags#slowdown
Da muss ich leider widersprechen. Den Hinweis habe ich gelesen, aber er ist irreführend. Schau doch selbst mal, wie euer Code aussieht:

Code: Alles auswählen

<div id="xxxxx-y">
<script src="//ads.themoneytizer.com/s/gen.js?type=y"></script>
<script src="//ads.themoneytizer.com/s/requestform.js?siteId=xxxxx&formatId=y"></script>
</div>
Beide Scripts werden synchron eingebunden. Sie haben nämlich weder async- noch defer-Attribut. Mag ja sein, dass die Werbeanzeigen asynchron geladen werden, eure Scripts selbst jedoch nicht. Und das führt dazu, dass der komplette Seitenaufbau blockiert wird, bis diese beiden Scripts von eurem Server geladen und ausgeführt wurden. Mit SSL kann sowas gerne schonmal Sekunden dauern.
Wenn diese Scripts am Ende des Bodys eingebunden würden, wäre das noch einigermaßen zu verschmerzen. Aber man soll sie ja dort platzieren, wo die Werbung erscheint, also normalerweise relativ weit oben im Code.

Verfasst:
von

Verfasst: 31.01.2019, 17:54
von themoneytizer
Die Moneytizer-Tags sind asynchron. Bevor ich erkläre, warum diese asynchron sind, will ich erklären, was hinter Header Bidding steckt.

Die Idee des Header-Biddings: Mehrere Nachfragequellen bieten in einer Echtzeitauktion auf die Füllung des selben Werbeformats. Der Höchstbietende erhält den Zuschlag und füllt (eine Impression). So wird gewährleistet, dass der Publisher stets - im Rahmen des Header Biddings - bestmöglich profitiert.

Wenn Ihre Website ohne Anzeigen mit 100 Mbps geladen wird, lädt die selbe Webseite inkl. Darstellung mit Werbung u.U. mit 80 Mbps. Die Tags sind asynchron: Content und Anzeigen werden gleichzeitig geladen. Asynchrones Laden ist jedoch keinesfalls die Antwort zu allen Fragen.

Es ist vergleichbar mit dem gleichzeitigen Download von Dateien. Die Downloadgeschwindigkeit nimmt aufgrund des gleichzeitigen Ladens zweier Ereignisse ab.

Potentieller Lösungsansatz: Sie können das Problem beheben, indem Sie den Ad Tag dynamisch nachladen, sobald der Webseiteninhalt komplett geladen ist. Dies kann für eine sehr gut optimierte Webseite nützlich sein. Jedoch läuft in diesem Fall eine weniger optimierte Webseite, für welche der Download der Webseite relativ viel Zeit in Anspruch nimmt, Gefahr, wichtigen Einnahmen zu entgehen: Wenn ein Besucher auf einen anderen Link klickt, bevor die Werbung überhaupt erst angefangen hat zu laden, werden keine Werbeeinnahmen erzielt. Das Bouncen unterbindet die Werbeanzeige und daraus entstehende Profite.

Ein Skript zum Nachladen eines Ad Tags könnte schematisch so aussehen:

----------------------------------------

window.onload = function() {
var id = '1234567-8';
var src1 = '//ads.themoneytizer.com/s/gen.js?type=3';
var src2 = '//ads.themoneytizer.com/s/requestform.js?siteId=1234567&formatId=8';

var divAdMoneytizer = document.getElementById('ad-moneytizer');
var divAd = document.createElement('div');
divAd.setAttribute('id', id);
divAdMoneytizer.appendChild(divAd);

var myad = document.getElementById(id);
var script1 = document.createElement('script');
var script2 = document.createElement('script');

script1.src = src1;
script2.src = src2;

myad.appendChild(script1);
myad.appendChild(script2);
}


----------------------------------------

Gutes Monetarisieren!

Verfasst: 31.01.2019, 21:05
von Micha_Es
:-)

Verfasst: 31.01.2019, 21:20
von supervisior
themoneytizer hat geschrieben:
Ein Skript zum Nachladen eines Ad Tags könnte schematisch so aussehen:
Oder so: https://www.abakus-internet-marketing.d ... 42641.html

Verfasst: 08.02.2019, 18:36
von Lollipop
Sorry, wenn ich bzgl. Einbinden des Adsense Codes nochmal nachfragen muss, aber ich kriege es einfach nicht hin, dass das bei mir funzt.

Also, ich mache folgendes:

Als erstes binde ich diesen Block

Code: Alles auswählen

<script> 
    function downloadJSAtOnload&#40;&#41; &#123; 
        var b = document.createElement&#40;"script"&#41;; 
        b.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; 
        document.body.appendChild&#40;b&#41; 
    &#125;; 
</script>
und diesen Block:

Code: Alles auswählen

<script> 
    if &#40;window.addEventListener&#41; &#123; 
        window.addEventListener&#40;"load", downloadJSAtOnload, false&#41; 
    &#125; else &#123; 
        if &#40;window.attachEvent&#41; &#123; 
            window.attachEvent&#40;"onload", downloadJSAtOnload&#41; 
        &#125; else &#123; 
            window.onload = downloadJSAtOnload 
        &#125; 
    &#125;; 
</script>
in dieser Reihenfolge am Ende vor dem </Body> ein. Soweit richtig, oder?

Jetzt ist aber der (etwas nach Googles Richtlinien etwas modifizierte) Originalcode, den ich von Adsense für einen responsiven Anzeigenblock geliefert bekomme so:

Code: Alles auswählen

<style>
.meine-klasse &#123; height&#58;250px; &#125;
</style>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Blockname -->
<ins class="adsbygoogle meine-klasse"
     style="display&#58;block"
     data-ad-client="ca-pub-61941xxxxx"
     data-ad-slot="6139xxxxx"
     data-ad-format="rectangle"
     data-full-width-responsive="false"></ins>
<script>
&#40;adsbygoogle = window.adsbygoogle || &#91;&#93;&#41;.push&#40;&#123;&#125;&#41;;
</script>
Wie muss denn da der Codeblock aussehen, den ich an entsprechender Stelle im HTML einfügen muss, um den Anzeigenblock entsprechend ausgegeben zu bekommen? Ich hab jetzt alles Mögliche ausprobiert, aber ich komme mit der Syntax einfach nicht klar. Könntet ihr bitte für einen Vollpfosten wie mich, ein Beispiel posten? Ich schaffe es einfach nicht von dem was supervisior gepostet hat:

Code: Alles auswählen

<script> 
    &#40;adsbygoogle = window.adsbygoogle || &#91;&#93;&#41;.push&#40;&#123; 
        google_ad_client&#58; "ca-pub-xxxxx" 
    &#125;&#41;; 
</script>
Auf den Code zu schließen, den ich brauche :oops:

Vielen Dank für eure Mühe!

Verfasst: 08.02.2019, 20:04
von supervisior
Du hast Dir meine Anleitung nur halbherzig durchgelesen! Es ist eigentlich klar, was zu tun ist. Was Du da in den <ins> Tag einbaust, spielt keine Rolle und verändert nichts an meienr Anleitung. Da kannst css reinknallen was Du willst. Ansonsten mach das so und in der richtigen Reihenfolge am richtigen Ort so wie beschrieben.

Verfasst: 11.02.2019, 11:30
von Lollipop
Jau, habs jetzt kapiert. :)
manchmal sollte man einfach die Sache auf sich beruhen lassen und mal ne Nacht drüber schlafen. :roll:

Dank dir für deine Mühe mit der Anleitung!

Verfasst: 12.02.2019, 13:06
von supervisior
Lollipop hat geschrieben:manchmal sollte man einfach die Sache auf sich beruhen lassen und mal ne Nacht drüber schlafen. :roll:
....und dann ausgeruht nochmal alles in Ruhe lesen, gell? ;)

Ad Tags nach Content laden

Verfasst: 18.02.2019, 12:01
von themoneytizer
Information zu The Moneytizer Ad Tags, da es vorher Gesprächsthema in diesem Thread war:

Die einfachste und wohl beste Art, um unsere Skripts nach dem Laden des Webseiteninhalts zu laden, geschieht anhand des Attributs "defer".

https://www.w3schools.com/tags/att_script_defer.asp

Beispiel:

Code: Alles auswählen

<div id="12345-6"><script defer src="//ads.themoneytizer.com/s/gen.js?type=1"></script><script src="//ads.themoneytizer.com/s/requestform.js?siteId=12345&formatId=6" defer ></script></div>
Für eine optimale Monetarisierung empfehlen wir jedoch, unsere The Moneytizer Ad Tags unverändert zu lassen. Bei Bedarf kann jedoch "defer" hinzugefügt werden.

Re: Ad Tags nach Content laden

Verfasst: 18.02.2019, 12:46
von supervisior
themoneytizer hat geschrieben:Information zu The Moneytizer Ad Tags, da es vorher Gesprächsthema in diesem Thread war:

Die einfachste und wohl beste Art, um unsere Skripts nach dem Laden des Webseiteninhalts zu laden, geschieht anhand des Attributs "defer".

https://www.w3schools.com/tags/att_script_defer.asp

Beispiel:

Code: Alles auswählen

<div id="12345-6"><script defer src="//ads.themoneytizer.com/s/gen.js?type=1"></script><script src="//ads.themoneytizer.com/s/requestform.js?siteId=12345&formatId=6" defer ></script></div>
Für eine optimale Monetarisierung empfehlen wir jedoch, unsere The Moneytizer Ad Tags unverändert zu lassen. Bei Bedarf kann jedoch "defer" hinzugefügt werden.
Hat hier nichts zu suchen, ist Doppelpost vom Moneytizer Thread

Re: HowTo: Google Adsense Code Performance optimiert einbauen

Verfasst: 05.12.2019, 22:35
von panterchen
@supervisor gilt Dein Angebot noch?