← ブログ一覧

Contact Form 7 から営業メールが止まらない本当の理由と、対処の優先順位

WordPress + Contact Form 7 のフォームに営業メールが届いて困っているサイト運営者向けに、よくある対処 (reCAPTCHA / Akismet / NG ワード) の限界と、AI 仕分けが効くケースを整理します。

·1·YomuForm 編集部

WordPress + Contact Form 7 の構成で会社サイトを運営していると、ある時期から 問い合わせフォームに届くメールの半分以上が「営業」になる 現象に必ず突き当たります。SEO 改善の提案、人材紹介、業務委託の打診、海外からの英文 DM など、内容はバラバラですが、共通しているのは「本物のお問い合わせを邪魔する」という一点です。

この記事では、よくある対処手段がなぜ効きづらいのか、そして AI による文面の仕分けが残る理由を整理します。

まず確認: 営業メールが「迷惑メール」と違う 2 つの特徴

スパムフィルタや reCAPTCHA で防ぎたいのは、自動投稿された大量配信スパム (アダルト、無関係な URL の羅列、文字化けなど) です。一方、フォーム経由で届く営業メールには次の特徴があります。

  • 人が手入力で送っている。営業担当が会社の問い合わせフォーム一覧を巡回し、テンプレ文面を貼って送信ボタンを押しています。
  • 文面はそれっぽく整っている。「貴社の事業に貢献できる提案がございます」「先日サイトを拝見しました」などの定型句が並び、機械的には判別しづらい。

つまり、スパム対策の技術 (フィルタリング、ブラックリスト、CAPTCHA) は営業メールには効かない構造になっています。仕組みの守備範囲が違うのです。

よく試される対処と、その限界

reCAPTCHA / hCaptcha

最初に試される定番。Bot 対策としては有効ですが、上で書いた通り営業メールは人間が送ってくるので、reCAPTCHA は素通りで届きます。「v3 でも止まらない」と感じるのは、Bot を止めていないからではなく、止めるべき対象が違うからです。

Akismet

Akismet は WordPress 公式のコメントスパム対策プラグインで、Contact Form 7 とも連携できます。これは 大規模配信スパムの URL / 文体パターンを学習 しているので、海外の無差別 DM などには効くことがあります。

ただし、日本企業からの真面目な営業メール (= まともな会社名と署名付き、リンクは自社サイト 1 本) は Akismet の学習対象から外れているので、検知できません。Akismet の英語圏向け学習データに、日本の SaaS 営業や人材紹介の文面はそもそも入っていないのです。

NG ワード設定

「資料DL」「LP制作」「SEO対策」など、営業メールに出やすい単語を NG リストにする運用です。一見シンプルで効きそうに見えますが、3 つの問題があります。

  1. 本物の問い合わせも誤検知する。たとえば「弊社の LP 制作を御社に依頼したい」という真の問い合わせを弾いてしまう。
  2. 言い回しがすぐに変わる。営業側もテンプレを少しずつ変えるので、メンテナンスし続けないと数か月で意味が薄れる。
  3. 判定理由が見えない。なぜ弾かれたのか管理者に分からないので、誤判定の検証が不可能になる。

「会社名」必須化 / 法人ドメインしか受けない

「会社名」フィールドを必須にしても、営業はちゃんと自社名を書きます (むしろ得意)。Gmail / Yahoo メールを弾くのは効果が出ることもありますが、個人事業主や自営業者からの正規問い合わせも一緒に弾くので、B2C 寄りのサイトでは推奨できません。

なぜ「人間が読めば分かる」のに自動化が難しいのか

ここまでの限界を眺めると、共通しているのは「営業メールは表層では判別できない」という事実です。

