計測タグを発行して、そのページのアクセス情報をajaxでpostする

Google Analyticsの挙動と比較しやすいように、view.php, na.js, doubleclick.php の3つのファイルを用意します。view.php はタグを埋め込むhtmlファイル、na.jsはview.phpの情報を読み込んで処理しdoubleclick.phpに情報を渡す、doubleclick.phpはna.jsから送られた情報を受け取るサーバー側の処理。

まず、view.php
var objにアカウントidを入れて、ajaxとna.jsを読み込みます。
ここでは仮で id = 007 とします。

<style>
.box{
    width:400px;
    height: 400px;
    background-color:#ddd;
}
</style>
<body>
    <div class="box"></div>
</body>
<script type="text/javascript">
    var obj = obj || [];
    obj.push(['id','007']);
    var scripts =['https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js', 'na.js'];
    var i = 0;
    (function appendScript(){
        var script = document.createElement('script');
        script.src = scripts[i];
        document.body.appendChild(script);
        if(i++ < 2){
            script.onload = appendScript;
        }
    })();
</script>

na.js
var objに、ユーザー情報を追加して、doubleclick.phpにdataをpostします。

obj.push(['host',location.host]);
$(function(){
    $(document).ready(function(){
            var postData = {"userdata": obj};
            $.post(
                "doubleclick.php",
                 postData,
                 function(data){
                    $(".box").html(data);
                }
            );
        });
});

doulbeclick.php
na.jsから送られてきた配列を$_POSTで受け取ります。

 
$data = $_POST['userdata'];
var_dump($data);

うお!やばい

少し加工すると、タグを埋め込んだページに

ああ、そうか、setCookieをして、ユーザーが最初の訪問か、return userかを判別しているんですね。なるほど♪