ワードプレス(WordPress)

【WordPress】ContactForm7で「どの商品ページからの問い合わせか」のURLを自動でメールに記載する方法

この記事は約7分で読めます。

ワードプレスの自動返信をカスタマイズWordPressで商品紹介サイトやECサイトを運営している方、特にContact Form 7を愛用している方にぜひ知ってほしい「ちょっとした工夫」をご紹介します。
それは、問い合わせしたページのタイトルとURLを自動的に返信メールに記載する方法です。この設定をしておけば、どのページにフォームを設置しても大丈夫です。

ContactForm7でページタイトルとURLを自動でメールに記載する方法

標準設定のままだとページタイトルがわかりません

商品紹介ページごとに「お問い合わせフォーム」を設置している場合、こんな問題に直面したことはありませんか?

  • 訪問者:「Aという商品」のページを見て、そのままフォームから質問を送信した。(当然、Aについての質問だと思っている)
  • 店舗側:「お問い合わせがありました」という通知メールが届く。しかし、どの商品ページから送られたのかが書かれておらず、「お客様、どの商品についてのお問い合わせでしょうか?」と聞き返さなければならない…。

この非効率なやり取りは、お客様に手間をかけさせてしまうだけでなく、店舗側の対応コストも増やしてしまいます。

実はこれ、Contact Form 7の標準機能である「特別なメールタグ」を使うだけで、一瞬で解決できます。

解決策は「特別なメールタグ」の活用

メールのタグ

Contact Form 7には、フォームが設置されたページの情報を自動的に取得し、メール本文に差し込むことができる「特別なメールタグ」という機能が備わっています。

これを使えば、「どのページのフォームから送信されたか」を店舗側の受信メールに自動で記載させることができます。

今回使用するタグは、ずばりこれです。

  • [_post_title] : フォームが設置されているページのタイトル(商品名など)を取得します。

📝 具体的な設定方法

設定は非常に簡単です。

  1. WordPressのダッシュボードから「お問い合わせ」>「コンタクトフォーム」と進みます。
  2. 商品ページで使用している共通のフォームの「編集」をクリックします。
  3. メール」タブを開きます。(※「フォーム」タブではないので注意してください)
  4. 店舗(管理者)側が受け取る方のメール設定(通常は「メール(1)」)を見つけます。
  5. 「メッセージ本文」の欄に、先ほどのタグ [_post_title] を追記します。

設定例:

【Before】よくある設定

お名前: [your-name] メールアドレス: [your-email]

お問い合わせ内容: [your-message]

【After】おすすめの設定

お問い合わせのあった商品: [_post_title]


お名前: [your-name] メールアドレス: [your-email]

お問い合わせ内容: [your-message]

たったこれだけです。

この設定をしておけば、例えば「絶品!大吟醸A」というタイトルの商品ページから問い合わせが来た場合、店舗に届くメールには以下のように自動で記載されます。

お問い合わせのあった商品: 絶品!大吟醸A


(以下、お客様の入力内容)

これで、どの商品についての問い合わせかが一目瞭然になります。

💡【上級テクニック】URLも併記して、さらに確実にする

ページのタイトル(商品名)だけでも十分ですが、万が一、似たような名前の商品があった場合や、後でどのページだったかすぐに確認したい場合のために、ページのURLも一緒に記載しておくと、さらに確実性が増します。

以下のタグも併用することをおすすめします。

  • [_post_url] : フォームが送信されたページのURL

一番のおすすめ設定例:

お問い合わせ商品: [_post_title] 商品ページURL: [_post_url]


お名前: [your-name] メールアドレス: [your-email]

お問い合わせ内容: [your-message]

まとめ

同じフォームを複数のページで使い回すことは、管理上とても効率的です。しかし、それが原因でお客様とのやり取りに「ムダ」が発生してしまっては本末転倒です。

Contact Form 7の「特別なメールタグ」[_post_title] を活用するだけで、

  • お客様への「どの商品ですか?」という聞き返しが不要になる
  • 顧客体験(CX)が向上する
  • 店舗側の対応効率が格段にアップする

