← ブログ一覧

問い合わせフォームの営業メールがうざい人へ — 止まらない構造と本気で止める 4 ステップ

「フォーム営業 うざい」と感じている WordPress サイト運営者に向けて、reCAPTCHA や Akismet が効かない構造的な理由と、AI 仕分けで根本的に止める方法を整理。Contact Form 7 環境で実装可能な対策ステップを具体的に解説します。

·2·YomuForm 編集部

「またフォーム営業か……」

朝に自社サイトのお問い合わせフォームから届いたメールを開いて、3 通連続で「SEO 改善のご提案」「採用ご担当者様」「貴社のサイトを拝見しました」を見ると、確実に 1 日のテンションが下がります。

「フォーム営業 うざい」で検索してこの記事にたどり着いたなら、すでに reCAPTCHA は入れていて、Akismet も有効にしていて、それでも全然減らない、というところまで来ているはずです。先に結論を書きます。

今のフォーム営業は「スパム対策」の射程外で動いていて、別のレイヤーでしか止まりません。

この記事では、

  1. なぜフォーム営業はそんなに「うざい」のか (= 実害の中身)
  2. なぜ普通のスパム対策では止まらないのか
  3. 本気で止めるための 4 ステップ
  4. WordPress + Contact Form 7 で具体的に何を入れればいいか

を順に整理します。長めの記事ですが、対策の効く / 効かないを構造で理解できれば「もうこれ以上時間を溶かさなくていい」状態になれます。

フォーム営業がうざい本当の理由 (= 3 つの実害)

「うざい」は感情語ですが、その下には実害があります。ここを言語化しておくと、後で「どの対策で何が直るか」を測れるようになります。

実害 1: 本物の問い合わせを見落とす

毎日届くフォーム経由メールのうち、半分以上が営業だという状態が続くと、運営者の脳内に「フォームのお知らせ = だいたい営業」というラベリングが定着します。これが起きると、本物の問い合わせまで「あとで読む」フォルダに移されて、結局返信が 3 日遅れる、というパターンが普通に発生します。

問い合わせ対応のスピードは商談成約率に直結する変数です。「他社からの提案より YomuForm を選びたいけど、先に返信が来た方に流れた」みたいな失注は、調べないと気付きません。これは売上に効きます。

実害 2: 1 通あたり数十秒〜数分を確実に持っていかれる

「これは営業か?」と判断するのに、最低でも 10 秒、丁寧に読むと 30 秒、誤判定を避けたくてじっくり見ると 1〜2 分。

1 日 5 通なら 30 分、月 20 営業日で 約 10 時間。「営業メールの仕分けに月 10 時間使うために雇用したスタッフはいない」はずなのに、現実には起きています。中小企業ではこの作業を経営者本人がやっていることも多く、機会損失額で考えると無視できない数字になります。

実害 3: GA4 のコンバージョン計測が汚染される

地味ですが、これが一番深刻かもしれません。

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

  • 月のコンバージョン 30 件、内訳は本物の問い合わせ 8 件 + 営業 22 件
  • GA4 上は「CV 30 件」とだけ表示される
  • 広告経由 CV も同じ仕組みでカウントされるので、広告 ROI 計算が水増しされる
  • → 「広告効いてる」と判断して予算を増やす
  • → 実際に増えているのは営業メールだけ
  • → 効果が出ない → 別の打ち手を試す → やっぱり数字が変 → どこかでマーケ判断全体への信頼が崩れる

この問題は、マーケ担当者ですら気付きづらい構造で、気付いた頃には数か月分の判断が歪んでいる、ということがよくあります。**「フォーム営業 = ただの迷惑」ではなく「広告予算判断を歪める汚染源」**だと認識すると、対策の優先度が一段上がります。

なぜ普通の対策で止まらないのか

ここが核心です。一般的な対策が効かない理由は単純で、フォーム営業はそもそもスパムではないから。各対策の設計目的を一度確認してください。

reCAPTCHA / hCaptcha

項目 内容
設計目的 Bot による自動投稿の検知と阻止
フォーム営業の実態 営業担当が 人間として手入力 で送信している
結論 reCAPTCHA は人間の操作を通過させるのが正しい挙動。素通り。

