Contact Form 7で送信元のURL(参照元)を取得・保存する方法を解説

PR

本ページはプロモーションが含まれています。

記事の内容は以下の3つの手法です。

1. functions.phpと隠しフィールドを使う方法(推奨)

最も一般的で、メールに送信元URLを直接記載できる方法です。

  • 手順1: テーマの functions.php に専用のPHPコードを追加し、リファラー(前のページのURL)を取得する処理を記述します。
  • 手順2: CF7のフォーム編集画面で、隠しフィールド [hidden referer-page default:get] を追加します。
  • 手順3: メール設定の本文に [referer-page] タグを挿入します。これで、届くメールに送信元のURLが記載されます。

2. 特殊メールタグ [_url] を使う方法

  • CF7に標準で備わっているタグですが、これは「フォームが設置されているページのURL」を取得するものです。
  • 「どのページから飛んできたか」ではなく「どのページのフォームから送られたか」を知りたい場合に有効です。

3. Google Analytics (GA4) 等の分析ツールとの連携

  • より高度な分析(どの広告やSNSから来たか等)を行いたい場合の方法です。
  • CF7の送信イベントをGA4でトラッキングする設定や、JavaScriptを用いたイベント送信について触れています。

まとめ

記事では、単に「どこから来たか」をメールで知りたいだけであれば、1番の「functions.php」を利用する方法を推奨しています。また、ブラウザのプライバシー設定(Referrer-Policy)によってはURLが取得できないケースがあるといった注意点も補足しています。

functions.php を使用してリファラーURLを隠しフィールドで取得する

これが最も一般的で推奨される方法です。

手順:

  1. テーマの functions.php ファイルにコードを追加: WordPress の管理画面から「外観」→「テーマファイルエディター」を選択し、functions.php を開きます。または、FTPなどで直接ファイルを編集します。以下のコードを functions.php の最後に追加します。
function getRefererPage( $form_tag ) {
    if (isset($_SERVER['HTTP_REFERER']) && $form_tag['name'] == 'referer-page' ) {
        $form_tag['values'][] = htmlspecialchars($_SERVER['HTTP_REFERER']);
    }
    return $form_tag;
}
if ( ! is_admin() ) {
    add_filter( 'wpcf7_form_tag', 'getRefererPage' );
}
  • htmlspecialchars($_SERVER['HTTP_REFERER']) は、前のページのURL(リファラー)を取得し、HTMLエンティティに変換して安全に利用できるようにします。
  • isset($_SERVER['HTTP_REFERER']) を追加することで、リファラー情報がない場合にPHPエラーが発生するのを防ぎます。

Contact Form 7 のフォームに隠しフィールドを追加: WordPress の管理画面から「お問い合わせ」→「コンタクトフォーム」を選択し、編集したいフォームを開きます。

フォーム編集画面の「フォーム」タブに、以下の隠しフィールドを追加します。

[hidden referer-page default:get]
    • referer-page は、functions.php で設定した $form_tag['name'] と同じにする必要があります。
  1. メール設定にリファラーURLを追加: フォーム編集画面の「メール」タブを開きます。「メッセージ本文」の好きな場所に、リファラーURLを表示するためのタグを追加します。流入元ページ: [referer-page]

これで、フォームが送信されると、送信元(一つ前のページ)のURLがメールで通知されるようになります。

Contact Form 7 の特殊メールタグ [_url] を使用する

CF7には、フォームが設置されているページのURLを取得する特殊メールタグ [_url] があります。これは流入元ではなく、フォームがあるページのURLになります。

  • 「メール」タブで利用: メッセージ本文などに [_url] を追加するだけで、フォームが設置されているページのURLが送信されます。フォーム設置ページ: [_url] ただし、これはユーザーがフォームに到達する前に訪れたページを知る目的には適していません。ユーザーが別のページからフォームページに遷移してきた場合、その「流入元」は取得できません。

Google Analytics などの分析ツールと連携する

より高度な流入経路分析を行う場合は、Google Analytics などのアクセス解析ツールと連携するのが最も効果的です。

  1. Google Analytics の設定:
    • Google Analytics の設定を行い、ウェブサイトにトラッキングコードを埋め込みます。
    • 目標設定で、CF7 のフォーム送信を目標として設定します。
    • これにより、フォーム送信がどのチャネル(オーガニック検索、SNS、広告など)から発生したか、どのページからの流入かなどを詳細に分析できます。
  2. CF7とGAの連携(イベントトラッキング): CF7 のフォーム送信時に、Google Analytics のイベントを送信するように設定できます。これにより、どのフォームが送信されたか、その時のページURLなどを細かく追跡できます。Contact Form 7 の設定で、追加の設定に以下のJavaScriptコードを追加することができます。
on_sent_ok: "gtag('event', 'form_submission', {'event_category': 'Contact Form', 'event_label': 'My Form Name', 'value': 1});"
    • gtag はGoogle Analytics 4 (GA4) の場合。Universal Analytics (UA) の場合は ga を使用します。
    • 'form_submission' はイベント名です。
    • 'event_category', 'event_label' などは自由に設定できます。
    この方法でイベントを送信すれば、Google Analytics のレポートで、フォーム送信時の流入経路やその他のユーザー行動を詳細に把握できます。

補足:リファラー情報とプライバシー

