Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Data Cloud: データエクステンション内の関連フィールドの JSON を解析する

公開日: Dec 4, 2025
説明

Data Cloud から SFMC にセグメントをアクティブ化するときに、アクティブ化の一環として関連する属性を含めることができます。セグメント公開時に、生成されたデータエクステンションに関連オブジェクトのフィールドが JSON 形式で保存されます。この動作は同じ登録者キーの複数の関連する値が存在する場合に、値が重複しないようにすることを意図しています。

メールでこの関連属性値を使用するには、AmpScript を使用して JSON データを解析し、必要なフィールドを抽出します。抽出した値はビジネス要件に応じて、動的にメールのコンテンツに挿入できます。

解決策

以下は JSON データを解析し、抽出した値をメールで使用する方法を示した AmpScript のコードスニペットのサンプルです。それぞれの使用事例とフィールド名に合わせて、このコードを修正してください。

%%[
/* 変数を宣言する */
var @subscriberKey, @jsonData, @rowSet, @rowCount, @currentRow, @fieldValue
var @imageURL1, @imageURL2, @imageURL3

/* 購読者キーと JSON データをデータエクステンションから取得する */
SET @subscriberKey = AttributeValue("SubscriberKey")
SET @jsonData = AttributeValue("RelatedFieldName") /* 'RelatedFieldName' を実際のフィールド名に置き換え */

/* JSON データを解析して反復のための行セットを作成する */
SET @rowSet = BuildRowsetFromJSON(@jsonData, "$.[]", 0)
SET @rowCount = RowCount(@rowSet)

/* JSON データの各行を処理する */
IF @rowCount > 0 THEN
FOR @i = 1 TO @rowCount DO
SET @currentRow = Row(@rowSet, @i)
SET @fieldValue = Field(@currentRow, "YourFieldName") /* 'YourFieldName' を抽出するフィールドと置き換える */

/* 例: フィールド値を一致させて特定の URL またはコンテンツを割り当てる */
IF @fieldValue == "Condition1" THEN
SET @imageURL1 = "https://your-image-url-1.com" /* 自社 URL に置き換える*/
ENDIF
IF @fieldValue == "Condition2" THEN
SET @imageURL2 = "https://your-image-url-2.com" /* 自社 URL に置き換える */
ENDIF
IF @fieldValue == "Condition3" THEN
SET @imageURL3 = "https://your-image-url-3.com" /* 自社 URL に置き換える */
ENDIF
NEXT @i
ENDIF
]%%

説明:

  1. 変数:
    1. @subscriberKey: 登録者固有の ID です。
    2. @jsonData: データエクステンションの関連するフィールドから抽出した JSON データを保持します。
    3. @rowSet および @rowCount: JSON データの行の解析とカウントに使用されます。
    4. @currentRow および @fieldValue: 個々の行を処理し、特定のフィールド値を抽出します。
  2. カスタマイズする部分:
    1. RelatedFieldName」を JSON が含まれるデータエクステンションフィールドの名前に変更します。
    2. YourFieldName」を抽出する特定の JSON フィールドに変更します。
    3. 条件 (Condition1Condition2 など) と URL をビジネスロジックに合致するように変更します。

このスクリプトは JSON データの各行に対して繰り返し実行され、必要なフィールドを抽出して、フィールドの値に基づきアクション (URL の割り当てなど) を実行します。

ナレッジ記事番号

003960855

 
読み込み中
Salesforce Help | Article