detect_ga_tracking

  • /*
     * @title detect_ga_tracking
     * @description Google Analyticsの _setCustomVarのトラッキングを検出する
     * @include http://*
     * @license MIT License
     * @require 
     */
    
    var messages = [];
    var scripts = document.getElementsByTagName('script');
    
    Array.prototype.forEach.call(scripts, function(script) {
        var source = script.innerHTML.replace(/[\n\r]/g,'');
    
        source.replace(/_setCustomVar\(([^\)]+)\)/g, function(m) {
            var values = arguments[1].split(/,/);
            var slot   = values[0];
            var key    = values[1].replace(/['"]/g, '');
            var val    = values[2].replace(/['"]/g, '');
            var scope  = values[3] == 1 ? 'visitor' :
                         values[3] == 2 ? 'session' :
                         values[3] == 3 ? 'page'
                                        : 'unkonwn';
    
            messages.push("traking["+slot+"] "+ key + ' => ' + val + ' (' + scope + ')');
        });
    });
    
    alert(messages.length ? messages.join("\n") : 'traking code is nothing :)');
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2010/07/27 16:03:02 - 2010-07-27