目次
友達紹介が成立した記事が分からない問題
以前、こちらの記事で書いた通り、ブログ・サイトなどでポイントサイトの友達紹介を成立させてもどこの記事から成立したのか分からないという問題があります。
「友達が増えているならそれで良いじゃん。」という声が聞こえてきそうですが、成立した記事が分からないとバナーのクリック率や成約率を測定できないため、友達紹介の役に立っていない記事を改善したり、逆に友達紹介が沢山成立している記事を更に強化するといった手法を取ることができません。
もちろん、毎日大量のアクセスを集めることができているのであればそんなこと気にしなくてもバンバン友達紹介が成立するのかもしれませんが、大抵のブログやサイトはあまり多くないアクセス数の中から友達紹介を行わなければなりませんので、クリック率・成約率を改善することは極めて重要なのです。
リファラ等を取得するphpプログラム
ということで、ポイントサイトの紹介用リンクやバナーが
- いつクリックされたのか?
- 誰がクリックしたのか?
- どのページでクリックされたのか?
などを取得するプログラムをphpで作ってみました。
前回も言った通り、転送先のポイントサイトで友達紹介が成立したかどうか(= 成約率)までは測定できませんが、とりあえずどの記事でどのくらいクリックされているのかまでは測定できるのである程度参考になるはずです。
ソースコード
<?php /*********************************************************** * 設定 ***********************************************************/ //タイムゾーン設定 date_default_timezone_set('Asia/Tokyo'); //言語設定 mb_language('Japanese'); //文字コード設定 mb_internal_encoding('UTF-8'); /*********************************************************** * ログの書き込み ***********************************************************/ //ログに書き込む情報の取得 $datetime = date('Y-m-d H:i:s'); //年月日時刻 $ip = $_SERVER['REMOTE_ADDR']; //IPアドレス $referer = $_SERVER['HTTP_REFERER']; //リファラ(クリックされたページのURL) // var_dump($datetime); // var_dump($ip); // var_dump($referer); //転送先のサイト名を取得 $to = ''; if(isset($_GET['to'])) { $to = $_GET['to']; } //ログの書き込み $log = implode(',', array($datetime, $ip, $referer, $to, "\n")); //カンマで区切る file_put_contents('log.txt', $log, FILE_APPEND); //追記モードで書き込む //転送先が設定されていないときは終了 if($to === '') { return; } /*********************************************************** * ポイントサイトへ転送 ***********************************************************/ //転送先のURL $urls = array('moppy' => 'http://pc.moppy.jp/', 'hapitas' => 'http://hapitas.jp/', 'gendama' => 'http://www.gendama.jp/', 'pointtown' => 'http://www.pointtown.com/', 'pointincome' => 'https://pointi.jp/', 'ここにサイト名' => 'ここに紹介用URL', //以下同 'ここにサイト名' => 'ここに紹介用URL', 'ここにサイト名' => 'ここに紹介用URL', 'ここにサイト名' => 'ここに紹介用URL', 'ここにサイト名' => 'ここに紹介用URL',); //転送先が配列の中にないときは終了 if(!array_key_exists($to, $urls)) { return; } //転送先のURLを取得 $forward_to = $urls[$to]; //転送 header('Location: ' . $forward_to); ?>
使い方
WordPressが設置可能なレンタルサーバー(というかphpが使えるサーバー)なら動くと思いますが、動作保証や何か不具合があったときの損害に対する補償もできませんので予めご了承願います。
公開しておいてアレですが、使うなら自己責任でお願いします。
無料ブログや無料のレンタルスペースだと多分動かないと思います(phpが使えないはずなので)。
上記のソースをテキストファイルにコピペして「forward.php」としてブログ・サイトの直下に保存します。
※ドメインが「example.com」なら「http://example.com/」に保存
また、46行目以降の「転送先のURL」は例に倣って「’サイト名’ => ‘紹介用URL’」が一対一で対応するように適宜書き換えて下さい(例の5サイトは紹介用URLではなくトップページのURLを記載しています)。
なお、サイトを追加しない場合でも「’ここにサイト名’ => ‘ここに紹介用URL’,」という部分を消さなくても動作します。
その後、ポイントサイトへのリンク・バナーのリンク先を「<a href=”http://example.com/forward.php?to=サイト名”>リンクテキストやバナー画像</a>」という感じでリンクを貼ります。
当サイトだと以下のようになります。
- リンク1 : <a href=”https://fuku.work/forward.php?to=moppy”>リンク</a>
- リンク2 : <a href=”https://fuku.work/forward.php?to=hapitas”>リンク</a>
- リンク3 : <a href=”https://fuku.work/forward.php?to=gendama”>リンク</a>
- リンク4 : <a href=”https://fuku.work/forward.php?to=pointtown”>リンク</a>
- リンク5 : <a href=”https://fuku.work/forward.php?to=pointincome”>リンク</a>>
あとは、サイトを訪問したユーザーがリンクをクリックすれば「forward.php」と同じ場所に生成される「log.txt」というファイルにクリックされた日時・記事URL・転送先のサイト名が自動的に記録されていきます。
もちろん、リンクを踏んだユーザーは普通の紹介用リンク・バナーをクリックされたときと同様にポイントサイトへと移動します。
その後
上記のプログラムを設置してある程度の期間がたったら、「log.txt」とGoogle Analyticsなどのアクセス解析を突き合わせます。
そうすれば、訪問ユーザー数に対するクリック数、つまりクリック率を計算できますので今までよりも詳細なサイト分析ができると思います。
まとめ
以前から作ろうと思っていたのですが、なかなか腰が上がらずにようやくといったところです。
必要な機能自体は事前に調べていたので作成にかかった時間は結構短く、簡単に作ることができました。
- クリック率までしか測定できない(友達紹介が成立したかどうかまでは分からない)
- 紹介用リンク・バナーの改変に当たるのではないか?
- 強制的に転送しているとみなされないか?(実際に転送の処理自体は行っている)
といった問題点がありますので、実用的かどうかはちょっと分かりません。
自分で作っておいてアレなのですが、私自身も今すぐ使おうとは思っていません。
もし使うのであれば、少なくとも各ポイントサイトに「上記のようなプログラムを自作した旨とその理由」を説明した上で使用しても問題ないかどうかなどを問い合わせた上で、了解がとれたサイトに対してのみ使用するのが安全ではないかと思います。
コメント