Synergy!LEAD

トラッキングするURLから不要なパラメータを取り除くには?

トラッキングするURLには、意図的、または、自動的にパラメータが含まれる可能性があります。主に、?(クエスチョン)、&(アンパサンド)、;(セミコロン)、#(シャープ)の記号で表現されるものが付与されます。

URLにパラメータを含むと何が問題か?

パラメータを含む可能性があるページにトラッキングコードを設置した場合、同じページを表示しているにも関わらずパラメータの値が異なるごとにトラッキング情報が記録され、「ページアクセス」キャンペーンがパラメータの組み合わせ分、作成されてしまいます。

例えば、「https://www.synergy-marketing.co.jp/cloud/synergylead/support/tracking.html」にトラッキングコードを設置しても、以下のようにパラメータが付与されたURLにアクセスした場合は、それぞれ別のアクセスとして認識されます。

https://www.synergy-marketing.co.jp/cloud/synergylead/support/tracking.html?p=1
https://www.synergy-marketing.co.jp/cloud/synergylead/support/tracking.html?p=1&q=2
https://www.synergy-marketing.co.jp/cloud/synergylead/support/tracking.html;p=ABCDE12345
https://www.synergy-marketing.co.jp/cloud/synergylead/support/tracking.html#Tips

運用上、「付与されたパラメータごとのアクセスをトラッキングしたい」というケースもあるかと思いますが、上記の例だと「https://www.synergy-marketing.co.jp/cloud/synergylead/support/tracking.html」として集約したいと多くの方は思われるのではないでしょうか?

URLから不要なパラメータを取り除く方法

1. トラッキングコードの設定でパラメータを取り除く