v3 にしても「人間と Bot の判別」がより厳しくなるだけで、人間の操作自体は通します。仮に基準を激辛にすると、今度は本物の問い合わせ側が CAPTCHA を解けずに離脱します。戦う土俵が違うのです。

Akismet

項目 内容
設計目的 大規模配信スパムの URL パターン・文体パターンを学習して弾く
フォーム営業の実態 「○○株式会社の山田です」「貴社サイトを拝見し」等の 定型営業文面。日本語、整文。
結論 Akismet の学習データに「日本企業からの真面目な営業文面」は入っていない。素通り。

英語圏中心のスパムデータで訓練されている Akismet が、日本のフォーム営業に効きづらいのはこの構造のせいです。「あれ、Akismet ってこんなに通すんだ」と感じる人が多いのは、学習目的が違うから当然の挙動です。

NG ワードフィルタ (「SEO」「採用」「資料 DL」をブロック)

最初は効果が出ているように見えます。が、すぐに 3 つの問題に当たります。

  1. 誤検知: 「弊社の SEO 対策を御社にお願いしたい」という本物の問い合わせを弾く
  2. 文言の進化: 営業側も A/B テストする。「SEO」が弾かれると分かれば「検索流入改善」に書き換えてくる
  3. 不可視のブラックホール: 投稿が消えても運営者にも送信者にも理由が見えない。トラブル対応不可能

NG ワード対策は、明確に有害な単語 (アダルト・フィッシング・違法行為に直結する語) には有効ですが、営業対策のメイン武器にしてはいけません

「会社名必須」「Gmail 弾く」「メアド検証」

  • 営業はちゃんと自社名を書きます (むしろ得意)
  • Gmail / Yahoo を弾くと、個人事業主・フリーランス・副業層からの本物の問い合わせまで一緒に弾けます
  • フリーメール検証ツールも、捨てメアドは検出できても 正規ドメインからの営業 には無力

B2C 寄りのサイトではむしろ機会損失の方が大きくなります。

「フォーム営業 うざい」を根本解決する 4 ステップ

ここからが本論。今までの構造的失敗を踏まえて、実際に効く順番で並べます。

ステップ 1: Bot 対策と営業対策を「別問題」として扱う

reCAPTCHA + Akismet は そのまま入れ続ける。これは Bot とスパム配信を 0 にするための層で、引き続き有効です。「フォーム営業が止まらないから外そう」は、Bot 投稿が戻ってくるだけで完全に逆効果です。

Bot 対策と営業対策はそもそも別の問題」と認識を分けるだけで、頭の中の混乱が消えます。

ステップ 2: NG ワードは「明確に有害な単語」だけに限定する

NG ワードリストに「SEO」「採用」「資料」みたいな営業ワードを足し始めると、誤検知が雪だるま式に増えます。

NG ワードに入れていいのは:

  • 露骨なアダルト系単語
  • フィッシング・詐欺系の URL / 単語
  • 暴言・脅迫表現

これだけ。営業対策には別レイヤーを使うと決めましょう。

ステップ 3: AI で「営業 vs 問い合わせ」を文脈判定する

ここが今までに無かった新しい層です。

LLM (Claude / GPT / Gemini など) は、設計上 人間が文章を読んで判断するときの "文脈" を再現できます。

「『先日御社のサイトを拝見し』とあるが、具体的にどのページの何を見たかゼロ」「自社サービス紹介の URL が文中に挿入されている」「『採用ご担当者様』だが、フォームは採用フォームじゃない」——こういう 複数のシグナルを総合して 営業 / 問い合わせを判定するのが LLM の得意領域です。

実装イメージ:

フォーム送信が発火
  ↓
本文を AI API に POST
  ↓
返却: { category: "sales_solicitation",
        confidence: 0.93,
        reason: "自社 SEO サービスの売り込み。具体性なし、自社 URL 挿入あり。" }
  ↓
カテゴリと信頼度を見て、通知ルートを分岐
  ・営業判定 → 別フォルダ / Slack 通知スキップ
  ・問い合わせ判定 → 通常の Slack + メール通知
  ・confidence 低 → 念のため目視

**「全部目視」から「たまに目視」**に運営負荷が下がります。これだけで実害 1 (見落とし) と実害 2 (時間浪費) はほぼ解消します。

ステップ 4: GA4 のコンバージョン定義を「本物の問い合わせだけ」にする

