Tracking Scriptを利用したフォームハンドラー連携 – MCN Learning Community

Tracking Scriptを利用したフォームハンドラー連携

🍀 Tracking Scriptを利用したフォームハンドラー連携とは

Marketing Cloud Nextのフォームハンドラーは、 外部Webサイトに設置したフォームの入力情報を受け取り、 Salesforceのフローへ渡すための仕組みです。

フォームハンドラーから取得したTracking Scriptと Form Attributesを外部フォームのHTMLへ追加することで、 既存フォームのデザインを活かしながら入力情報をSalesforceへ連携できます。
Tracking Scriptを利用したフォームハンドラー連携のイメージ

フォームハンドラーが情報を受け取ると、 あらかじめ接続しておいたフローが実行されます。

フローでは、フォームの入力内容を利用して、 リードや取引先責任者などのレコードの作成・更新、 メール送信などの処理を実行できます。

Tracking Scriptを利用した連携の流れ

STEP 1

フォームに入力・送信

お客様がWebサイトのフォームへ、 会社名、氏名、メールアドレスなどを入力して送信します。

STEP 2

Tracking Scriptで連携

フォームに追加したTracking Scriptが送信処理を行い、 対象のフォームハンドラーへ入力情報を渡します。

STEP 3

フローを実行

フォームハンドラーに接続されたフローへ、 入力された情報が渡されます。

STEP 4

Salesforceへ反映

フローによって、リードや取引先責任者などの Salesforceレコードを作成・更新します。

設定前に確認すること

フォームハンドラーを設定する前に、 外部フォームの入力項目や、フォーム送信後に実行する処理を確認しておきましょう。

1

外部フォームの準備

連携する外部フォームは、すでに作成されていますか?

Tracking ScriptとForm Attributesを追加するため、 外部フォームのHTMLを編集できることも確認しましょう。

2

入力項目とname属性

会社名、氏名、メールアドレスなど、 フォームから送信する項目を確認します。

あわせて、各入力項目に設定されている name属性の値も確認しましょう。

例:メールアドレス
name="emailAddress"

3

送信後に実行する処理

フォーム送信後に、どのような処理を実行するか決めておきます。

例:レコードの作成・更新、担当者への通知、メール送信

リードや取引先責任者など、 レコードの保存先となるSalesforceオブジェクトも確認しましょう。

4

WebサイトのオリジンURL

CORS許可リストへ登録するため、 外部フォームを設置しているWebサイトのオリジンURLを確認します。

フォームのURL
https://www.example.com/contact/

オリジンURL
https://www.example.com

💡 外部項目名を一致させましょう

フォームハンドラーの「外部項目名」には、 外部フォームの入力項目に設定されている name属性と同じ値を設定します。

外部項目名は、大文字・小文字を含めて完全に一致させてください。

⚠️ HTMLを編集できない場合

外部フォームのHTMLを編集できない場合は、 Tracking Scriptを利用したフォームハンドラー連携を設定できません。 外部フォームの提供元や管理担当者へ確認してください。

手順1:CORS許可リストを設定する

外部Webサイトからフォームを送信できるように、 Salesforceの[設定]で「CORS」を検索し、 フォームを設置するWebサイトのオリジンURLを登録します。

SalesforceのCORS設定画面

💡 オリジンURLの入力例

https://www.example.com

URLには、https://などのプロトコルと ドメイン名を含めます。サブドメインをまとめて許可する場合は、 必要に応じてhttps://*.example.comのように設定します。

⚠️ 許可する範囲を必要以上に広げないでください

ワイルドカードを使用すると複数のサブドメインを許可できます。 セキュリティを考慮し、フォームを設置するWebサイトに必要な範囲だけを登録しましょう。

手順2:フォームハンドラーを作成する

[コンテンツ]タブを開き、対象のマーケティングワークスペースで フォームハンドラーを作成します。

操作 1

ワークスペースを選択する

[コンテンツ]タブを開き、 フォームハンドラーを作成する マーケティングワークスペースを選択します。

Marketing Cloud Nextのマーケティングワークスペース選択画面
操作 2

フォームハンドラーを追加する

[追加][コンテンツ]をクリックし、 表示された画面から[フォームハンドラー][作成]をクリックします。

Marketing Cloud Nextのマーケティングワークスペース選択画面
操作 3

基本情報を設定する

編集画面左上の「タイトル未定」の横にある鉛筆アイコンをクリックし、 フォームハンドラーの名前を設定します。

Marketing Cloud Nextのマーケティングワークスペース選択画面
操作 4

データソースを追加する