というメリットがあります。 設定は1分もかかりません。商品ページに共通のフォームを設置している方は、ぜひ今すぐ設定を見直してみてください。

当社の設定事例

ワードプレスの自動返信をカスタマイズ

▼実際に設定してある内容

株式会社ドモドモコーポレーションの代表 遠田幹雄です。

[your-name]さま、メールフォームからのお問合わせありがとうございます。

以下のメールをフォームから受信いたしました。
(このメールは自動返信です)

[_post_title] [_post_url] からの送信

お名前:[your-name] メールアドレス:[your-email] ご要件種別:[radio-143] メッセージ本文:
[your-message]


株式会社ドモドモコーポレーション
メール mailcontact@dm2.co.jp ホームページ https://www.dm2.co.jp/9/
〒929-1171 石川県かほく市木津ロ64番地1
電話076-285-8058(通常はFAXになっています)

【遠田幹雄への直通iPhoneの電話番号は 050-3578-5060 です。】
この番号はモバイルのIP電話で数秒後に留守番電話に切り替わります。
基本的に新規の電話番号からは受信しませんのでご了承ください。
用事があるかたは用件を録音していただけるとありがたいです。

※なお用件によっては返信を控えさせていただく場合がありますのでご了承ください

参考になれば幸いです。

[_post_url]より[_url]を推奨されました

送信元のURLをフォームに記述したい場合について追加で調べたところ、以下のことがわかりました。

結論から申し上げますと、「送信されたその時の状況(URL)を正確に知りたい」という目的であれば、[_url] の方が推奨されます。

名前が似ていますが、Contact Form 7においてこの2つには「取得するデータの元(ソース)」に決定的な違いがあります。

2つのタグの決定的な違い

タグ 取得するデータの意味 挙動の特徴
[_url] ブラウザのアドレスバーのURL ユーザーが「今見ているページ」そのものを取得します。パラメータ(?src=twitterなど)が含まれる場合も基本的にはその状態を反映します。
[_post_url] 記事(投稿)が持つ「パーマリンク」 WordPressのデータベースに登録されている「その記事本来のURL」を取得します。

なぜ [_url] の方が推奨されるのか?

通常のお問い合わせページ(固定ページ)にフォームを置くだけなら、どちらを使っても結果は同じになります。

しかし、以下のようなケースで違いが出ます。

1. アーカイブページや検索結果ページの場合

もし、サイドバーやフッターにフォームを設置していて、ユーザーが「カテゴリ一覧ページ」や「検索結果ページ」から送信した場合:

  • [_url]: https://example.com/category/news/ (実際に見ていた一覧ページのURLが表示されます)

  • [_post_url]: 空欄になったり、意図しない挙動になることがあります。(一覧ページは「個別の投稿」ではないため、取得できない場合があります)

2. 記事のプレビュー画面の場合

  • [_url]: プレビュー用のURLが表示されます。

  • [_post_url]: まだ公開されていないため、正しく機能しない場合があります。

3. Contact Form 7 公式の仕様

Contact Form 7 の公式ドキュメントには、[_post_url] などの [_post_~] 系タグについて以下の注釈があります。

「このタグは、コンタクトフォームが 投稿コンテンツの内部 にある場合にのみ機能します」

つまり、ショートコードを記事の本文エリア(エディタ内)に貼っている場合は [_post_url] でも動きますが、ウィジェットやテーマファイル(footer.phpなど)に埋め込んでいる場合、[_post_url] は正しく情報を取得できないリスクがあります。

結論

  • [_post_url] が適しているケース:

    • 必ず記事本文の中にフォームがあり、かつ「パラメータなどがついていない、きれいな正規のURL」だけが欲しい場合。

  • [_url] が適しているケース(今回のおすすめ):

    • ユーザーが送信ボタンを押したときに「実際に開いていたページ」を確実に知りたい場合。

    • フォームをサイドバーやフッターなど、本文以外にも設置する可能性がある場合。

基本的には、[_url] を使っておくほうが「表示されない」というトラブルが少なく、汎用性が高いため、こちらを案内させていただきました。

もし現在、固定ページの本文内にしかフォームを置いていないのであれば、[_post_url] に書き換えても問題なく動作はします。