BtoB営業で時間を奪われるのは、商談そのものよりも、その前段にある作業です。
- 見込み客リストを探す
- 企業サイトや採用情報を確認する
- 相手ごとにメール文面を考える
- 送信後の反応を集計する
- 反応が悪い理由を探す
この作業を毎日手で続けると、営業担当者の時間は「売ること」ではなく「探すこと」に吸われます。
この記事では、BtoBのリード獲得を、スクレイピングとAI営業メールで自動化する方法を解説します。狙うのは、無差別にメールをばらまく仕組みではありません。公開情報をもとに候補企業を集め、送ってよい相手を絞り、文面を生成し、結果を記録して改善する「営業資産」を作ることです。
先に注意点を明確にします。広告・宣伝メールには、特定電子メール法や特定商取引法上の規制があります。個人名、個人メール、担当者情報を扱う場合は、個人情報保護法の確認も必要です。この記事は一般的な実務設計の解説であり、法務判断は必ず専門家または自社の法務担当に確認してください。
まず決めること:完全自動送信より「自動で絞り、人が確認する」から始める
初心者が最初に失敗しやすいのは、いきなり全自動送信を目指すことです。
最初に作るべきなのは、次の流れです。
- 公開情報から候補企業を集める
- 条件に合う企業だけをスコアリングする
- AIで営業メールの下書きを作る
- 人間がレビューして送信可否を判断する
- 結果を記録し、週1回改善する
最初のゴールは「寝ている間に勝手に売れる」ではありません。最初のゴールは、人間が見込み客探しと文面作成に使う時間を減らし、判断品質をログで改善できる状態です。
Hiroが運用している auto-ai-blog でも、同じ考え方で自動化資産を作っています。2026年7月13日にローカル環境で確認したところ、Markdown記事は sites/ai-tech/content/posts に276本、sites/business/content/posts に331本、sites/real-estate/content/posts に106本ありました。generator/config.yaml では記事生成文字数が5000〜7000字に設定され、Cloudflare Pagesの3サイト配信も定義されています。run_daily.bat は scripts/run_daily_guarded.py を起動する構成です。
これは営業リード獲得そのものではありませんが、「収集、生成、配信、検証を仕組みにする」という点では同じです。営業でも、属人的な作業をログが残る工程に変えることができます。
全体像:スクレイピングとAI営業メールの役割
BtoBリード獲得の自動化は、次の5工程に分けると設計しやすくなります。
1. リード候補を集める
スクレイピングとは、Web上の情報をプログラムで取得する作業です。営業用途では、次のような公開情報が候補になります。
- 企業名
- 会社URL
- 業種
- 所在地
- 採用ページURL
- 問い合わせフォームURL
- プレスリリースURL
- 展示会・業界団体ページの掲載情報
最初から大量取得しないでください。まずは10〜30社でテストします。
保存するCSVの列は、最低限これで十分です。
company_name,url,industry,signal,contact_url,source_url,fetched_at
signal には「採用ページでインサイドセールス募集」「新拠点開設」「資金調達発表」など、営業仮説の根拠を書きます。ここが空欄のリードは、AIにメールを書かせても薄い文面になりやすいです。
2. 取得してよい情報を決める
公開されている情報でも、何でも取得してよいわけではありません。
実務では、最初は次の範囲に絞るのが安全です。
- 企業公式サイトに掲載された会社情報
- 法人向け問い合わせフォーム
- 企業公式のニュース、IR、プレスリリース
- 展示会・業界団体など出典を説明できるページ
一方で、個人名、個人メールアドレス、SNSアカウント、担当者の経歴情報を扱う場合は、個人情報保護法や社内規程の確認が必要です。個人情報保護委員会は、個人情報の取扱いに関するガイドラインを公開しています。
3. robots.txt、利用規約、アクセス頻度を確認する
robots.txt は、検索エンジンなどのクローラーに対して、サイト内のどのURLにアクセスしてよいかを伝えるファイルです。Google検索セントラルも、robots.txt は主にクロールトラフィック管理のために使うものだと説明しています。
ただし、robots.txt で許可されているように見えても、それだけで営業利用や再利用が許可されたことにはなりません。最低限、次を確認します。
- 利用規約で自動取得が禁止されていないか
- 問い合わせフォームへの自動投稿を禁止していないか
- サーバーに負荷をかけない頻度になっているか
- 取得した情報の保存期間を決めているか
- 出典URLと取得日時を保存しているか
初心者は、まず1秒に何件もアクセスする設計を避けてください。テスト段階では、対象サイトごとに間隔を空け、エラー時は停止する設計にします。
4. スコアリングで「送らない理由」を作る
営業自動化で重要なのは、送る相手を増やすことではありません。送らない相手を正しく除外することです。
おすすめのスコアリング項目は次の5つです。
| 項目 | 例 | 点数 |
|---|---|---|
| ターゲット一致 | 業種・規模・地域が条件に合う | 0〜25 |
| 課題シグナル | 採用、資金調達、新規事業などの根拠がある | 0〜25 |
| 提案との関連性 | 自社サービスで解決できる可能性がある | 0〜20 |
| 連絡導線の妥当性 | 法人問い合わせフォームや代表窓口がある | 0〜15 |
| リスク | 規約、法務、文面不自然さに問題がない | 0〜15 |
運用ルールは、最初は次で十分です。
- 80点以上:人間レビュー後に送信候補
- 50〜79点:要確認
- 49点以下:送信しない
- リスク項目が0点:合計点に関係なく送信しない
この設計にすると、「なぜ送ったか」だけでなく「なぜ送らなかったか」も説明できます。
5. AI営業メールは「観察」と「仮説」を分けて書かせる
AI営業メールで一番危険なのは、推測を事実のように書くことです。
悪い例:
貴社では営業組織の立ち上げに課題を抱えていると思います。
良い例:
貴社採用ページでインサイドセールス職の募集を拝見しました。採用強化中であれば、商談創出の型化が近いテーマになる可能性があると考え、ご連絡しました。
違いは、観察と仮説を分けていることです。
AIに渡す入力は、次のように構造化します。
会社名:
事業内容:
取得元URL:
確認した事実:
営業仮説:
提案サービス:
禁止表現:
文字数:
CTA:
Hiroの auto-ai-blog では、生成条件を generator/config.yaml に集約しています。営業メールでも同じように、プロンプトをコード内に散らさず、設定ファイルで管理すると改善しやすくなります。
実装前に作るべき管理テーブル
自動化を始める前に、最低限この4つのテーブルを分けておくと、後から改善しやすくなります。
| テーブル | 目的 | 主な列 |
|---|---|---|
lead_sources | 取得元の管理 | source_url, site_name, terms_checked_at, robots_checked_at, crawl_interval_seconds |
companies | 企業情報の管理 | company_name, url, industry, location, source_url, fetched_at |
lead_scores | 送信判断の管理 | company_id, score, risk_score, reason, reviewer, reviewed_at |
outreach_logs | 送信・反応の管理 | company_id, subject, sent_at, reply_status, unsubscribe_status, complaint_flag |
特に重要なのは、source_url と fetched_at を残すことです。AIが作った文面だけが残っていても、後から「何を根拠に送ったのか」を説明できません。
送信前レビューのチェックリスト
完全自動送信に進む前に、必ずレビューキューを挟みます。
送信前に見るべき項目は次の通りです。
- 会社名が正しい
- 取得元URLが残っている
- 観察した事実と営業仮説が混ざっていない
- 「必ず成果が出る」などの誇大表現がない
- 法人向けの適切な窓口に送る設計になっている
- 配信停止や問い合わせ先の導線がある
- 送信除外リストと照合している
- 同じ会社へ短期間に重複送信していない
- 件名が煽りすぎていない
- AIらしい抽象表現だけで終わっていない
レビューで3割以上の文面に修正が必要なら、送信数を増やす段階ではありません。ターゲット条件、取得項目、プロンプトのどれかが粗い状態です。
KPI:成果より先に工程を測る
営業自動化では、いきなり売上だけを見ても改善できません。工程ごとにKPIを分けます。
| 工程 | KPI |
|---|---|
| 取得 | 取得件数、重複率、無効URL率、取得エラー率 |
| 判定 | 送信候補数、除外件数、除外理由の内訳 |
| 文面 | レビュー修正率、NG表現検出数、具体シグナル挿入率 |
| 配信 | 到達率、開封率、返信率、配信停止率、苦情率 |
| 商談 | 商談化率、受注率、受注単価、1商談あたりコスト |
| 資産化 | 週あたり人間作業時間、再利用プロンプト数、改善履歴数 |
Hiroのサイト運用で参考になるのは、生成数だけを追っていない点です。generator/ai_slop_guidelines.json には、最低スコア8、チェック項目10個、禁止表現、レビュー観点として編集長・専門家・SEO・画像品質・法務リスクが定義されています。
営業メールでも同じです。送信数よりも、品質ゲートを先に置いたほうが長期的に信頼を失いにくくなります。
よくある失敗と対策
失敗1:リード数だけを増やす
リード数が増えても、返信率や商談化率が落ちるなら意味がありません。
対策は、取得件数と同時に次を見ます。
- 返信率
- 商談化率
- 配信停止率
- 苦情率
- 除外理由の内訳
特に苦情率と配信停止率が上がっている場合は、ターゲット条件か文面がずれています。送信数を増やす前に停止します。
失敗2:スクレイピング対象を広げすぎる
「SaaS企業全般」「不動産会社全般」のように広げると、メール文面が薄くなります。
最初は、次のように狭くします。
従業員10〜100名のBtoB SaaSで、採用ページにインサイドセールス職の募集がある企業
このくらい狭いほうが、AIも具体的な文面を作りやすくなります。
失敗3:AI文面が誰にでも送れる文章になる
次のような文面は弱いです。
貴社の成長を支援します。
代わりに、取得元に基づく具体的な観察を1つ入れます。
貴社の採用ページでカスタマーサクセス職の募集を拝見しました。既存顧客対応の体制強化を進めている可能性があると考え、問い合わせ対応の一次整理を自動化する提案でご連絡しました。
具体性は、長文にすることではありません。根拠URLに基づく観察を入れることです。
失敗4:法務・規約確認を後回しにする
技術的にできることと、実務でやってよいことは別です。
対策として、実装前に次をチェックリスト化します。
- 取得対象
- 取得元
- 保存期間
- 利用目的
- 送信対象
- 配信停止導線
- 除外条件
- 苦情対応フロー
広告・宣伝メールについては、特定電子メール法や特定商取引法の規制確認が必要です。特定電子メール法では、広告宣伝メールに関するオプトイン方式や表示義務が論点になります。消費者庁の特定商取引法ガイドでも、電子メール広告のオプトイン規制が解説されています。
失敗5:自動化したのに毎日手作業で直す
毎日手で直さないと回らないなら、それは自動化資産ではなく半自動作業です。
人間の作業は、次の2つに絞ります。
- 例外処理
- 週次改善
週次改善では、一度に変える条件を1つにします。件名、ターゲット業種、CTA、送信時間を同時に変えると、何が効いたのか分からなくなります。
反論と限界:AI営業メールだけで売れるわけではない
この方法は万能ではありません。
まず、低単価商材では、設計と運用の手間が利益に見合わないことがあります。次に、高額商材や専門性の高い商材では、AIメールだけで受注まで進む可能性は限定的です。信頼形成、商談設計、提案資料、導入後支援は人間の役割として残ります。
また、公開情報から読み取った課題は外れることがあります。採用ページに営業職の募集があっても、外部支援を求めているとは限りません。だからこそ、文面では断定を避けます。
使うべき表現は、次のようなものです。
- 「〜を拝見しました」
- 「〜という仮説を置きました」
- 「もし現在の優先テーマに近ければ」
- 「対象外でしたらご放念ください」
自動化で強くするべきなのは、押しの強さではありません。相手にとって不要な連絡を減らす精度です。
初心者向け:最初の7日間でやること
1日目:ターゲットを1文で決める
例:
従業員10〜100名のBtoB SaaSで、採用ページにインサイドセールス募集がある企業に、商談創出プロセスの自動化を提案する。
2日目:スプレッドシートを作る
列はこれで始めます。
company_name,source_url,signal,score,email_draft,send_status,reply_status,notes
3日目:10社だけ手で集める
最初からスクレイピングしません。まず手で10社集め、どんな情報が文面作成に必要か確認します。
4日目:AIに下書きを作らせる
10社分の情報を渡し、件名、本文、CTAを生成します。ただし、送信はまだしません。
5日目:人間がレビューする
チェックリストに沿って、違和感がある文面を修正します。修正が多い項目を記録します。
6日目:小さく自動取得する
同じ条件で10〜30社だけ自動取得します。取得エラー、重複、古い情報がどれくらい出るか確認します。
7日目:送信可否を判断する
法務・規約・停止導線を確認したうえで、送信候補を絞ります。送信する場合も、最初は少数で反応を見ます。
類似記事との差別化ポイント
多くの記事は、スクレイピングのコード例か、AI営業メールの文面例だけで終わります。しかし、実務で必要なのはコードや文面だけではありません。
差別化すべきポイントは次の3つです。
- リスト作成ではなく、取得から改善までのパイプラインとして設計する
- Hiroの
auto-ai-blogのように、設定、ログ、品質ゲートを残す - 法務、停止導線、除外ログを先に作る
特に重要なのは、除外ログです。営業自動化では「送った証拠」よりも「送らなかった理由」のほうが品質管理に効きます。
この記事で使った一次情報と確認範囲
この記事では、一般論だけでなく、ローカル環境で確認した auto-ai-blog の構成を実務例として使っています。
| 確認項目 | 確認内容 |
|---|---|
| 記事数 | sites/ai-tech/content/posts 276本、sites/business/content/posts 331本、sites/real-estate/content/posts 106本 |
| 生成設定 | generator/config.yaml に min_chars: 5000、max_chars: 7000 |
| 配信設定 | Cloudflare Pages向けに3サイトが定義済み |
| 日次実行 | run_daily.bat から scripts/run_daily_guarded.py を実行 |
| 品質ゲート | generator/ai_slop_guidelines.json に最低スコア8、チェック項目、禁止表現、レビュー役割が定義済み |
一方で、本記事は実際の営業メール配信結果や返信率の統計を公開しているものではありません。ここで示しているのは、リード獲得自動化を始めるための設計手順、管理項目、レビュー観点です。実運用では、商材、業界、送信先、法務判断によって必要な制御が変わります。
まとめ:リード獲得は作業ではなく、改善できる仕組みにする
BtoBリード獲得は、毎日リストを探してメールを書く作業として続けると消耗します。
しかし、取得元、スコアリング、AI文面生成、送信管理、KPI集計をひとつの流れにすると、営業活動は改善できる資産になります。
最初の一歩は小さくて構いません。10社分の公開情報を集め、AIに文面を作らせ、送る前に品質とリスクを確認してください。そのログが、次の30社、100社、1000社へ広げるための設計図になります。
自分の時間を切り売りする営業から抜け出したいなら、目指すべきは「今日がんばる」ことではなく、「明日も改善材料が残る仕組み」を持つことです。
本気で自動化された収益導線を構築したい方向けの実践マニュアルでは、AI、スクレイピング、投稿、営業導線、収益化までを、手順ベースで実装できる形に整理しています。単なる知識で終わらせず、自分専用の自動化資産を作りたい方は、商品一覧ページから次に作る仕組みを選んでください。