Ninja Formsで完了ページを別途作ってないけどGoogle Analyticsでコンバージョンが取りたい。
どのフォームからかに加えて、どのタイプに申し込んだかも取れるようにしたい。
基本的な設定方法
大まかな流れ
- 送信(nhFormSubmitResponseイベントの発火)時にjQueryデータレイヤーにイベントとパラメータを送信するタグを作成、トリガーは全ページ
- 上記のタグでデータレイヤーに発信されたイベント「ninjaFormSubmission」発火を検知してアナリティクスにイベントを送信するタグを追加
- そのタグのラベル部分でフォームIDなどを渡すことで判別可能に
- アナリティクス側では受け取ったイベントのフォームIDなどで目標を振り分け
フォームID以外の情報を渡す
nfFormSubmitResponseのコールバック関数の引数responseの中にはフォーム送信データがごっそり入っているので、response.response.data.fields_by_key を使えば幸せになれる。
Ninja Formsで「business-type」というフィールドキーを設定したフィールドの値を、BusinessTypeというデータレイヤー変数に渡すようにした。カスタムJSは以下のような形。
<script>
jQuery(document).ready( function() {
jQuery(document).on('nfFormSubmitResponse', function(event, response, id) {
dataLayer.push ({
'event' : 'ninjaFormSubmission',
'NFformID' : response.id,
'BusinessType' : response.response.data.fields_by_key['business-type'].value
});
});
});
</script>
うっかりフィールドキーにハイフンを使っていたためドットシンタックスで指定できなくて躓いた。
著者について