マーケティングオートメーション:Mailchimp、HubSpot、ActiveCampaign、Brevo
CRMの連絡先をMailchimp、HubSpot、ActiveCampaign、またはBrevoのリスト/オーディエンスと同期し、購読と購読解除を受け取ります(BYOモデルのため、アカウントはあなた自身のものです)。
マーケティングオートメーション連携は「あなた自身の」Mailchimp、HubSpot、ActiveCampaign、またはBrevoアカウント(BYOモデル:自分のアカウントを持ち込む)を使用します。CRMの連絡先はあなたのリスト/オーディエンスに追加・更新され(メールアドレスによる同期、冪等)、購読/購読解除イベントがCRMに戻り、連絡先のマーケティングステータスが更新されます。当社側にコストやマージン、仲介は一切ありません。データはあなたのアカウントへ直接送られ、そこから戻ってきます。
この連携は初期状態では無効です。認証情報を入力して有効化するまで何も起こりません。すべてのシークレット(APIキー、トークン、クライアントシークレット)はCRM内で暗号化して保存され、二度と表示されません。各プラットフォームには設定 → 連携内に独自のカードがあり、webhook URLは一意(/api/inbound/marketing/…)で、CRMはURLトークンによってどのプラットフォームかを識別します。
前提条件
- APIキー/トークンを生成し、webhookを作成できる管理者アクセス権を持つMailchimp、HubSpot、またはActiveCampaignアカウント。
- Mailchimp:サーバープレフィックス(例:us21)、オーディエンスID、APIキー(Account → Extras → API keys)。
- HubSpot:スコープcrm.objects.contacts.read/writeを持つプライベートアプリ(設定 → 連携 → プライベートアプリ)。ActiveCampaign:API URLとAPIキー(設定 → Developer)。
- Brevo(旧Sendinblue):APIキー(SMTP & API → API Keys)、リストに連絡先を追加したい場合は数値のリストID(Contacts → Lists)。
- Sellioで、設定 → 連携で認証情報を保存して連携を有効化するための管理者アクセス権。
同期される内容
- アウトバウンド(CRM→プロバイダー):メールアドレスを持つ各連絡先が、あなたのリスト/オーディエンスのメンバー/連絡先として送信されます。アップサートはメールアドレスによって冪等に行われるため、再送信しても重複しません(MailchimpはメールアドレスのMD5ハッシュを使用、HubSpotはidProperty=emailでアップサート、ActiveCampaignは/contact/syncを使用、Brevoはupdateenabledを付けてPOST /v3/contactsを使用)。名、姓、電話番号も含まれます。Brevoでは、各Sellioフィールドをどの属性にマッピングするかも選択できます(フィールドマッピング)。
- Brevo では、全員を同じリストに送るのではなく、各連絡先をその顧客グループに対応するリストへ送ることもできます。連絡先のどの項目にグループが入っているかを指定し、1 行に 1 件ずつ グループ = リスト の形式でルールを書いてください。ルールがないグループは既定のリストに入るため、設定漏れで配信されない人が出ることはありません。
- インバウンド(プロバイダー→CRM):誰かが購読または購読解除すると、webhookがCRM内の該当する連絡先(レコードのmarketing_statusおよびemail_opt_inフィールド)をメールアドレスで照合して更新します。メールアドレスがCRMに存在しない場合、イベントは無視されます(何も作成されません)。
- リアルタイム:CRMで連絡先を作成または編集すると、バッチ処理を待たずに、有効なすべてのマーケティングコネクタ(Mailchimp、ActiveCampaign、HubSpot、Brevo)に自動的に同期されます。これはベストエフォートで、少なくとも1つのコネクタが有効な場合にのみ実行されます。
- カード上の「連絡先を同期」ボタンで、CRMの連絡先を一括送信できます(ベストエフォート、一度に最大200件)。初回のロードや連絡先の再処理に便利です。
Mailchimp
- 設定 → 連携を開き、「マーケティング(Mailchimp)」カードを見つけます。
- サーバープレフィックス(例:us21、APIキーおよびダッシュボードのアドレスのダッシュ以降の部分)、オーディエンスID(Audience → Settings → Audience ID)、APIキー(Account → Extras → API keys)を入力します。「認証情報を保存」をクリックします。
- 「webhook URL」をコピーします。
- Mailchimp → Audience → Settings → Webhooksで、そのURLを指すwebhookを作成し、subscribeとunsubscribeのイベントにチェックを入れます。Mailchimpはwebhookに署名しません。セキュリティは予測不能なURLトークンに依存しますので、機密情報として扱ってください。
- CRMに戻り、「有効化」をクリックします。初回の一括送信には「連絡先を同期」を使用してください。
HubSpot
- CRMで「マーケティング(HubSpot)」カードを見つけます。
- スコープcrm.objects.contacts.readおよび.writeを持つプライベートアプリを設定 → 連携 → プライベートアプリで作成し、アクセストークンを「Private app token」フィールドに貼り付けます。任意で、webhookの署名を検証するためにHubSpotアプリのクライアントシークレットも入力します。「認証情報を保存」をクリックします。
- 「webhook URL」をコピーします。
- HubSpotで、連絡先のメールアドレスとマーケティングステータスを含めてそのURLへ(JSONで)POSTするワークフローwebhook(またはアプリwebhook)を設定します。クライアントシークレットを入力した場合、HubSpotは各呼び出しに署名します(X-HubSpot-Signature)。入力しない場合はURLトークンが保護の役割を果たします。
- CRMに戻り、「有効化」をクリックします。
ActiveCampaign
- CRMで「マーケティング(ActiveCampaign)」カードを見つけます。
- API URLとAPIキー(いずれも設定 → Developer → API Accessにあります)を入力します。「認証情報を保存」をクリックします。
- 「webhook URL」をコピーします。
- ActiveCampaign → 設定 → Manage Webhooksで、そのURLを指すwebhookを作成し、subscribeとunsubscribeのイベントにチェックを入れます。ActiveCampaignはwebhookに署名しません。セキュリティは予測不能なURLトークンに依存しますので、機密情報として扱ってください。
- CRMに戻り、「有効化」をクリックします。
Brevo(旧Sendinblue)
- CRMで「マーケティング(Brevo)」カードを見つけます。
- Brevoで、SMTP & API → API Keys(またはアカウントの歯車アイコン → SMTP & API)からAPIキーを生成します。キーをコピーします。
- Sellioに戻り、キーを「APIキー」フィールドに貼り付けます。連絡先をリストに追加したい場合は、数値のリストID(Contacts → Listsの下のリストURLに番号が表示されます)を入力します。連絡先の作成/更新のみを行う場合は空欄のままにします。
- 「フィールドマッピング」で、各SellioコンタクトフィールドをBrevoの対応する属性(大文字)にリンクします。デフォルトはFIRSTNAME、LASTNAME、SMS(電話番号)、COMPANY(会社名)です。デフォルトを使用する場合は空欄のままにします。カスタム属性は先にContacts → Settings → Contact attributesで作成してください。そうしないとBrevoは存在しない属性を無視します。「認証情報を保存」をクリックします。
- 「webhook URL」をコピーします。
- Brevo → 設定 → Webhooksで、そのURLを指すマーケティングwebhookを作成し、unsubscribeイベントにチェックを入れます。Brevoはwebhookに署名しません。セキュリティは予測不能なURLトークンに依存しますので、機密情報として扱ってください。
- CRMに戻り、「有効化」をクリックします。初回の一括送信には「連絡先を同期」を使用してください。
webhook URLと認証情報は機密情報として扱ってください。Mailchimp/ActiveCampaignが呼び出しに署名しない箇所では、セキュリティは予測不能なURLトークンに依存します(ウェブサイトフォームと同じモデルです)。HubSpotでは、クライアントシークレットを入力すると署名が必須になります。必要な認証情報を入力せずに有効化しようとすると、連携は無効のままとなり、すべてが整うまで何も同期されません。
テスト方法
- アウトバウンド:カードの「連絡先を同期」をクリックし、あなたのプロバイダーのリスト/オーディエンスにメールアドレスを持つ連絡先が(重複せず)表示されていることを確認します。
- インバウンド:CRMに既に連絡先として存在するテストメールアドレスを購読/購読解除し、その連絡先のmarketing_statusおよびemail_opt_inフィールドが更新されたことを確認します。
- 同じ連絡先と同じイベントを再送し、最終的な状態が変わらないことを確認します(冪等性)。
トラブルシューティング
- Mailchimp 401/サーバーエラー:サーバープレフィックス(例:us21)はあなたのアカウントのものと一致している必要があります。オーディエンスIDとAPIキーも確認してください。
- HubSpot 401:Private app tokenが誤っているか、スコープcrm.objects.contacts.read/writeが不足しています。スコープを付けてプライベートアプリを再作成し、トークンを貼り直してください。
- ActiveCampaign 401:API URLとAPIキー(設定 → Developer → API Access)が同じアカウントのものか確認してください。
- Brevo 401/403:APIキーが誤っているか失効しています。SMTP & API → API Keysで新しいキーを生成し、貼り直してください。Brevoの連絡先に属性が表示されない場合は、先にContacts → Settings → Contact attributesで作成してください(Brevoは存在しない属性を無視します)。連絡先がリストに参加しない場合は、数値のリストIDを確認してください。
- インバウンドで連絡先が更新されない:イベントのメールアドレスがCRMに存在しない場合、何も作成されません(設計通りです)。先に連絡先を登録してください。webhookが「webhook URL」を指し、subscribe/unsubscribeにチェックが入っていることを確認してください。
- HubSpot:無効な署名:クライアントシークレットを入力した場合、X-HubSpot-Signatureヘッダーが一致している必要があります。一致しない場合は、シークレットを削除してURLトークンに頼ってください。