【トラブル】スクロール率100%のゴールが機能していない


カスタムCVゴールを設定することで、任意の%のスクロールゴールを計測することが出来ます。

しかし、ユーザーが使用しているデバイスの画面サイズによっては、100%のゴールが発火しない場合が稀にございます。


ページを最後までスクロールしてもスクロール率100%のゴールが発火しない場合は、設定しているスクロールゴールを下記のコードに差し替えてお試しください。


var rawTgtReadingRate = [20,75,100]; // ここに計測したいスクロール率を0~100で入力してください。左記だと、20%,75%,100%のスクロール到達が計測できます。い。


  var lastReachedTgt;

  var conditions = {

    docHeight : 1,

    winHeight : 0,

    scrollTop : 0,

    readingRate : 0,

    update : function(){

      this.docHeight = $(document).height();

      this.winHeight = $(window).height();

      this.scrollTop = $(window).scrollTop();

      this.readingRate = Math.round((this.scrollTop + this.winHeight) * 100 / this.docHeight);

    }

  };

  var intent = function(readingRate){

    //以下、必要な計測数値に応じてご調整ください。例として、25%,75%,100%を計測する場合のコードを下記に記述しています。


    /* スクロール率25% */

    if(readingRate == 25) {

          /* 該当のカスタムコンバージョンタグを挿入してください */

    }

    /* スクロール率75% */

    if(readingRate == 75) {

        /* 該当のカスタムコンバージョンタグを挿入してください */

    }

    /* スクロール率100% */

    if(readingRate == 100) {

       /* 該当のカスタムコンバージョンタグを挿入してください */

    }

    $(window).trigger('scrollEvt', readingRate);

  };


  var timerId;

  var checkConditions = function(){

    if(typeof(timerId) !== 'undefined'){

      clearInterval(timerId);

    }

    conditions.update();

    if(conditions.readingRate >= tgtReadingRate[0]){

      lastReachedTgt = tgtReadingRate.shift();

      intent(lastReachedTgt);

    }

    if(tgtReadingRate.length){

      timerId = setInterval(checkConditions, 300);

    }

  };


  var tgtReadingRate = [];

  for(var i=0,len=rawTgtReadingRate.length;i<len;i++){

    if(rawTgtReadingRate[i]>0 && rawTgtReadingRate[i]<=100){

      tgtReadingRate.push(rawTgtReadingRate[i]);

    }

  }

  tgtReadingRate.sort(function(a,b){return a - b;});


  if(Number($.fn.jquery.match(/\d+\.\d+/)[0])>=1.7){

    $(window).on('load', checkConditions);

  }else{

    if(window.addEventListener){

      window.addEventListener('load', checkConditions);

    }else if(window.attachEvent){

      window.attachEvent('onload', checkConditions);

    }

  } 

上記お試しいただき、それでも解決しない場合はサポートまでお問合せください。


宜しくお願い致します。