$_SERVER['HTTP_REFERER'] は、ブラウザから送信されるリファラー情報に依存します。ユーザーのプライバシー設定やブラウザの機能によっては、この情報が送信されない場合や、限定的な情報しか送信されない場合があります(例: Referrer-Policyno-referrersame-origin に設定されている場合)。

そのため、完全にすべての流入元を把握することは難しい場合があることを理解しておく必要があります。より確実な分析のためには、Google Analyticsなどのツールとの連携が推奨されます。

リファラー分析の基本

ウェブサイトのリファラー分析は、ユーザーがどこからあなたのサイトにアクセスしてきたかを理解するための重要な手法です。これにより、どのチャネルからの流入が効果的で、どのチャネルを改善すべきかが見えてきます。

なぜリファラー分析が重要なのか?

リファラー情報を分析することで、以下のようなメリットが得られます。

  • マーケティング施策の評価: どの広告、SNS投稿、SEO施策が効果的にユーザーを呼び込んでいるかを把握できます。
  • コンテンツの最適化: ユーザーがどのようなキーワードや外部サイトから流入しているかを知ることで、コンテンツ戦略を調整し、より関心のある情報を提供できます。
  • パートナーシップの機会発見: 多くのトラフィックを送ってくれる外部サイトを見つけることで、協力関係を築く機会を発見できます。
  • 不正なトラフィックの特定: 不審なリファラーからのアクセスを特定し、分析の精度を高めたり、セキュリティ対策を講じたりできます。

主要なリファラーの種類

一般的なリファラーの種類には以下のようなものがあります。

  • オーガニック検索: Google, Bing, Yahoo!などの検索エンジンからのアクセスです。SEO対策の効果を測る上で重要です。
  • ソーシャルメディア: Facebook, X (旧Twitter), Instagram, LINEなどのSNSからのアクセスです。SNSマーケティングの効果を測ります。
  • 参照元サイト: 他のウェブサイトからのリンク経由のアクセスです。ブログ、ニュースサイト、アフィリエイトサイトなどが含まれます。
  • ダイレクトアクセス: ブックマークやお気に入りからのアクセス、URLを直接入力したアクセスなど、リファラー情報がない(または取得できない)アクセスです。
  • メール: メールマガジンや個人的なメールからのアクセスです。
  • 広告: リスティング広告、ディスプレイ広告などの有料広告からのアクセスです。

リファラー分析の具体的な進め方

ほとんどのウェブサイト分析ツール(例: Google Analytics)でリファラー情報を確認できます。

  1. データの収集: ウェブサイトにアクセス解析ツールを導入し、リファラー情報を自動的に収集します。
  2. レポートの確認: ツール内で「集客」や「参照元/メディア」といったセクションにアクセスし、リファラーレポートを確認します。
  3. 主要なリファラーの特定: アクセス数が多いリファラーや、目標達成に貢献しているリファラー(コンバージョン率が高いリファラー)を特定します。
  4. 詳細な分析:
    • 特定のチャネル深掘り: 例えば、ソーシャルメディアからの流入が多い場合、どのプラットフォームからの流入が多いか、どのような投稿が効果的だったかなどをさらに分析します。
    • 行動分析: 各リファラーからのユーザーが、サイト内でどのような行動を取っているか(滞在時間、閲覧ページ数、直帰率など)を比較します。
    • コンバージョンへの貢献度: 各リファラーが、問い合わせ、購入、資料ダウンロードなどの最終目標にどれだけ貢献しているかを評価します。
  5. 施策への反映: 分析結果を元に、マーケティング戦略やコンテンツ戦略を調整します。例えば、効果的なリファラーからの流入をさらに増やす施策を講じたり、流入の少ないリファラーの改善策を検討したりします。

リファラー分析は、ウェブサイトのパフォーマンスを向上させるための強力なツールです。定期的に分析を行い、サイト改善に役立てましょう。

WordPressテーマのお問い合わせフォームカスタマイズ

「コンタクトフォームのカスタマイズのしやすさ(特にデザインの親和性や設定の容易さ)」で選ぶなら、以下の2つが特におすすめです。

1. THE THOR(ザ・トール)

もっとも「手間なく、綺麗に」カスタマイズできるのがこのテーマです。

  • 理由: 多くのテーマが「Contact Form 7」などの外部プラグインに依存する中、THE THORは標準でお問い合わせフォーム機能を内蔵しています。
  • カスタマイズの利点: プラグインなしで、デザインの整ったフォームが最初から用意されている。
    • 管理画面(カスタマイザー)から、色や入力項目を直感的に変更できる。
    • テーマ全体のデザインシステムと完全に同期しているため、CSSを書かなくても「サイトに馴染むフォーム」が即座に完成します。

THE THOR(ザ・トール)

 

2. AFFINGER(アフィンガー)

「ビジネス的な戦略」を持ってフォームをいじりたい場合に最強です。

  • 理由: AFFINGERは稼ぐことに特化したテーマであり、専用のプラグイン「STINGERお問い合わせ(別売)」や、定番プラグインとの連携機能が非常に強力です。
  • カスタマイズの利点:
    • デザインの柔軟性: パーツ(ボタンや入力欄)の装飾オプションが豊富で、クリックしたくなるフォームを作り込みやすい。
    • 動線作り: フォームの前後にバナーやボタンを配置する機能が充実しており、マーケティング視点でのカスタマイズが容易です。
    • ユーザーガイドが非常に充実しているため、高度なカスタマイズ方法も見つけやすいです。

AFFINGER(アフィンガー)