【第534回】 Marketing Cloud Next : マーケティングオブジェクトの設定方法
Marketing Cloud Next Growth & Advanced Editions の Summer '26 新機能リリース で追加された「マーケティングオブジェクト」は、マーケティング施策で利用するデータを保存するための箱(データストア)です。
Marketing Cloud Engagement で言うところの「データエクステンション」に近い役割を持ち、CSV ファイルをインポートすることでデータを取り込めます。現時点では CSV ファイルの手動インポートのみ利用可能です。
ここで取り込んだデータは、AMPscript の Lookup 関数を通じて、メール施策におけるパーソナライゼーションに活用できます。
サポートされているデータ型
Text ・・・ 最大 255 文字まで格納できる文字列
Number ・・・ 最大 18 桁の正または負の整数
Decimal ・・・ 最大 18 桁の正または負の小数
上記のデータの長さは、拡張・縮小することはできません。
リソースの割り当て
マーケティングオブジェクト全体の収納可能な容量(GB)
Growth Edition ・・・ 10 GB
Advanced Edition ・・・ 40 GB
マーケティングオブジェクトの数
Growth Edition ・・・ 25 個
Advanced Edition ・・・ 100 個
各マーケティングオブジェクト内の項目数
Growth Edition ・・・ 100 項目
Advanced Edition ・・・ 100 項目
マーケティングオブジェクトは何に使うのか?
Data Cloud が十分に構造化されている環境であれば、顧客データのパーソナライゼーションは、Data Cloud のデータを直接利用して実現できます。
では、「マーケティングオブジェクトは何のために存在するのか?」
という疑問を持つ方もいると思います。
私の理解では、
Data Cloud
= Customer Data Platform(CDP)Marketing Object
= Reference Data Platform
という位置付けなのではないかと考えています。
Reference Data Platform としての活用例
これまでのマーケティング施策では、
顧客に紐付かないデータ
担当者が簡単に更新したいデータ
CSV で管理されているデータ
を扱うケースが数多くありました。
例えば、
キャンペーンごとのメッセージ
セグメントごとの CTA
言語ごとの見出し
季節ごとのプロモーション文言
などです。
メールのレイアウトは同じでも、
CampaignCode
Locale
SegmentCode
などによって、その表示内容だけを切り替えたいケースはよくあります。
デモシナリオ
そこで、今回の記事では、以下のような参照データをマーケティングオブジェクトに格納し、
キャンペーン
ロケール
セグメント
に応じて、項目を切り替えるデモを実施したいと思います。
CampaignCode
Locale
SegmentCode
Headline
SubHeadline
HeroMessage
OfferLabel
PrimaryCTA以下より、サンプルデータをダウンロードできます。
マーケティングオブジェクトの作成
1. Summer '26 以降、新たに Marketing Cloud アプリに追加された「Data Management」タブを開きます。

2. 「新規」をクリックします。

3. 事前に準備した CSV ファイルをアップロードします。

4. 以下の情報を入力して、「次へ」をクリックすると、確認画面は表示されず、すぐにインポートが開始されます。
Name
例:Campaign Message ReferenceAPI Name
例:Campaign_Message_ReferenceDescription
例:Reference data store for campaign messaging content by CampaignCode, SegmentCode, and Locale.

※ 今回のサンプルでは、以下の 3 項目をプライマリーキーとして設定します。(マーケティングオブジェクトは複合キーをサポートしていません。)
CampaignCode
Locale
SegmentCode
重要:AMPscript の Lookup 関数を利用する際は、プライマリーキーで設定した項目を必ず引数として加える必要 があります。
5. インポートが完了するとマーケティングオブジェクトが作成されました。

6. マーケティングオブジェクトを開くと、詳細タブが表示されます。
ここで確認できる API Name は、後ほど AMPscript から参照する際に利用します。重要なのは、ラベル名ではなく API 名を使用する という点です。

7. 「データエクスプローラー」タブでは、インポートされたレコードを確認できます。

マーケティングオブジェクトの制約の解消
以前は、現時点のマーケティングオブジェクトでは、
レコード追加不可レコード更新不可
となっていましたが、2026 年 8 月の改修で、
フィールドの新規追加

同じマーケティングオブジェクトに対する CSV ファイルによる全件上書き(フルリフレッシュのみ)

データエクスプローラー UI による各値の編集(← まだ?🤔)
そのため、以前はマーケティングオブジェクト自体を削除し、CSV を修正してからの再インポートが必要でしたが、少数のレコードを入力する場合は、より簡単に編集できるようになりました。
CRM データの準備
今回は CRM 側に、以下の 3 つの「選択リスト」項目を作成しました。
Campaign Code
Locale
Segment Code
選択リストの値としては、以下を入れています。
Campaign Code
SUMMER26
AUTUMN26
WINTER26
SPRING27Locale
en_US
ja
frSegment Code
GENERAL
VIP
DORMANT
NEW_CUSTOMER
HIGH_VALUEそして今回は、CampaignCode を SUMMER26 固定、Locale を en_US 固定とし、SegmentCode のみ異なるレコードを作成しました。

