こんにちは、連久実子です。
当サイトの中でも多くの方に読まれている上記の記事。プラグイン「Contact Form 7」が非常に多くの方に愛されていることがよくわかります。
ただ、2023年7月1日をもって、標準のユニバーサルアナリティクス版のGoogleアナリティクスでのデータ計測が終了となりますので、これに伴い上記の記事で解説した方法でのデータ計測もできなくなってしまいます。
そこで、GA4でContact Form 7のフォーム送信をコンバージョンとして計測する方法を紹介します。
他にもGA4でContact Form 7のフォーム送信をコンバージョンとして計測する方法を紹介しているブログをいくつか見つけたのですが、その多くはトリガーで「リンクのクリック」や「フォームの送信」を設定しているものでした。ただContact Form 7の公式サイトを確認するに、フォームが送信されてもメールの送信に失敗したりスパムのためメールを送信しないというケースもあるようで、こういった場合に「リンクのクリック」や「フォームの送信」ををトリガーとして設定していると正しく計測できるのかが定かではないことから、今回はContact Form 7の公式サイトで紹介されている方法をベースにしています。
一方Contact Form 7の公式サイトで紹介されている方法も、「ソースコードの記述がGA4で推奨しているイベントトラッキングの記述方法と異なる」「複数のフォームを設置している場合に対応できない」といった懸念点があります。
ちなみに、GA4で推奨しているイベントトラッキングのための記述方法は下記のページに記載されています。
ですので、今回は下記の点に重きをおいた計測方法を考えてみました。
- Contact Form 7の公式サイトで紹介されている方法がベース
- GA4で推奨しているイベントトラッキングのための記述方法を採用
- 複数のフォームを設置している場合にも対応可能
イベントトラッキングの設定
まずはContact Form 7のフォーム送信をイベントデータとしてGoogleアナリティクスに送信するための設定を行います。Googleアナリティクスのトラッキングコードを<head>に直書きしている場合と、GTMを使っている場合で、方法が異なりますのでご注意ください。
Googleアナリティクスのトラッキングコードを<head>に直書きしている場合のイベントトラッキング方法
「テーマのための関数(functions.php)」ファイルを開く
WordPressのダッシュボード > 外観 > テーマの編集 で「テーマのための関数(functions.php)」を選択します。
下記のソースコードを追記
「テーマのための関数(functions.php)」に次のようにソースコードを追記します。
// Code from https://shuhu-marketing.com/web-marketing/google-analytics/tracking-contactform7-ga4/
add_action( 'wp_footer', function () { //<footer>内で実行します
?>
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
if ( '1' == event.detail.contactFormId ) { //contactform7のidが1の場合のみ
gtag('event', 'generate_lead', { 'wpcf7_type': 'お問い合わせ'});
}
else if ( '2' == event.detail.contactFormId ) { //contactform7のidが2の場合のみ
gtag('event', 'generate_lead', { 'wpcf7_type': 'テストフォーム'});
}
else { //上記以外のフォームの場合
gtag('event', 'generate_lead', { 'wpcf7_type': 'その他のフォーム'});
}
});
</script>
<?php
}, 10, 0 );
6行目の「1」や9行目の「2」は、計測したいフォームのIDを入力します。IDを調べたい場合には、WordPressのダッシュボード > お問い合わせ > コンタクトフォーム から該当フォームのIDをご確認ください。
また、7行目の「お問い合わせ」や10行目の「テストフォーム」は、計測したいフォームのタイトルを入力します。タイトルを調べたい場合には、同じくWordPressのダッシュボード > お問い合わせ > コンタクトフォーム から該当フォームのタイトルをご確認ください。
設置されているフォームがひとつの場合は、9〜11行目を削除したソースコードを「テーマのための関数(functions.php)」に追記すれば大丈夫です。
追記ができたら「ファイルを更新」ボタンを押してください。これで、完了です。
Googleタグマネージャ(GTM)を使っている場合のイベントトラッキング方法
「テーマのための関数(functions.php)」ファイルでソースコードを追記
トラッキングコードの直書きの場合と同じように、 WordPressのダッシュボード > 外観 > テーマの編集 で「テーマのための関数(functions.php)」を選択し、次のようにソースコードを追記します。
// Code from https://shuhu-marketing.com/web-marketing/google-analytics/tracking-contactform7-ga4/
add_action( 'wp_footer', function () { //<footer>内で実行します
?>
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
if ( '1' == event.detail.contactFormId ) { //contactform7のidが1の場合のみ
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'wpcf7_submission', 'wpcf7_type': 'お問い合わせ' });
}
else if ( '2' == event.detail.contactFormId ) { //contactform7のidが2の場合のみ
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'wpcf7_submission', 'wpcf7_type': 'テストフォーム' });
}
else { //上記以外のフォームの場合
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'wpcf7_submission', 'wpcf7_type': 'その他のフォーム' });
}
});
</script>
<?php
}, 10, 0 );
6行目の「1」や10行目の「2」は、計測したいフォームのIDを入力します。IDを調べたい場合には、WordPressのダッシュボード > お問い合わせ > コンタクトフォーム から該当フォームのIDをご確認ください。
また、8行目の「お問い合わせ」や12行目の「テストフォーム」は、計測したいフォームのタイトルを入力します。タイトルを調べたい場合には、同じくWordPressのダッシュボード > お問い合わせ > コンタクトフォーム から該当フォームのタイトルをご確認ください。
設置されているフォームがひとつの場合は、10〜13行目を削除したソースコードを「テーマのための関数(functions.php)」に追記すれば大丈夫です。
追記ができたら「ファイルを更新」ボタンを押してください。
変数の設定
先程「テーマのための関数(functions.php)」ファイルに追記したソースコード内の変数名を定義します。
Googleタグマネージャの管理画面 > ワークスペース > 変数 > ユーザー定義変数 を開いて、「event」「wpcf7_type」について、それぞれ下記のように設定してください。
名前 | event |
---|---|
変数の種類 | カスタムイベント |
名前 | wpcf7_type |
---|---|
変数の種類 | データレイヤーの変数 |
データレイヤーの変数名 | wpcf7_type |
設定できたら、それぞれ保存ボタンを押して保存してください。
タグの設定
Googleタグマネージャの管理画面 > ワークスペース > タグ と進み、新規ボタンをクリックして、下記のように新規タグを作成してください。
名前 | GA4_EV_お問い合わせ |
---|---|
タグの種類 | Googleアナリティクス:GA4イベント |
イベント名 | generate_lead |
パラメータ名 | wpcf7_type |
値 | {{wpcf7_type}} |
トリガーの設定
上の設定が出来たら、同じ画面でトリガーを設定しましょう。
名前 | フォーム送信(GA4) |
---|---|
トリガーのタイプ | カスタムイベント |
イベント名 | wpcf7_submission |
このトリガーの発生場所 | 全てのカスタムイベント |
この設定までできたら「保存ボタン」をクリックしたあと、設定内容を公開してください。
プレビュー画面を確認して、下記の画面のように「wpcf7_submission」イベントのタイミングで「GA4_EV_お問い合わせ」タグが発火していたら、正しく設定ができています。
これで、完了です。
コンバージョンの設定
次に、Contact Form 7のフォーム送信を、Googleアナリティクスにてコンバージョンとして計測させるための設定を行います。この設定は、Googleアナリティクスのトラッキングコードを<head>に直書きしている場合も、GTMを使っている場合も同じ手順です。
コンバージョンイベントの定義
Googleアナリティクスの左メニュー > 設定 > コンバージョン と進み、新しいコンバージョンイベントボタンをクリックして、新しいイベント名に「generate_lead」と記入して保存ボタンを押してください。
正しく設定できていれば、DebugViewにて下記のように、黄緑アイコンの「generate_lead」が確認できます。
カスタムディメンションの定義
コンバージョンレポートでフォームの種類が識別できるよう、カスタムディメンションも設定しておきましょう。
Googleアナリティクスの左メニュー > 設定 > カスタム定義 と進み、カスタムディメンションを作成ボタンをクリックして、下記のように設定してください。
カスタムディメンション名 | フォームの種類 |
---|---|
範囲 | イベント |
イベントパラメータ | wpcf7_type |
この設定までできたら「保存」をクリックしてください。これで、完了です。
コンバージョンの確認方法
Googleアナリティクスの左メニュー > レポート > ライフサイクル > エンゲージメント > コンバージョン と進むと、コンバージョンレポートを確認することができます。
ディメンション列の右側の「+」マークをクリックし、カスタムタブから「フォームの種類」を選択すると、フォームの種類ごとの送信件数を確認することができます。
上の動画みたいに技名で紹介しようと思ったんですが、複雑すぎて一撃必殺できませんでした…Web解析担当が使える必殺技募集中。
コメント