LoginSignup
4
4

More than 5 years have passed since last update.

nendさん家のコンバージョンタグを改良してみた。

Posted at

最近イケイケでいろんな広告代理店が使いまくってるNendさん。
実にCVタグが実にウザい...

で、デフォルトだと
1つID設定して、js呼んで...
1つID設定して、js呼んで...
1つID設定して、js呼んで...
1つID設定して、js呼んで... 辛い

なので改良したぉ

nendってこれです。
http://nend.net/

Before

<問題点>
* 1つずつID設定とか死ねる
* そもそもtag_idって名前は他とぶつかるんじゃないの?
* UserAgentの判定が変。1つずつ文字列だけで判定するならsearchよりtypeOfじゃね?

もとのHTML
<script type="text/javascript">
var tag_id = 99999999999999999999999999999999999;
var nend_domain = "https://s.nend.net";
</script>
<script type="text/javascript" src="https://s2.nend.net/js/nendRt.js"></script>
もとのjavascript
if ("undefined" == typeof nend_domain) var nend_domain = "https://s.nend.net";
if ("undefined" == typeof nendRt) var nendRt = {
    init: function() {
        try {
            if (-1 != document.cookie.indexOf("nendoptout")) return 0;
            "undefined" != typeof tag_id && document.createElement("img").setAttribute("src", nend_domain + "/rt.php?tag_id=" + tag_id)
        } catch (a) {
            console.log(a)
        }
    }
};
var nend_user_agent = navigator.userAgent;
!navigator.cookieEnabled || (-1 == nend_user_agent.search(/AppleWebKit/) || -1 == nend_user_agent.search(/Android/) && -1 == nend_user_agent.search(/iPhone/) && -1 == nend_user_agent.search(/iPod/) && -1 == nend_user_agent.search(/iPad/)) || nendRt.init();

After

<直してみた箇所>
* 1つでも複数でもID設定できるようにした。(とりあえず安全のために終わったらundefinedで後片付けしてる)
* tag_idをnend_tag_idsに変えた
* UserAgentの判定をまとめた。こんなかんじでいいですよね。

HTMLの改修アイディア
<script type="text/javascript">
var nend_tag_id = 99999999999999999999999999999999999;
var nend_tag_ids = [1111111111111111111,2222222222222222,33333333333333333,44444444444444444];
</script>
<script type="text/javascript" src="https://s2.nend.net/js/nendRt.js"></script>
javascriptの改修アイディア
var nend_domain = nend_domain || "https://s.nend.net";
var nend_user_agent = navigator.userAgent;
var nendRt = {
  init: function() {
    try {
      if (-1 != document.cookie.indexOf("nendoptout")) return 0;
      if (typeof nend_tag_id != "undefined") {
        this.request(nend_tag_id); 
        nend_tag_id = undefined;
      }
      if (Object.prototype.toString.call(nend_tag_ids) === '[object Array]') {
        for(var i = 0, l = nend_tag_ids.length; i < l; i++) {
          this.request(nend_tag_ids[i]);
        }
        nend_tag_ids = undefined;
      }
    } catch (e) {
      console.log(e);
    }
  },
  request: function(t){
    console.log('test');
    return document.createElement("img").setAttribute("src", nend_domain + "/rt.php?tag_id=" + t);
  }
}
if ((navigator.cookieEnabled && /AppleWebKit|android|ip(hone|(a|o)d)/i.test(nend_user_agent))) nendRt.init();

以上、なかのプログラマさん見てたら直してください。

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4