つかみで失敗している記事にCustom-Flictionを設定

記事において、見出し(h1)と導入文までは閲覧したものの、次の中見出し(h2)には到達せずに離脱した=つかみで失敗したユーザーにフリクションイベントを設定します。

#1-1 Cookie付与のタグを作成

Cookieを有効にしている場合、1800秒(30分)の間 Cookieを付与しています。

<script>

if (navigator.cookieEnabled)  // cookieが使えるか確認

{

    document.cookie = "secondview=watchNextHeadline; Max-Age=1800;";

}

</script>

#1-2 当該ページのセレクタでトリガー設定

#2 変数の設定

変数のタイプはカスタムJavaScriptを選択します。「.postBox」の中に”h2″要素が存在する場合には”YesH2″という文字列を返し、”h2″要素が存在しない場合には”NoH2″という文字列を返します。もし”.postBox”が存在しない場合は、”NoArticle”という文字列を返します。

<script>

    // 連想配列に格納

    function getCookieArray(){

        var arr = new Array();

        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;

    }

    // keyを指定して取得

    // 「 key1=val1; key2=val2; key3=val3; ・・・ 」というCookie情報が保存されているとする

    var arr = getCookieArray();

    var secondview = arr['secondview'];

    console.log(secondview);




    if (secondview==="watchNextHeadline") {

        // 処理なし

    }else{

      _mfq.push(["addFriction", "1","New_つかみに失敗(記事)"]);

    }

</script>

 

#3 カスタムイベントでトリガーの作成

トリガーのタイプはカスタムイベント、トリガーの発生場所は#2で作成した変数を指定します。※「記事ページにh2はありますか」は#2で作成した変数の名前です。

#4 フリクションの点数を定義するトリガーの作成

New_つかみに失敗(記事)がフリクションイベント名で任意で変更可能です。”1″の 数値箇所でこのフリクションの点数を定義しています。

<script>

    // 連想配列に格納

    function getCookieArray(){

        var arr = new Array();

        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;

    }

    // keyを指定して取得

    // 「 key1=val1; key2=val2; key3=val3; ・・・ 」というCookie情報が保存されているとする

    var arr = getCookieArray();

    var secondview = arr['secondview'];

    console.log(secondview);




    if (secondview==="watchNextHeadline") {

        // 処理なし

    }else{

      _mfq.push(["addFriction", "1","New_つかみに失敗(記事)"]);

    }

</script>

 

#5 カスタムイベントがレコーディングに反映

#6 ヒートマップ一覧ページにて記事の品質を評価