ContactForm7で送信後サンクスページを表示させる2つの方法

方法A functions.phpにアクションフック追加

①サンクスページを作る

フォーム送信後リダイレクトされるサンクスページを固定ページに作成しましょう。

②functions.phpにコードを追加する

add_action( 'wp_footer', 'add_origin_thanks_page' );
function add_origin_thanks_page() {
	echo <<< EOC
	<script>
	var thanksPage = {
		フォームのID: 'サンクスページのスラッグ'
	};
	document.addEventListener( 'wpcf7mailsent', function( event ) {
		location = thanksPage[event.detail.contactFormId];
	}, false );
	</script>
	EOC;
}

※<フォームID>はフォームの一覧のショートコード部で確認できます。
※ページ名は固定ページのスラッグ(/thanks等)に合わせてください。
※テーマによってはWordPress管理画面からfunctions.phpを編集できない場合があります。

③header.phpにイベントスニペットを設置する

<head></head>内にサンクスページの場合のみイベントスニペットを表示するようにします。

<?php if( is_page('サンクスページのID') ) : ?>
<!-- Event snippet for 申込み conversion page -->
<script>
  gtag('event', 'conversion', {'send_to': 'AW-*********/********************'});
</script>
<?php endif; ?>

※イベントスニペットはGoogle広告画面にて取得できます。
※※header.phpを編集できない場合は固定ページ内に設置してみてください。

方法B 問い合わせフォーム内にコード追加

①問い合わせフォーム内にスクリプトを設置

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
   location = 'サンクスページのスラッグ';
}, false );
</script>

※最下部に設置してください。

②header.phpにイベントスニペットを設置する

<?php if( is_page('サンクスページのID') ) : ?>
<!-- Event snippet for 申込み conversion page -->
<script>
  gtag('event', 'conversion', {'send_to': 'AW-*********/********************'});
</script>
<?php endif; ?>

※header.phpを編集できない場合は固定ページ内に設置してみてください。

執筆者情報

田所雄介

田所雄介

Web制作事務所タドワークス代表。Webマーケティングをベースにしたコンテンツ設計からWeb開発まで、幅広い実践的スキルを持つジェネラリスト。
https://tadworks.jp/