
【第608回】 Marketing Cloud Next : フォーム項目を回答に応じて動的表示
Marketing Cloud Next Growth & Advanced Editions の Winter ’27 新機能リリース では、フォームに Visibility Rules(表示ルール) が追加されました。
この機能追加により、ユーザーがフォームに入力した内容に応じて、別のフィールドを動的に表示または非表示にできます。

たとえば、以下のようなフォームが考えられます。
お客様区分 = 法人
→ 会社名、部署名、役職を表示お問い合わせ種別 = 契約について
→ 契約番号を表示資料の受け取り方法 = 郵送
→ 郵便番号、地域、住所を表示希望する連絡方法 = 電話
→ 電話番号、連絡可能時間帯を表示
すべてのユーザーに最初から大量の入力項目を表示するのではなく、そのユーザーに必要な項目だけを表示できるようになります。
Progressive Profiling とは何が違う?
今回の Visibility Rules は、既存の Progressive Profiling と少し似ています。
どちらも条件によってフォーム上のフィールドを表示できますが、主な目的が異なります。
Progressive Profiling
→ 過去に取得した情報を基に、まだ取得していない情報を段階的に収集するVisibility Rules
→ 現在のフォームへの回答や既存データを条件として、必要なフィールドを表示する
たとえば Progressive Profiling では、すでに Email を取得しているユーザーに対して、次回は Business Phone を表示するといった使い方ができます。
Progressive Profiling では、フォームに設定した Read Data Provider から既存データを取得し、その値を基に表示するフィールドを決定します。
一方、Visibility Rules では、
お問い合わせ種別 = 契約について
→ 契約番号を表示
のように、その場でユーザーが回答した内容を使ってフォームを変化させることができます。
そのため、大まかには、
Progressive Profiling = 段階的な情報収集
Visibility Rules = 汎用的な条件付き表示
と考えると分かりやすいと思います。
Visibility Rule を設定する
それでは実際に設定してみます。
今回は、お問い合わせ種別 = 契約について を選択した場合のみ、
契約番号 を表示するフォームを作成します。
0. CRM 側に項目を用意する
今回のデモを行うに辺り、以下のような項目をリードに用意しました。
① Inquiry Type(お問い合わせ種別)
Field Label: Inquiry Type
API Name: InquiryType__c
Data Type: Picklist
Values:
Product Inquiry(製品について)
Contract Inquiry(契約について)
Other(その他)
Required:No
② Contract Number(契約番号)
Field Label: Contract Number
API Name: ContractNumber__c
Data Type: Text (50)
Required:No
これで、Inquiry Type = Contract Inquiry を選択した場合だけ、Contract Number が表示されるデモを作成します。
ここでのポイントは、これらの項目は必ずしもデータストリームで Data 360 側に存在している必要はないという点です。フォームで取得された値は、直接フローから操作して CRM 項目を更新させることが可能です。
1. フィールドを配置する
まず Form Builder に、以下のフィールドを配置します。
Inquiry Type(お問い合わせ種別)
Contract Number(契約番号)

注意:条件を決定するフィールドは、表示を制御するフィールドより前に配置する必要があります。
つまり、今回の場合は、以下の順番で配置します。
「お問い合わせ種別」が上にあり
↓
「契約番号」が下にあるような状態にしてください
2. Visibility Rules を開く
次に、表示を制御したい 契約番号 側を選択し、フィールドのプロパティパネルから、Rules タブを開きます。

Visibility Rules > New Rule を選択します。

3. 条件の評価方法を設定する
Show This Field When では、複数の条件をどのように評価するかを指定できます。
利用できるのは以下の 3 種類であり、カスタムロジックも利用できるため、詳細な設定が可能です。
All Conditions Are Met:すべての条件を満たした場合
Any Condition Is Met:いずれかの条件を満たした場合
The Custom Logic Is Met:カスタムロジックを満たした場合
但し、今回は条件が 1 つだけなので、デフォルトの All Conditions Are Met のまま利用します。

4. 制御するフィールドを指定する
次に Field から、
Form Fields > お問い合わせ種別
を選択します。
続いて、
Operator:Equal
Value:Contract Inquiry(契約について)
を設定します。ここでの Contract Inquiry は手入力します。

これで、
お問い合わせ種別 = 契約について
の場合のみ、契約番号が表示されます。
条件には以下の演算子を利用できます。
Equal
Not Equal
Contains
Not Contains
Starts With
Is Already Known
Is Unknown
別の条件を追加する場合は Add Condition から追加します。
設定が完了したら Save をクリックします。

公開フォームで確認する
フォームを公開して動作を確認します。最初は 契約番号 が表示されていません。

お問い合わせ種別から「契約について」を選択すると、下に「契約番号」が表示されます。

「別のお問い合わせ種別」を選択すると、契約番号は再び「非表示」になります。

このように、ユーザーの回答に応じてリアルタイムにフォームを変化させることができます。
Data Graph のデータも条件に利用できる
Visibility Rules で利用できるのは、現在のフォーム上の回答だけではありません。
条件を指定する Field では、Form Fields に加えて、
Data Graph の直接属性の項目
も選択できます。

これにより、フォームを表示しているユーザーについてすでに保有している情報を使って、表示するフィールドを変更することもできます。
たとえば、データグラフのデータから会員番号が作成されている場合だけ、
お客様番号
契約商品
などのフィールドを表示するといった使い方も考えられます。
つまり、その場でユーザーが入力した情報と、すでに保有している情報の両方を条件としてフォームを変化させることができます。
ユースケース
Visibility Rules は、さまざまなフォームで活用できます。
たとえば お客様区分 に応じたフォームでは、法人を選択した場合のみ、
会社名
部署名
役職
などを表示できます。
お問い合わせフォームでは、お問い合わせ種別に応じて、
契約番号
製品名
利用中のサービス
イベント名
など、必要な追加項目だけを表示できます。
資料請求フォームでは、資料の受け取り方法で「郵送」を選択した場合のみ、
郵便番号
地域
住所
を表示できます。
連絡希望フォームでは、「電話」を選択した場合のみ、
電話番号
連絡可能時間帯
を表示するといった使い方もできます。
このようにすべてのユーザーに同じ質問を表示するのではなく、そのユーザーの回答に関連する質問だけを表示できる のが今回の機能のポイントです。
制限事項
Visibility Rules には、いくつかの制限があります。
1 つのフォームには、最大 50 個の表示ルールを追加できます。
また、依存関係は最大 2 階層まで設定できます。
さらに、別のフィールドの Visibility Rule で条件として利用しているフィールドを削除すると、そのルールは機能しなくなります。
フォームを後から変更する場合は、削除するフィールドが Visibility Rule の条件として利用されていないか確認する必要があります。
いかがでしたでしょうか。
Progressive Profiling が、すでに取得している情報を基に新しい情報を段階的に収集する仕組みなのに対して、Visibility Rules は フォーム上の回答や既存データに応じて、必要な質問だけを表示する仕組みと考えると分かりやすいと思います。
すべてのユーザーに同じ入力項目を並べる必要がなくなり、よりシンプルで柔軟なフォームを作成できる、Winter ’27 の便利な新機能です。ぜひご活用ください。
今回は以上です。