1. 計測タグに使用しているjqueryが使用できない時の回避策

計測タグに使用しているjqueryが使用できない時の回避策

2024.12.17 更新
Text=kintsuba
■目的
広告運用において計測タグに使用しているjqueryが原因で広告の審査に影響が出てしまうことを回避できます

■セット所要時間
10分

■セットの流れ
LP計測の際に設置するトラッキングコードは使用せず、以下のトラッキングコードを使用します。
こちらはjqueryを使用せずに作られたコードになります。

設置方法につきましては下記を参照してください。
広告リストのLPクリック数、LCV(友だち登録数)の設定>

★①には管理画面に使用されているURLのサブドメイン部分を指定して下さい。
例)https://demo.ecai.jp/ですとdemoの部分

★②にはLPからの計測に記載されている友だち登録のURLを指定して下さい。

〈設置するトラッキングコード〉
※</body>の閉じタグの直上に設置
<script>
    var cookiedomain = getDomain(document.domain);
    var paramobj = {};

    // クエリパラメータから `ecaiad` を取得し、Cookieに設定
    if (typeof getParam('ecaiad') !== 'undefined') {
      document.cookie = 'ecaiad=' + getParam('ecaiad');
    }

    // Cookieを配列として取得
    var arr = getCookieArray();

    document.addEventListener('DOMContentLoaded', function () {
      // クエリパラメータのチェックとオブジェクトの作成
      if (getParam('ecaiad')) paramobj['ecaiad'] = getParam('ecaiad');
      if (getParam('tcd')) paramobj['tcd'] = getParam('tcd');
      if (getParam('ccid')) paramobj['ccid'] = getParam('ccid');
      if (getParam('coid')) paramobj['coid'] = getParam('coid');
      if (getParam('csid')) paramobj['csid'] = getParam('csid');

      // HTML要素 #cv の値を取得
      var cvElement = document.getElementById('cv');
      if (cvElement) {
        paramobj['cv'] = cvElement.getAttribute('value');
      }

      // 現在のURLを取得
      if (window.location.href) {
        paramobj['url'] = window.location.href;
      }

      // パラメータオブジェクトが存在する場合、クエリ文字列を作成
      if (Object.keys(paramobj).length > 0) {
        var query = '?' + Object.entries(paramobj).map(function (e) {
          return `${e[0]}=${e[1]}`;
        }).join('&');

        // 外部スクリプトの読み込み
        var script = document.createElement('script');
        script.src = "https://★①.ecai.jp/aclog" + query;
        document.head.appendChild(script);
      }
    });

    // URLから指定されたクエリパラメータを取得
    function getParam(name, url) {
      if (!url) url = window.location.href;
      name = name.replace(/[\[\]]/g, "\\$&");
      var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
      if (!results) return null;
      if (!results[2]) return '';
      return decodeURIComponent(results[2].replace(/\+/g, " "));
    }

    // ドメイン名を抽出
    function getDomain(url) {
      var arr_uri = url.match(/^(.*?)([a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})[\:[0-9]*]?([\/].*?)?$/i);
      return arr_uri[2];
    }

    // Cookieを配列形式で取得
    function getCookieArray() {
      var arr = {};
      if (document.cookie !== '') {
        var tmp = document.cookie.split('; ');
        for (var i = 0; i < tmp.length; i++) {
          var data = tmp[i].split('=');
          arr[data[0]] = decodeURIComponent(data[1]);
        }
      }
      return arr;
    }


    // URLSearchParams を使ってクエリパラメータを取得
    var params = (new URL(document.location)).searchParams;
    var adCode = params.get("ecaiad");
    var url = "★②";

    // adCode が存在する場合、リンクを更新
    if (adCode) {
        // 指定された href を持つすべての <a> 要素を取得
        var targets = document.querySelectorAll("a[href='" + url + "']");
        for (var i = 0; i < targets.length; i++) {
            targets[i].href = url + adCode; // href を更新
        }
    }
  </script>
ご希望通りのセッティングができましたか?

0人中0人がセッティングができたと言っています。

このマニュアルの作成者は kintsuba です。

こちらのマニュアルで希望のセッティングが出来なかった
際は、下記のどちらかでお問い合わせください。

フリープランの方はこちら
LINE公式アカウント機能拡張プラン、
オートコールセンタープランの方はこちら