MCN Learning Community > ナレッジ集 > フォーム・フォームハンドラー >フォームハンドラーの2つの連携方法
フォームハンドラーの2つの連携方法
🍀 フォームハンドラーとは
フォームハンドラーは、外部Webサイトに設置したフォームから送信された情報を受け取り、 Salesforceのフローへ渡すための仕組みです。
● 外部フォームとの連携方法は2種類
外部フォームからフォームハンドラーへ情報を渡す方法には、 Tracking Scriptを利用する方法と Connect APIを利用する方法があります。
違いは「どこからSalesforceへ送信するか」
Tracking Scriptではお客様のブラウザから送信し、 Connect APIでは自社のWebサーバーから送信します。
Tracking Scriptを利用する方法
外部Webサイトにあるフォームへ、Marketing Cloud Nextから発行された 2つの設定を追加して連携する方法です。
お客様が送信ボタンを押すと、ブラウザ上でTracking Scriptが動作し、 Form Attributesで指定されたフォームハンドラーへ入力内容を送信します。
主な設定
- SalesforceのCORS許可リストへの登録
- Tracking Scriptの設置
- Form Attributesの追加
- External Field NameとHTMLのname属性の一致
向いているケース
- WordPressなどのWebサイト
- HTMLで作成したフォーム
- CloudPages
- 独自のサーバー処理を開発せずに連携したい場合
Connect APIを利用する方法
外部フォームの入力内容を、いったん自社のWebサーバーで受け取り、 サーバー側のプログラムからSalesforceへ送信する方法です。
お客様がフォームを送信すると、自社のWebサーバーが入力内容を受け取ります。 WebサーバーはOAuth認証を行い、Content Keyで送信先を指定して、 Connect APIからフォームハンドラーへ情報を送信します。
主な設定
- Salesforceの私のドメイン
- フォームハンドラーのContent Key
- SalesforceへのOAuth認証
- Connect APIを呼び出すサーバー側の処理
向いているケース
- 送信前にデータを加工・検証したい
- 独自のスパム対策を実装したい
- 送信ログや再送処理を管理したい
- 複数のシステムへ同時に連携したい
- セキュリティや送信処理を細かく制御したい
● 2つの違い
| 比較項目 | Tracking Script | Connect API |
|---|---|---|
| 送信処理 | ブラウザ側 | Webサーバー側 |
| サーバー開発 | 基本的に不要 | 必要 |
| CORS設定 | 必要 | 通常は不要 |
| OAuth認証 | 独自実装は不要 | 必要 |
| 主な識別情報 | Form Attributes | Content Key |
| Web行動との紐付け | 同じブラウザ上で紐付けやすい | 個別の設計・実装が必要 |
| データ加工 | 限定的 | 柔軟に対応可能 |
| 導入難易度 | 比較的低い | 比較的高い |
| 向いている用途 | 一般的なWebフォーム | 高度な連携・独自システム |
● Web行動との紐付けはどう違う?
Tracking Scriptの場合
フォーム送信とWebトラッキングが同じブラウザ上で動作するため、 ブラウザの識別情報とフォーム入力を関連付けやすい方法です。
ただし、Webトラッキングの設定と、 利用者の同意に基づくCookieの利用が前提になります。
Connect APIの場合
WebサーバーからSalesforceへ送信するため、 ブラウザのCookieに保持された識別情報は自動的には渡りません。
Web行動と紐付ける場合は、ブラウザ側の識別情報をサーバーへ渡し、 Salesforce側で関連付ける処理を個別に設計します。
● どちらを選べばよい?
Tracking Scriptがおすすめのケース
一般的なWebフォームをMarketing Cloud Nextへ連携し、 レコード作成やメール送信などを行いたい場合は、 Tracking Scriptを利用する方法が取り入れやすいでしょう。
Connect APIがおすすめのケース
フォームの入力内容をサーバー側で加工したい場合や、 送信ログ・エラー時の再送などを独自に管理したい場合は、 Connect APIを利用する方法が適しています。
● どちらもフォームハンドラーとフローを使用する
連携方法は異なりますが、どちらも最終的にはフォームハンドラーが情報を受け取り、 接続されたフローを実行します。
または
Connect API
+ フロー