コンテンツ作成
次に、メールコンテンツの編集画面を開いたら、以下の 4 つの「コンテンツ変数」を作成します。データ型は「テキスト」型です。
firstName
campaignCode
locale
segmentCode
コンテンツ変数がよく分からない人は、こちらの記事を確認してください。
続いて、メールの件名には、以下を入力してください。
%%=v(@headline)=%%本文には、HTML ブロックを配置し、以下の AMPscript を利用します。最上部の「$content.〇〇」でフローからコンテンツ変数を割り当てる予定です。
%%[
SET @firstName = $content.firstName
SET @campaignCode = $content.campaignCode
SET @segmentCode = $content.segmentCode
SET @locale = $content.locale
SET @headline = Lookup("Campaign_Message_Reference__mo","Headline__c","CampaignCode__c",@campaignCode,"SegmentCode__c",@segmentCode,"Locale__c",@locale)
SET @subHeadline = Lookup("Campaign_Message_Reference__mo","SubHeadline__c","CampaignCode__c",@campaignCode,"SegmentCode__c",@segmentCode,"Locale__c",@locale)
SET @heroMessage = Lookup("Campaign_Message_Reference__mo","HeroMessage__c","CampaignCode__c",@campaignCode,"SegmentCode__c",@segmentCode,"Locale__c",@locale)
SET @offerLabel = Lookup("Campaign_Message_Reference__mo","OfferLabel__c","CampaignCode__c",@campaignCode,"SegmentCode__c",@segmentCode,"Locale__c",@locale)
SET @primaryCTA = Lookup("Campaign_Message_Reference__mo","PrimaryCTA__c","CampaignCode__c",@campaignCode,"SegmentCode__c",@segmentCode,"Locale__c",@locale)
]%%
<div style="max-width:600px;margin:0 auto;padding:32px 24px;font-family:Arial,Helvetica,sans-serif;color:#1f1f1f;line-height:1.6;">
<p style="font-size:16px;margin:0 0 24px;">
Hi <strong>%%=v(@firstName)=%%</strong>,
</p>
<p style="font-size:16px;margin:0 0 24px;">
As one of our valued customers, you are invited to preview our summer collection before it becomes available to everyone else.
</p>
<h1 style="font-size:32px;line-height:1.2;margin:0 0 16px;color:#032d60;">
%%=v(@headline)=%%
</h1>
<h2 style="font-size:20px;line-height:1.4;margin:0 0 24px;color:#0176d3;font-weight:600;">
%%=v(@subHeadline)=%%
</h2>
<p style="font-size:17px;margin:0 0 28px;color:#333333;">
%%=v(@heroMessage)=%%
</p>
<div style="background:#f3f8ff;border-left:5px solid #0176d3;padding:18px 20px;margin:0 0 28px;">
<p style="margin:0 0 6px;font-size:13px;color:#0176d3;font-weight:bold;text-transform:uppercase;letter-spacing:0.5px;">
Special Offer
</p>
<p style="margin:0;font-size:20px;color:#032d60;font-weight:bold;">
%%=v(@offerLabel)=%%
</p>
</div>
<p style="font-size:16px;margin:0 0 18px;">
Click below to start exploring:
</p>
<p style="margin:0 0 32px;">
<a href="#"
style="display:inline-block;background:#0176d3;color:#ffffff;text-decoration:none;font-size:16px;font-weight:bold;padding:14px 28px;border-radius:4px;">
%%=v(@primaryCTA)=%%
</a>
</p>
<p style="font-size:16px;margin:0 0 8px;">
Thank you for being one of our most valued customers.
</p>
<p style="font-size:16px;margin:0 0 28px;">
The Example Company Team
</p>
<p style="font-size:12px;color:#666666;margin:0;border-top:1px solid #dddddd;padding-top:16px;">
Availability, eligibility, and offer details may vary by customer and region.
</p>
</div>
完成したら、保存して、コンテンツを公開をします。

Tips:データグラフの項目参照
上の例は、コンテンツ変数を利用していますが、データグラフの項目を参照する場合は、次の形式で指定します。
$dataGraph.項目名例えば、データグラフ内の Email 項目を参照する場合は、以下のように記述します。
$dataGraph.Email__cこのように $dataGraph を利用することでも、データグラフに格納された属性をメールコンテンツ内で参照し、受信者ごとにパーソナライズされたメッセージを作成できます。
フローの設定
最後にフローの設定ですが、今回は「レコードクエリフロー」を使用します。

メール送信要素の「コンテンツ変数」でマッピングする際、選択リスト型であっても、テキスト型にはマッピングは可能ですので、「Triggered Lead」のリソースを活用して、以下の通りマッピングします。

Tips: コンテンツのパーソナライゼーションで参照しているマーケティングオブジェクト内に該当レコードが存在しない場合、メールは空欄の内容で送信されません。配信は一時的に「Retry(リトライ)」ステータスとなり、参照先のデータが利用可能になるまで再試行が継続されます。該当レコードが追加されると、次回のリトライ処理でメールが送信されます。
例:ロケールが「en_US」ではなく「en-US」で登録されているなど。
他は一般的な設定ですので、完成させて、フローを有効化してください。

送信されたメールの確認
送信の結果、今回 5 名分メールが送信されてきましたが、代表として 3 通分を表示しておきます。セグメントに合わせて、それぞれ異なるメールが送信されていることが分かります。成功です。
メール例 ①

メール例 ②

メール例 ③

いかがでしたでしょうか。
マーケティングオブジェクトを利用することで、顧客データとは別に管理したい 参照データ(Reference Data)を Marketing Cloud Next 内で保持できるようになりました。
特に、
キャンペーンごとのメッセージ管理
ロケールごとの文言切り替え
セグメントごとの CTA 出し分け
季節キャンペーンの管理
といった用途では非常に相性が良いと感じます。
Data Cloud が顧客データを管理するための基盤だとすると、マーケティングオブジェクトは、マーケティング施策向けの「参照データ管理基盤」として活用できる可能性があります。
現時点では編集機能や API 連携(自動連携)がなく、手動 CSV インポートのみという制約がありますが、AMPscript と組み合わせることで、セグメントやロケールに応じたメールコンテンツの出し分けをシンプルに実現できるようになった ことを確認できたかと思います。
今回は以上です。
