[何についてのお話?]
ajaxを使用し、1ページで完結するお問い合わせフォームを設置している場合に、Google Analytics等のコンバージョンをどのように取得するようにするかというお話です。
ajaxで実装する場合、javascript(jQuery)はだいたい以下のようになるかと思います。
[フォーム送信ボタン押下時に動かすスクリプトの例]
jQuery(document).ready(function ($) {
$('フォーム').submit(function () {
// 値のバリデート(省略)
if (バリデートNG) {
return false;
} else {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "mailpost.php", // メールを送信するPHP
data: str,
success: function (msg) {
①
},
error: function(msg) {
}
});
}
return false;
});
});
Google Analyticsのページトラッキング程度であれば、ajaxのsuccess(①の部分)に
_gaq.push(['_trackPageview','thanks.html']);
を記述すれば済みますが(gaqの初期化はheadで実施済みとします。)、
・Google AdWordsの検索やリマーケティング
・Yahoo!YDNの検索やリターゲティング
・Facebookの広告
等のコンバージョンを取得したい場合は、素直にthanks.htmlに遷移した方がシンプルです。
[解決策(案)]
解決策としては、ajaxのsuccessで<iframe src="thanks.html"...>を動的にお問い合わせフォームのページに追加してあげればうまく行きます。
(thanks.htmlには、最低限のHTMLと、Google AnalyticsやAdWords、Yahoo!YDN、Facebook等の必要なコードを記述します。)
最終的なコードは以下です。(バリデート等は省略します。)
[最終的なコード]
jQuery(document).ready(function ($) {
$('フォーム').submit(function () {
// 値のバリデート(省略)
if (バリデートNG) {
return false;
} else {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "mailpost.php", // メールを送信するPHP
data: str,
success: function (msg) {
$("追加したい要素(フォームのブロック等)").after('<iframe src="thanks.html" frameborder="0" scrolling="no" width="1" height="1"></iframe>'); //appendでも良いと思います。
},
error: function(msg) {
}
});
}
return false;
});
});
ajaxを使用し、1ページで完結するお問い合わせフォームを設置している場合に、Google Analytics等のコンバージョンをどのように取得するようにするかというお話です。
ajaxで実装する場合、javascript(jQuery)はだいたい以下のようになるかと思います。
[フォーム送信ボタン押下時に動かすスクリプトの例]
jQuery(document).ready(function ($) {
$('フォーム').submit(function () {
// 値のバリデート(省略)
if (バリデートNG) {
return false;
} else {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "mailpost.php", // メールを送信するPHP
data: str,
success: function (msg) {
①
},
error: function(msg) {
}
});
}
return false;
});
});
Google Analyticsのページトラッキング程度であれば、ajaxのsuccess(①の部分)に
_gaq.push(['_trackPageview','thanks.html']);
を記述すれば済みますが(gaqの初期化はheadで実施済みとします。)、
・Google AdWordsの検索やリマーケティング
・Yahoo!YDNの検索やリターゲティング
・Facebookの広告
等のコンバージョンを取得したい場合は、素直にthanks.htmlに遷移した方がシンプルです。
[解決策(案)]
解決策としては、ajaxのsuccessで<iframe src="thanks.html"...>を動的にお問い合わせフォームのページに追加してあげればうまく行きます。
(thanks.htmlには、最低限のHTMLと、Google AnalyticsやAdWords、Yahoo!YDN、Facebook等の必要なコードを記述します。)
最終的なコードは以下です。(バリデート等は省略します。)
[最終的なコード]
jQuery(document).ready(function ($) {
$('フォーム').submit(function () {
// 値のバリデート(省略)
if (バリデートNG) {
return false;
} else {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "mailpost.php", // メールを送信するPHP
data: str,
success: function (msg) {
$("追加したい要素(フォームのブロック等)").after('<iframe src="thanks.html" frameborder="0" scrolling="no" width="1" height="1"></iframe>'); //appendでも良いと思います。
},
error: function(msg) {
}
});
}
return false;
});
});
以上です。
コメント
コメントを投稿