まず、現在のインターネット広告の種類として、CPC、CPM、CPA、CPS、CPV を普及させましょう。
CPCはクリック(Click)、CPMはポップアップウィンドウ(Mxxx?)、CPA/CPSは登録と売上、CPVは表示数で計算されます。したがって、Web サイト訪問者の行動に基づいて収益を得る CPC、CPA、および CPS は 1 つのカテゴリであり、Web サイトのトラフィックのみに関連する CPM と CPV は別のカテゴリです。
ご想像のとおり、CPC、CPA、CPS の効果は、訪問者グループやクリック習慣などの多くの要因を分析して調整する必要があります。この記事では、主に大騒ぎする方法を研究したいと思います。不正行為を行わずにトラフィックについてできるだけ多くの収益を獲得します。広告アライアンスが長期的に使用すると、さまざまな広告アライアンスの評価も得られます。
1. 最も基本的な配信
アライアンスを例に挙げると、Web ページ上の任意の場所に同様のコードを直接埋め込むと、右下隅にフローティング表示広告が生成されます。
<script type="text/javascript">
u_a_client="20326";
u_a_width="270";
u_a_height="200";
u_a_zones="37972";
u_a_type="1"
</script>
<script src=" http://www.XXXX.com/i.js"></script >
2. 異なる広告ネットワークからの同様の広告のローテーション
CPV/CPM は IP に基づいて再生回数を計算するため、同じユーザーが同じ広告を繰り返し閲覧しても収益は増加しません。そのため、カルーセル メカニズムが導入されています。
通常、同じアライアンスであれば自動的にランダムにローテーションされますが、異なるアライアンスの CPV 広告間でローテーションしたい場合はどうすればよいでしょうか。
実際、自分でランダム化を行い、JavaScript を使用して対応する位置にコードをランダムに生成することができます。ファイルdynamic.jsを定義して、対応する場所にインポートできます。
<script type="text/javascript" src="dynamic.js"></script>
次に、dynamic.js は document.write と Math.random 関数を使用して、さまざまな Web サイトからの広告を動的に表示します。ここでは、別の広告アライアンスである Tai Chi Circle の広告を使用しました (playsc.com がこのアライアンスを使用していることを確認したので、私も申し込みました)。 。コードは次のとおりです。
var 選択 = Math.random()*2;
if (選択<=1){
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
}それ以外{
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.admin6.com/i.js"></script>' );
}
もちろん、表示する必要があるものが 3 つある場合は、ランダム *3 と 3 つの分岐で十分です。これは単なる形式です。多数の広告がある場合は、dynamic.js ファイルを定義し、関数 cpv に上記のコードを配置して、対応する場所で cpv 関数を呼び出すことができます。これにより、広告の一元管理が容易になります。
これを行うことのもう 1 つの利点は、静的ページを再生成する必要がないことです。広告コンテンツを変更するには、dynamic.js のコンテンツを変更するだけで済みます。
使用中に、JavaScript の乱数生成はあまり信頼できないことがわかりました。そのため、Math.random メソッドを放棄して、奇数の分に広告 A を表示し、偶数の分に広告 B を表示する、奇数偶数時間のメソッドを使用することもできます。 - 分数、または秒数で割ることもできます。最大 60 回の広告ローテーションをサポートします (とても変態です -)。この方法の基本的な考え方は、Web ページがタイム スライスの長さ (ここでは分を使用します) を超えて閲覧される限り、必然的に 2 つの広告が同時に閲覧されることになるということです。 Dynamic.jsのコードを次のように変更します。
var now = new Date();
var minutes = now.getMinutes();
if (分%2==0){
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
}それ以外{
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.xxx.com/i.js"></script>' );
}
奇数偶数時間配分方式のもう 1 つの利点は、どちらの広告アライアンスのボリュームが多いかを比較できることです。これは、奇数偶数時間配分を使用した場合、一般的に 2 つのアライアンスに割り当てられるクリック数は次のとおりであると考えられるためです。同様です。参照のみを目的としています。
3. 究極のカルーセルトリック
2.の方法を実行すると、単体アライアンスと比較すると広告効果はすぐに*1.5になりますが、それでも十分ではありません。もっと貪欲になって、すべての IP のユーザー トラフィックを絞り出す必要があります。
どうしたら綺麗に絞れるでしょうか?このアルゴリズムを想像してみてください。
ユーザーがその日初めて訪問し、広告 1 を表示します。
ユーザーがその日 2 回目にアクセスし、広告 2 を表示します。
ユーザーの訪問数が既存の広告の数よりも少ない限り、訪問するたびに異なる広告が表示され、ページをクリックした回数だけ広告が表示されます。 CPV 広告はまさにコスト・パー・ビューです。 (ただし、これは不正行為と誤解されますか?統計に対する明らかな表示数値の比率が高すぎるため、偽物に見えます。これは測定する必要があります)
もう 1 つの疑問は、ユーザーがアクセスする時間をどのように決定し、どの広告が表示されるかをどのように決定するかということです。最も単純なアイデアは、piwik システムなどのローカル トラフィック統計システムを構築し、ローカル データベースにクエリを実行することです。最初はこれを実装したかったのですが、これがホストのパフォーマンスをどれだけ低下させるかは想像できるでしょう。 。考えてみてください。JavaScript 自体でそのアクセス情報を保存する方法はあるでしょうか?
実際、ローカル Cookie が存在します。Cookie が自動的に記録される限り、ユーザーが何回アクセスしたかは明らかです。Cookie には自動タイムアウト メカニズムがあるため、それを設定するだけで済みます。タイムアウトを 24 時間に設定し、2 回目以降は統計が毎日自動的に再計算されます。
まず、set_cookie 関数と get_cookie 関数が必要です
関数 set_cookie(名前,値,有効期限){
var today = new Date();
today.setTime( today.getTime() );
期限切れ = 期限切れ*1000;
varexpires_date = 新しい日付(today.getTime()+(expires));
document.cookie=name+"="+escape(value)+";expires="+expires_date.toGMTString()+";domain=simplecd.org";
}
関数 get_cookie(名前){
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++){
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^s+|s+$/g,"");
if (x==名前){
unscape(y) を返します。
}
}
}
次に、アルゴリズムをわずかに変更してコードを簡素化します。訪問数を値として、広告ごとに独自の Cookie を作成します。
新しいアルゴリズムは次のとおりです。
1. 各広告スペースの Cookie をトラバースする
2. 存在しない Cookie がある場合は、広告スロットを表示して Cookie を設定します。
3. すべての Cookie が存在する場合、広告が表示または非表示になり、表示された広告の Cookie も同時に更新されます。
さらに、フローティング ウィンドウを目立たなくするために、別のウィンドウを追加することもできます。
ユーザーに広告が表示された合計回数が 6 回を超える場合、このタイプの広告は今日は表示されません。
次のコード全体は次のとおりです。
var total_ad = 3;
var max_show = 6;
var cookie_PRe = 'cpvad_counter_';
var cookie_time = 60*60*8;
var show = -1; // 広告 ID を表示します。
var show_counter = 0;
// 最初のパス、ラウンドロビン
for (var i=0;i<total_ad;i++) {
var cookie_name = cookie_pre+i;
var counter = get_cookie(cookie_name);
if (カウンター){
show_counter += parseInt(counter);
}それ以外{
ショー = i;
壊す;
}
}
// max_show 回を超えて表示されない場合は表示します
if (show_counter < max_show){
// 2 回目のパス、ランダム表示
if (表示 == -1){
show = Math.floor(Math.random()*total_ad);
}
// クッキーを処理する
var cookie_name = cookie_pre+show
var cookie_value = get_cookie(cookie_name);
if (cookie_value){
set_cookie(cookie_name,''+(parseInt(cookie_value)+1),cookie_time);
}それ以外{
set_cookie(cookie_name,'1',cookie_time);
}
// 追加を表示
スイッチ(表示){
ケース0:
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
壊す;
ケース1:
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.xxx.com/i.js"></script>' );
壊す;
ケース 2:
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="283";u_a_height="189";u_a_zones="63369";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
壊す;
}
}
4. まとめ
この記事では、CPV 広告のローテーションによる収益の最大化を技術的に分析し、実現します。同様の CPM 広告についても同様です。
ただし、広告は JavaScript をいじって効果を最大化するだけではなく、CPC/CPA/CPS などの他の広告カテゴリーもあります。量と質の関係、位置と表示速度の関係もあります。迷惑と有効性については勉強することがたくさんあります。
インターネット広告に関しては、私は広告を出してまだ 1 週間の初心者です。まだまだ学ぶことや研究することがたくさんあるので、この記事のタイトルは (1) です。別の記事を書きます、それは(2)ですが、現時点では実験の概要しかわかっておらず、いつ行うか、いつ書き留めるかがわかりません。
記事出典: http://obmem.info/?p=844転載の際は出典リンクの明記をお願いします。