フォーム入力ページ到達後、入力を途中でやめ その後訪れたページにアンケートを設置

#1 フォーム入力ページアクセス、入力イベントcookie設定

タグ -> カスタムHTMLにて以下のコード貼り付け、トリガーはページビューで設定。

“accessPage”箇所のキー 、”formPage”箇所のバリューは任意の値に変更します。

<script>

function formInputEvent( event )

{

    // -----------------------------

    var cookieKeyName = "accessPage";

    var cookieMaxAge  = "1800";

    var cookiePath    = "/";

    // -----------------------------

    var cookieValue    = "formPage";

    // -----------------------------




    if (navigator.cookieEnabled)

    {

        if ( getCookie( cookieKeyName ) === null )

        {

            document.cookie = cookieKeyName + "=" + cookieValue + "; Max-Age=" + cookieMaxAge + "; Path=" + cookiePath;

        }

    }

}

function getCookie( name )

{

    var match = document.cookie.match(RegExp('(?:^|;\\s*)' + name + '=([^;]*)'));

    return match ? match[1] : null;

}

function registAPFormEvents()

{

    var inputElements = document.querySelectorAll("form input")

    for( var index = 0; index < inputElements.length; index++ )

    {

        inputElements[index].addEventListener("input", formInputEvent, {once: true});

    }

}
registAPFormEvents();

</script>

#2 無料トライアル完了イベントcookie設定

CVユーザーにアンケートを設置しないためのCVユーザーを把握するcookie設定。

タグ -> カスタムHTMLにて以下のコード貼り付け、トリガーはCV完了ページ(サンクスページ)のページビューを設定。

<script>

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

{

    document.cookie = "finishForm=freeTrialThanks; Max-Age=1800; path=/";

}

</script>

#3 離脱後訪れたページにアンケート設定

<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 accessPage = arr['accessPage'];

    var finishForm = arr['finishForm'];

    console.log(accessPage);

    console.log(finishForm);




    if (accessPage==="formPage") {

        if (finishForm==="freeTrialThanks") {

            // 処理なし

        }else{

            window._mfq = window._mfq || [];

            window._mfq.push(['activateFeedback', '6Y2kygUDBk6JXJDp9WDuWg']);

        }

    }else{

        // 処理なし

    }

</script>

 

#3 記載コード内の ’activateFeedback’, ‘6Y2kygUDBk6JXJDp9WDuWg’ 箇所には、フィードバック機能 -> トリガー -> 表示タイミング -> カスタム設定選択にて表示されるコードを入力します。GTMのトリガーで指定したページにフィードバック機能で作成したアンケートが表示されます。