
【第212回】 プロファイル属性の項目とデータエクステンションの項目の関係性
Salesforce Marketing Cloud において、顧客一人ひとりに合わせたメッセージを作成する際、プロファイル属性の項目とデータエクステンションの項目が同じ名前だった場合、どちらの値が使用されるか気になりますよね。今回、その動作について明確にしておきましょう。
データエクステンションの項目が存在し、値がある場合
⇒ データエクステンションの値が優先されます。個々のキャンペーンやターゲティングに特化した値を用意できるため、柔軟なパーソナライゼーションが実現可能です。データエクステンションの項目が存在するが、値が NULL の場合
⇒ プロファイル属性の項目の値が使用されます。これにより、データエクステンションで情報が不足している場合でも、プロファイル属性で保持されている値を活用することでスムーズに対応します。データエクステンションの項目自体が存在しない場合
⇒ プロファイル属性の項目の値が採用されます。プロファイル属性のデータが存在することで、いつでも基本的な顧客情報が確保される仕組みになっています。
実際に Marketing Cloud の画面でテストしてみましょう。
プロファイル属性は、以下の「プロファイル管理」の画面で、追加・編集・削除などの設定ができます。これらの項目は、「すべての購読者」の属性となります。項目の設定後は、手動で値を入力できる他、Automation Studio を使って値をインポートすることができます。
Marketing Cloud Connect を使用して連携している場合、「追加メソッド」が「SalesforceSubscriber」となっている購読者は、手動入力やインポートができません。Salesforce CRM 側からの編集が必要です。

今回、プロファイル属性の Last Name には「Watanabe」、First Name には「Nobuyuki」が入力されています。

一方、データエクステンションには Last Name という項目だけを作成して、漢字で「渡邊」を入力しています。First Name は作成していません。

今回のポイントは、プロファイル属性の Last Name とデータエクステンションの Last Name が 同じであること でしたね。これらを使って、Email Studio の「プレビュー&テスト」で表示を確認してみます。

すると、Last Name はデータエクステンションの項目から使われており、First Name はプロファイル属性から使用されていることが分かります。

このことで、以下の 2 つが同時に確認できましたね。
1. データエクステンションの項目が存在し、値がある場合(Last Name、渡邊)
3. データエクステンションの項目自体が存在しない場合(First Name)
続いて、以下を確認してみます。
2. データエクステンションの項目が存在するが、値が NULL の場合
Last Name の値を、Contact Builder で NULL(空)にします。

「プレビュー&テスト」で表示を確認してみると、データエクステンションの項目の値である NULL ではなく、プロファイル属性の値が表示されます。

ちなみに、試しに Last Name に「半角スペース」を入れてみます。

すると下記の通り、Last Name が表示されなくなりました。

これで 2 の場合も確認ができました。
SalesforceSubscriber について
最後に、1 つ 注意点があります。
先ほど、以下のように書きました。
Marketing Cloud Connect を使用して連携している場合、「追加メソッド」が「SalesforceSubscriber」となっている購読者は、手動入力やインポートができません。Salesforce CRM 側からの編集が必要です。

確かに「追加メソッド」が「SalesforceSubscriber」となっている購読者の「すべての購読者」のプロパティの値は、上で説明してきた方法で変更ができるのですが、それを Salesforce CRM 側から編集しただけでは Marketing Cloud 側で、ある種の表示の不整合が発生する場合があります。
この不整合を回避するには、以下の処理のどちらかを行う必要があります。
○ 方法 1:同期済みデータエクステンションを使い、Automation Studio のインポートアクティビティで「すべての購読者」へ定期的にインポートする
○ 方法 2:Salesforce CRM で値の変更後、以下の OK ボタンをクリックする

これは、「追加メソッド」が「SalesforceSubscriber」となっている購読者には、「表」設定と「裏」設定のようなものがあって、私の理解では、以下のような整理をしています。
「表」設定: Salesforce CRM 側から更新する
「裏」設定: Salesforce CRM 側の更新後に手動で OK ボタンを押すか、Automation Studio で「すべての購読者」にインポートをして更新する
毎回手動で OK ボタンを押して行くのは、なかなか非現実的な作業ですので、「表」設定と「裏」設定を同期させるためには、Automation Studio で「すべての購読者」へインポートすることを必須の作業とするのがよろしいかと思います。
この「表」設定と「裏」設定の値が一致していないと、皆さんの想定通りの送信にならない場合があります。

例えば、パーソナライズ文字列で属性データを使用する際、送信方法や「送信時の値で購読者の値を更新しない」チェックボックスの有無によって、適用される値が変わることがあります。
以下に、「表」設定と「裏」設定の値に不整合がある場合に、どちらの値を使って、パーソナライズ文字列が送信されるかをまとめてみました。
「追加メソッド」が「SalesforceSubscriber」の場合の挙動

※ この場合、緑で色付けされた Jounrney Builder 送信の場合は「表」設定のデータで「裏」設定のデータが上書きされます。一方、Marketing Cloud 送信の場合は「表」設定のデータで「裏」設定のデータは上書きされません。
※「裏」設定の値と呼んでいますが、実はシステムデータということではなく、以下の「すべての購読者」のリストに表示されている値のことです。この値が、「追加メソッド」が「SalesforceSubscriber」の場合に、プロパティ画面の値と不整合を起こすわけですね。

いかがでしたでしょうか。
プロファイル属性とデータエクステンションの関係は、意外とスマートに機能していることが確認できたかと思います。
このプロファイル属性の機能自体は、前回の記事で紹介した Data Cloud のデータアクションでメールトリガーを使用する際に使用したりしますので、まだまだオワコンではない機能と言えます。しっかりと挙動を把握して、配信ミスが起こらないよう気を付けましょう。
今回は以上です。