実際の判別は、文面のキーワードではなく次のような 文脈 で行われています:

  • 「『先日御社のサイトを拝見しました』とあるが、URL が無く、何を見たのか具体性ゼロ」 → 営業
  • 「自社サービス紹介の URL が本文中に挿し込まれている」 → 営業
  • 「『〇〇の件で問い合わせさせてください』と具体的な機能名が出ている」 → 問い合わせ
  • 「採用フォームではないのに『貴社採用ご担当者様』」 → 採用営業

人間がメールを開いて 5 秒で判断するのは、こういう 意味の組み合わせ を見ているからです。これを「単語の AND/OR」だけで再現するのは、構造的に無理があります。

AI による仕分けが効く理由

ここで言う AI とは、ChatGPT / Claude / Gemini のような 大規模言語モデル のことです。これらは「人間が読んだときに何を読み取れるか」を再現する用途で設計されているので、上の判別を自然にやってくれます。

たとえば送信内容を渡して「これは営業の打診か、製品への問い合わせか、信頼度も付けて分類してください」と依頼すれば、

カテゴリ: sales_solicitation
信頼度: 0.92
理由: 自社の SEO 改善サービスへの誘導が目的。
       具体的な依頼内容が無く、文末に自社 URL の挿入あり。

のような構造化結果が返ってきます。これを使えば:

  • 信頼度 0.85 以上の「営業」 → 別フォルダ振り分け or Slack 通知の対象外
  • 「問い合わせ」 → 通常通り通知
  • 信頼度が低い (= AI も悩んだ) ものだけ目視

という運用が組めます。「全部目視」から「たまに目視」に下がるだけでも、運営者の時間と精神衛生は大きく変わります。

副次的なメリット: GA4 のコンバージョン計測がクリーンになる

意外と見落とされがちですが、Contact Form 7 の送信完了イベントを GA4 で「コンバージョン」として登録している場合、営業メールも一律でコンバージョンに数えられています

  • 月のコンバージョン 30 件のうち、本物の問い合わせは 8 件
  • → 数字上は「広告経由のコンバージョン率が改善している」ように見えるが、実は営業メールが増えただけ
  • → 広告予算の判断を誤る

「営業」判定のものを GA4 に送らない / 別イベント名で送る、という処理を入れるだけで、マーケティング判断の前提が一段クリアになります。これは AI 仕分けが入って初めて成立する打ち手です。

対処の優先順位 (整理)

実務的な順番として、

  1. reCAPTCHA / Akismet は入れておく — Bot とスパムは 0 にしておく。営業対策とは別問題として処理する。
  2. NG ワードは「最終手段の保険」だけ — 明らかに有害な単語 (アダルト、明示的なフィッシング) のみ。営業対策に使い始めると誤判定が増える。
  3. 営業判定は AI に任せる — 「人間が読めば分かる」レイヤーは AI が一番得意な領域。判定結果をログに残し、信頼度の低いケースだけ目視。
  4. GA4 連携を見直す — 「コンバージョン = 全送信」から「コンバージョン = 問い合わせ判定」に切り替えると、計測が正しく戻る。

YomuForm はこの 3 番と 4 番をプラグイン 1 つで提供します。1 番と 2 番は既存の方法と組み合わせて運用してください。

まとめ

  • 営業メールは「人間が手入力で送る」ため、Bot 対策やキーワードフィルタでは止まらない。
  • 判別は単語ではなく 文脈 で行われている。これを LLM に任せると、人間並みの仕分けが自動化できる。
  • GA4 のコンバージョン計測も、AI 仕分けが入れば「本物の問い合わせ数」にリセットできる。

「うちのフォームも営業ばかりだ」と感じている運営者は、まず YomuForm の無料プランで自社サイトの判定ログを 1 週間眺めてみてください。実際に届いているメールの中身を見直すだけで、対処の方向性がはっきりします。

Contact Form 7営業メール対策運用ノート

YomuForm を試す

この記事の課題を、YomuForm を入れるだけで解決できます。 Free から始めて、必要に応じて Plus / Pro にアップグレード可能です。

YomuForm の機能を見る