HubSpot
Email checker for HubSpot. Verify contacts and clean email lists in HubSpot CRM.
HubSpot CRM をクリーンに保ち、コンタクト作成時または更新時に自動的にメールアドレスを検証してリード品質を向上させましょう。
概要
EmailVerify を HubSpot と統合することで:
- リードを即座に評価 - コンタクトが CRM に入った時点でメールを検証
- データ品質を維持 - コンタクトデータベースをクリーンに保持
- 配信率を向上 - マーケティングメールが実在の人に届くことを確保
- バウンス率を削減 - キャンペーン前に無効なアドレスをフィルタリング
連携方法
| 方法 | 最適な用途 | 複雑さ |
|---|---|---|
| ワークフロー | 自動検証 | 低 |
| カスタムコード | 高度なロジック | 中 |
| Zapier/Make | ノーコード自動化 | 低 |
| 直接 API | フルコントロール | 高 |
方法 1:HubSpot ワークフロー(推奨)
Webhook を使用した HubSpot ワークフローで自動的にメールを検証します。
ステップ 1:カスタムプロパティを作成
まず、検証結果を保存するプロパティを作成:
- 設定 → プロパティ に移動
- プロパティを作成 をクリック
- 以下のプロパティを作成:
| プロパティ名 | タイプ | フィールドタイプ |
|---|---|---|
| メール検証ステータス | 1 行テキスト | テキスト |
| メール検証スコア | 数値 | 数値 |
| メール検証日 | 日付 | 日付選択 |
| 使い捨てメール | 単一チェックボックス | チェックボックス |
ステップ 2:ワークフローを作成
- 自動化 → ワークフロー に移動
- ワークフローを作成 → ゼロから をクリック
- コンタクトベース のワークフローを選択
- 登録トリガーを設定:
トリガー: コンタクトが作成された
または
トリガー: メールが更新されたステップ 3:Webhook アクションを追加
- アクションを追加:Webhook をトリガー
- Webhook を設定:
メソッド: POST
URL:
https://api.emailverify.ai/v1/verifyリクエストヘッダー:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonリクエストボディ:
{
"email": "{{contact.email}}"
}ステップ 4:レスポンスを処理
カスタムコード アクションを追加してレスポンスを処理:
const response = JSON.parse(event.webhook.response);
// 検証結果をコンタクトプロパティにマッピング
const outputFields = {
email_verification_status: response.status,
email_verification_score: response.score,
email_verified_date: new Date().toISOString(),
is_disposable_email: response.result.disposable
};
// 更新するプロパティを返す
callback(outputFields);ステップ 5:結果で分岐
検証ステータスに基づく分岐ロジックを追加:
email_verification_status が "valid" と等しい場合
→ リードナーチャリングを続行
→ マーケティングリストに追加
email_verification_status が "invalid" と等しい場合
→ マーケティングリストから削除
→ ライフサイクルステージを「その他」に更新
email_verification_status が "unknown" と等しい場合
→ 「要レビュー」リストに追加方法 2:Operations Hub でのカスタム連携
高度なユースケースには HubSpot Operations Hub のカスタムコードを使用:
カスタムコードアクションの作成
const axios = require('axios');
exports.main = async (event, callback) => {
const email = event.inputFields['email'];
try {
const response = await axios.post(
'https://api.emailverify.ai/v1/verify',
{ email },
{
headers: {
'Authorization': `Bearer ${process.env.EMAILVERIFY_API_KEY}`,
'Content-Type': 'application/json'
}
}
);
const result = response.data;
callback({
outputFields: {
verification_status: result.status,
verification_score: result.score,
is_deliverable: result.result.deliverable,
is_disposable: result.result.disposable,
is_role_based: result.result.role,
is_free_email: result.result.free
}
});
} catch (error) {
callback({
outputFields: {
verification_status: 'error',
error_message: error.message
}
});
}
};環境シークレットの設定
- 設定 → 連携 → プライベートアプリ に移動
- プライベートアプリを作成または既存のものを使用
- シークレットを追加:
EMAILVERIFY_API_KEY
方法 3:Zapier 連携
ノーコード実装には Zapier を使用:
Zap の設定
トリガー: HubSpot → 新しいコンタクト
↓
アクション: Webhooks → POST to EmailVerify
↓
アクション: HubSpot → コンタクトを更新
設定:
- Email: {{Contact Email}}
- 更新するプロパティ:
- email_verification_status: {{status}}
- email_verification_score: {{score}}詳細は Zapier 連携ガイド を参照してください。
ユースケース
1. リードスコアリングの強化
メール品質をリードスコアリングモデルに追加:
リードスコア調整:
- 有効なビジネスメール: +15 ポイント
- 有効なフリーメール: +5 ポイント
- 使い捨てメール: -20 ポイント
- ロールベースメール: -5 ポイント
- 無効なメール: -50 ポイントワークフロー実装:
email_verification_status = "valid"
AND is_disposable_email = false
AND is_free_email = false の場合
→ HubSpot スコアに 15 を加算
is_disposable_email = true の場合
→ HubSpot スコアに -20 を加算2. マーケティングリストの衛生管理
キャンペーン前にリストをクリーニング:
アクティブリストを作成:
- email_verification_status = "valid"
- is_disposable_email = false
- マーケティングコンタクト = true
キャンペーンから除外:
- email_verification_status = "invalid"
- または is_disposable_email = true3. 営業チームへの通知
高品質リードが到着したときに営業に通知:
email_verification_status = "valid"
AND email_verification_score > 0.9
AND is_free_email = false の場合
→ 内部通知を送信
→ 営業担当にタスクを作成4. フォーム送信の検証
フォーム送信からのメールを検証:
ワークフロートリガー: 任意のフォームでのフォーム送信
アクション:
1. EmailVerify でメールを検証
2. 有効な場合 → 通常フローを続行
3. 無効な場合 → 「有効なメールを使用してください」通知を送信一括検証
既存のコンタクト用に一括検証ワークフローを作成:
オプション 1:スケジュールされたワークフロー
トリガー: スケジュール(毎週)
登録: 以下の条件のコンタクト
- email_verified_date が不明
- または email_verified_date が 90 日以上前
- 制限: 1 回あたり 1000 コンタクトオプション 2:エクスポートとインポート
- コンタクトを CSV にエクスポート
- EmailVerify 一括 API またはダッシュボードを使用
- 結果を HubSpot に再インポート
// 一括検証スクリプト
const contacts = await hubspot.crm.contacts.getAll();
const emails = contacts.map(c => c.properties.email);
// EmailVerify 一括 API に送信
const job = await emailVerify.verifyBulk(emails);
// 完了を待機
const results = await emailVerify.getBulkResults(job.job_id);
// HubSpot コンタクトを更新
for (const result of results) {
await hubspot.crm.contacts.update(
result.email,
{
properties: {
email_verification_status: result.status,
email_verification_score: result.score
}
}
);
}カスタムコンタクトプロパティリファレンス
完全な連携のために以下のプロパティを作成:
| プロパティ | 内部名 | タイプ | オプション |
|---|---|---|---|
| メール検証ステータス | email_verification_status | ドロップダウン | valid、invalid、unknown、accept_all |
| 検証スコア | email_verification_score | 数値 | 0-1 |
| 検証日 | email_verified_date | 日付 | - |
| 使い捨て | is_disposable_email | チェックボックス | - |
| ロールベース | is_role_based_email | チェックボックス | - |
| フリープロバイダー | is_free_email_provider | チェックボックス | - |
| キャッチオールドメイン | is_catchall_domain | チェックボックス | - |
レポートとダッシュボード
検証レポートの作成
メール品質を追跡するレポートを作成:
コンタクト品質レポート:
- 検証ステータス別の総コンタクト数
- 検証スコアの分布
- 使い捨てメールの割合
リードソース品質:
- リードソース別の検証ステータス
- チャネル間の品質比較
トレンド分析:
- 経時的な無効メールの推移
- クリーニング後の改善
ダッシュボードウィジェット
ウィジェット 1: メール品質円グラフ
- セグメント: valid、invalid、unknown
- フィルター: 過去 30 日間に作成
ウィジェット 2: 検証スコアヒストグラム
- X 軸: スコア範囲(0-0.5、0.5-0.8、0.8-1.0)
- Y 軸: コンタクト数
ウィジェット 3: 使い捨てメールトレンド
- 経時的な折れ線グラフ
- 目標: 5% 未満に削減ベストプラクティス
1. エントリーポイントで検証
コンタクト作成時にすぐにメールを検証:
- フォーム送信
- インポートプロセス
- API 連携
- 手動入力
2. 定期的に再検証
メールの有効性は時間とともに変化:
- アクティブコンタクトの月次再検証を設定
- 大規模キャンペーン前に再検証
- 検証日を追跡して古いデータを特定
3. 不明な結果を処理
unknown ステータスのメールの場合:
- すぐに削除しない
- レビュー用にフラグを付ける
- 24 時間後に再検証を試みる
- バックアップシグナルとして送信者レピュテーションデータを使用
4. 品質でセグメント化
メール品質に基づいてスマートリストを作成:
高品質:
status = "valid" AND score > 0.8 AND disposable = false
中品質:
status = "valid" AND (score <= 0.8 OR disposable = true)
低品質:
status = "invalid" OR status = "unknown"5. 送信者レピュテーションを保護
無効なメールには絶対に送信しない:
- すべてのマーケティングリストから
invalidステータスを除外 - キャンペーン後のバウンス率を監視
- 不良データのソースを調査
トラブルシューティング
ワークフローが実行されない
- 登録条件を確認
- ワークフローがオンになっているか確認
- 競合するワークフローがないか確認
- ワークフローエラーログを確認
Webhook エラー
- API キーが正しいか確認
- Webhook URL がアクセス可能か確認
- ワークフロー履歴でリクエスト/レスポンスを確認
- 最初に Postman で API 呼び出しをテスト
プロパティが更新されない
- プロパティの内部名が正確に一致しているか確認
- カスタムコードが正しいフィールド名を返しているか確認
- プロパティ更新のユーザー権限を確認