[データソース]セクションでデータソースを追加し、 フォーム送信後にレコードを作成・更新する対象オブジェクトを選択します。

Marketing Cloud Nextのマーケティングワークスペース選択画面

手順3:外部項目名を設定する

フォームハンドラーでは、外部フォームから受け取る項目ごとに 外部項目名を設定します。

外部項目名は、外部フォームから送信されるデータの項目名と 完全に一致させる必要があります。

💡 外部項目名の設定例

  • 会社名:companyName
  • 姓:lastName
  • 名:firstName
  • メールアドレス:emailAddress

⚠️ 大文字・小文字を含めて一致させてください

たとえば、フォームハンドラー側で 「emailAddress」と設定した場合は、 外部フォームから送信する項目名も 「emailAddress」にします。

項目名が一致していない場合、 入力された情報を正しく受け取れない可能性があります。

💡 HTMLのname属性を確認しましょう

外部項目名には、外部フォームの入力項目に設定されている name属性の値を入力します。

<input type="text" id="lastName" name="lastName" required>

上記の場合、フォームハンドラーの外部項目名には lastNameを設定します。

⚠️ 入力値の形式にも注意してください

  • 外部項目名には半角スペースを使用しない
  • チェックボックス型の値は true または false で送信する
  • 日付は YYYY-MM-DD、日時はタイムゾーンを含む所定の形式で送信する

手順4:スパム保護とリダイレクト先を設定する

必要に応じて、スパム送信を判定するハニーポット項目を追加します。 ハニーポットを使用する場合は、フォームハンドラーに設定した外部項目名と同じ name属性を持つ非表示項目を外部フォームにも追加します。

あわせて、フォーム送信に成功した場合と失敗した場合のリダイレクト先URLを設定し、 フォームハンドラーを保存します。

手順5:自動化フローを作成・有効化する

フォームハンドラーが受け取った情報を利用して、 レコードの作成・更新やメール送信などを行うフローを設定します。

たとえば、会社名・姓・名・メールアドレスを受け取り、 その情報を使用して新しいリードを作成する処理などを設定できます。

⚠️ フローを有効化するとフォームハンドラーも公開されます

フォームハンドラー側で単独の公開操作を行うのではなく、 接続したフローを有効化することで、フォームハンドラーもあわせて公開されます。

フロー作成後にフォームハンドラーの項目などを変更した場合は、 新しいフローバージョンを作成し、保存・有効化してください。

手順6:Tracking ScriptとForm Attributesをコピーする

フローを有効化し、フォームハンドラーが公開されたことを確認したら、 フォームハンドラーの詳細画面からTracking Scriptをコピーします。

続いて、同じ画面に表示されるForm Attributesもコピーします。 Form Attributesには、どのフォームハンドラーと連携するフォームなのかを識別するための属性が含まれます。

手順7:外部フォームのHTMLへ追加する

コピーしたTracking Scriptを、外部Webページの </body>タグの直前へ貼り付けます。

次に、コピーしたForm Attributesを、連携対象となる <form>タグ内へ追加します。

<form id="フォームハンドラー固有のID"
      data-uma-forms="true"
      method="post">
  <input type="text" name="lastName" required>
  <input type="text" name="firstName" required>
  <input type="email" name="emailAddress" required>
  <button type="submit">送信</button>
</form>

<!-- Tracking Scriptは実際の画面からコピーしたものを貼り付けます -->

⚠️ サンプルのIDをそのまま使用しないでください

Form AttributesとTracking Scriptはフォームハンドラーごとに発行されます。 必ず、ご自身のフォームハンドラー画面に表示された内容をコピーして使用してください。

💡 reCAPTCHAを利用している場合

外部ページ側でトークンを生成し、フォーム送信時にトークンも送信されるように設定します。

手順8:フォームをテスト送信する

外部Webページを公開したら、実際にフォームへ入力して送信します。 成功時のページへリダイレクトされることと、Salesforceに対象レコードが作成・更新されていることを確認します。

💡 テスト時のチェック項目

  • 必要な項目がすべて追加されていること
  • 外部項目名に誤りがないこと
  • 外部フォーム側の項目名と一致していること
  • CORS許可リストに外部サイトのオリジンURLが登録されていること
  • Tracking Scriptを</body>タグの直前へ追加していること
  • Form Attributesを対象の<form>タグへ追加していること
  • 接続するフローが有効化され、フォームハンドラーが公開されていること
  • 成功時・失敗時のリダイレクト先が正しく動作すること
✅ Tracking ScriptとForm Attributesを外部フォームへ追加し、テスト送信でSalesforceへの反映を確認しましょう。