ステップ 3 で AI 判定が手に入ったら、GA4 のコンバージョンを再定義します。

  • 旧: フォーム送信完了 = コンバージョン
  • 新: AI が「問い合わせ」と判定した送信完了 = コンバージョン

実装方法は 2 通り:

  • サーバーサイド: GA4 Measurement Protocol で、AI 判定が「問い合わせ」だった場合だけ conversion イベントを送信
  • クライアントサイド: GTM の dataLayer に AI 判定結果を流し込み、GTM トリガーで分岐

これだけで、GA4 上のコンバージョン率が「本物のコンバージョン率」に戻ります。広告 ROI 計算、A/B テスト判定、予算配分、すべて正しい数字をベースに動き始めます。実害 3 (GA4 汚染) の解決はここで完了します。

WordPress + Contact Form 7 でゼロから実装するなら

ステップ 3 + 4 は自前で実装することも可能です。最小構成は:

  1. CF7 の wpcf7_before_send_mail フックで送信内容をフック
  2. Claude / OpenAI / Gemini の API キーを wp_options に保存しておく
  3. PHP で wp_remote_post で AI プロバイダーに POST、JSON で結果を受け取る
  4. 判定結果を wpcf7_skip_mail で通知ルート分岐
  5. GA4 Measurement Protocol を別途叩く
  6. 判定ログを wp_posts (or 専用テーブル) に保存して管理画面で見る

ここまで作って実運用すると、

  • BYOK (Bring Your Own Key) の API キー管理 UI
  • 判定ログの管理画面
  • 誤判定時のプロンプト調整 UI
  • 複数チャネル通知 (Slack / Discord / Chatwork / Webhook)
  • 業種別のプロンプトテンプレート

あたりまで欲しくなって、結構な工数になります。

ショートカット: YomuForm を入れる

上記をパッケージ化して WordPress プラグインにしたのが YomuForm です。

プラン 機能 価格
Free Contact Form 7 連携 / 営業・問い合わせ二値判定 / メール通知 1 つ / 判定ログ 100 件 / BYOK ¥0
Plus Free + 多チャネル通知 (Slack/Discord/Chatwork/Webhook) / 6 カテゴリ細分類 / CSV エクスポート / 複数フォーム対応 ¥9,800 買い切り
Pro Plus + HubSpot/Pipedrive 自動連携 / GA4 Measurement Protocol / GTM dataLayer 連携 ¥980/月 (年払い ¥9,800/年)

Pro は 月払い ¥980 / 年払い ¥9,800 (約 17% お得) の 2 種類。Stripe Customer Portal からいつでも解約・プラン変更ができます。

ここまで読んで「自分で実装するのは大変そう」と感じた方は、まず Free 版を入れて 1 週間判定ログを眺めてみることをお勧めします。自社サイトに来ている営業メールの中身を構造的に見るだけで、対策の方向性が一気に見えてきます

  • BYOK 方式: 判定通信は WordPress → AI プロバイダーへ直接。YomuForm 側のサーバーは経由しません
  • API キーはサイト DB に保存、外部送信なし
  • 判定ログはフォーム本文の先頭 500 文字抜粋のみ保持

プライバシー / 個人情報の取り扱いに敏感な日本企業サイトでも安心して入れられる構成です。

まとめ

フォーム営業 うざい」と感じる実害は、本物の見落とし・時間の浪費・GA4 計測汚染の 3 つに整理できます。

スパム対策 (reCAPTCHA / Akismet) は Bot 対策層 であって、人間が手打ちで送ってくる営業メールには構造的に届きません。NG ワード対策も誤検知と文言進化で長続きしません。

効くレイヤーは AI による文脈判定 で、これは今まで存在しなかった選択肢です。副次的に GA4 のコンバージョン計測が正常化するのが、地味だが最大のメリットになります。

「うざい」という感情への根本的な救済は、感情論じゃなく構造論で来ます。Bot 対策の層と営業対策の層を 頭の中で分けるだけでも、対策の打ち方は変わるはずです。

YomuForm が気になった方は、まず Free 版を 1 週間、自社サイトに入れて判定ログを眺めてみてください。何を導入するかは、その後で決めても遅くありません。

フォーム営業Contact Form 7営業メール対策GA4

YomuForm を試す

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

YomuForm の機能を見る