トラッキングコードの設定によって、?(クエスチョン)、&(アンパサンド)、;(セミコロン)以降のパラメータを取り除くことができます。設定の方法はトラッキングコードを発行したSynergy!LEADのバージョンによって異なります。

  • 2015年8月17日以降のトラッキングコード
    <script language="JavaScript" type="text/javascript">
    (function(){
        var url=document.location.href; // Page URL
        var title=document.title;       // Page TITLE
        var referrer=document.referrer; // Referrer
        var withoutparam=true;          // Without URL parameter (true or false)
    
        var ver="201",cid="お客様のAPIクライアントID",host="f.msgs.jp",requri="//"+host+"/t/t.js";
        var enc=function(str){return encodeURIComponent(str).replace(/[!*'()]/g, function(p){return "%" + p.charCodeAt(0).toString(16);});};
        var elm=document.createElement("script"),hd=document.getElementsByTagName("script")[0],now=(1 * new Date());
        elm.src=requri+"?ci="+enc(cid)+"&ht="+enc(host)+"&url="+enc(url)+"&ttl="+enc(title)+"&ref="+enc(referrer)+"&wp="+enc(withoutparam)+"&ver="+enc(ver)+"&now="+now;
        if(window.__s_lead_already_tracked != true){ elm.async=1,hd.parentNode.insertBefore(elm,hd); }
        window.__s_lead_already_tracked=true;
    })();
    </script>
    

    6行目の「var withoutparam=true;」がパラメータを取り除く設定です。
    標準で取り除く設定が有効「true」となっておりますので修正する必要はありません。

  • Synergy!LEADのバージョン「2.10」以降に発行したタグの場合
    <script language="JavaScript" type="text/javascript">
    (function(url,ttl,ref,wp){
       var doc=document,tag="script",enc=encodeURIComponent,ht="f.msgs.jp",ci="[お客様のクライアントIDを暗号化したもの]",req="//"+ht+"/t/t.js";
       var encrep=function(str){return enc(str).replace(/'/g, function(p){return "%" + p.charCodeAt(0).toString(16);});};
       var ec=encrep(ci),eh=enc(ht),eu=encrep(url),et=encrep(ttl),er=encrep(ref),ew=encrep(wp),elm=doc.createElement(tag),hd=doc.getElementsByTagName(tag)[0];
       elm.async=1;elm.src=req+"?ci="+ec+"&ht="+eh+"&url="+eu+"&ttl="+et+"&ref="+er+"&wp="+ew;hd.parentNode.insertBefore(elm,hd);
    
    })(document.location.href, document.title, document.referrer, true);
    </script>
    

    8行目の一番右の設定(「true」となっている箇所)がパラメータを取り除く設定です。
    標準で取り除く設定が有効「true」となっておりますので修正する必要はありません。

  • Synergy!LEADのバージョン「2.8」までで発行したタグの場合
    <script language="JavaScript" type="text/javascript">
    (function(){
     if(location.protocol == "https:") { var protocol = "https:"} else { var protocol = "http:"};
     var host = "f.msgs.jp";
     var url=encodeURIComponent(document.location.href);
     var title=encodeURIComponent(document.title);
     var referrer=encodeURIComponent(document.referrer);
     var clientid="[お客様のクライアントID]";
     var withoutparam="true"; /* edit false or true. */
     document.write("<img width=0 height=0 border=0 src='"+protocol + "//" + host + "/t/dummy.gif?url=" + url + "&title=" + title + "&referrer=" + referrer + "&clientid=" + clientid + "&withoutparam=" + withoutparam + "'>")
    }());
    </script>
    

    9行目を「var withoutparam="true";」とすることでパラメータを取り除く設定が有効になります。

    POINT

    • 2014年7月リリースのSynergy!LEADのバージョン「2.8」より「var withoutparam="true"」が標準設定となっております。
    • 2014年9月リリースのSynergy!LEADのバージョン「2.10」より、トラッキングコードが変更となりました。
    • 2015年8月17日より、トラッキングコードが変更となりました。

2. トラッキングコードの設定では取り除くことができないパラメータへの対応

#(シャープ)によるパラメータは、Webページ内につけることができる目印(アンカー)で「どの部分を参照したのか」という有用な情報となるため、取り除く対象からは除外しています。このパラメータも取り除きたい場合にはトラッキングコードの修正が必要です。
以下は、#(シャープ)のパラメータも取り除くためのサンプルコードです。

<script language="JavaScript" type="text/javascript">
(function(){
    var url=document.location.href.split(/#/,1); // Page URL
    var title=document.title;       // Page TITLE
    var referrer=document.referrer; // Referrer
    var withoutparam=true;          // Without URL parameter (true or false)

    var ver="201",cid="お客様のAPIクライアントID",host="f.msgs.jp",requri="//"+host+"/t/t.js";
    var enc=function(str){return encodeURIComponent(str).replace(/[!*'()]/g, function(p){return "%" + p.charCodeAt(0).toString(16);});};
    var elm=document.createElement("script"),hd=document.getElementsByTagName("script")[0],now=(1 * new Date());
    elm.src=requri+"?ci="+enc(cid)+"&ht="+enc(host)+"&url="+enc(url)+"&ttl="+enc(title)+"&ref="+enc(referrer)+"&wp="+enc(withoutparam)+"&ver="+enc(ver)+"&now="+now;
    if(window.__s_lead_already_tracked != true){ elm.async=1,hd.parentNode.insertBefore(elm,hd); }
    window.__s_lead_already_tracked=true;
})();
</script>

2015年8月17日以降のトラッキングコードでは、3行目の「document.location.href」の部分に「.split(/#/,1)」という記述を追加します。

 <script language="JavaScript" type="text/javascript">
(function(url,ttl,ref,wp){
   var doc=document,tag="script",enc=encodeURIComponent,ht="f.msgs.jp",ci="[お客様のクライアントIDを暗号化したもの]",req="//"+ht+"/t/t.js";
   var encrep=function(str){return enc(str).replace(/'/g, function(p){return "%" + p.charCodeAt(0).toString(16);});};
   var ec=encrep(ci),eh=enc(ht),eu=encrep(url),et=encrep(ttl),er=encrep(ref),ew=encrep(wp),elm=doc.createElement(tag),hd=doc.getElementsByTagName(tag)[0];
   elm.async=1;elm.src=req+"?ci="+ec+"&ht="+eh+"&url="+eu+"&ttl="+et+"&ref="+er+"&wp="+ew;hd.parentNode.insertBefore(elm,hd);
 
})(document.location.href.split(/#/,1), document.title, document.referrer, true);
</script>

バージョン「2.10」以降のトラッキングコードでは、8行目の「document.location.href」の部分に「.split(/#/,1)」という記述を追加します。

 <script language="JavaScript" type="text/javascript">
(function(){
  if(location.protocol == "https:") { var protocol = "https:"} else { var protocol = "http:"};
  var host = "f.msgs.jp";
  var url=encodeURIComponent(document.location.href.split(/#/,1));
  var title=encodeURIComponent(document.title);
  var referrer=encodeURIComponent(document.referrer);
  var clientid="お客様のAPIクライアントID";
  var withoutparam="true"; /* edit false or true. */
  document.write("<img width=0 height=0 border=0 src='"+protocol + "//" + host + "/t/dummy.gif?url=" + url + "&title=" + title + "&referrer=" + referrer + "&clientid=" + clientid + "&withoutparam=" + withoutparam + "'>")
}());
</script>

旧トラッキングコードでは、5行目の「document.location.href」の部分に「.split(/#/,1)」という記述を追加します。

留意点

  • 過去に別々のキャンペーンとして作成されてしまっている場合は、1つのキャンペーンに集約することはできません。

メール配信

フォーム作成

Salesforce

仕様

ページのトップへ戻る