次の方法で共有


フィード レコード - 一括

一括ファイルでダウンロードおよびアップロードできるフィードを定義します。

ヒント

フィードとフィード項目の使用方法の概要については、 広告カスタマイザー フィード自動在庫フィードページ フィード に関するテクニカル ガイドを参照してください。

注:

  • 拡張テキスト広告を、2023 年 2 月 1 日までにレスポンシブ検索広告にアップグレードします。 この日付を過ぎると、新しいテキスト広告を作成したり、既存の拡張テキスト広告を編集したりできなくなります。 詳細については、「 レスポンシブ検索広告について」を参照してください。
  • スケジュールされたフィードは引き続き実行され、広告カスタマイザー フィードを使用して拡張された既存のテキスト広告は引き続き配信されます。 パフォーマンスに関するレポートを表示できます。
  • 既存の広告カスタマイザー フィードは引き続き一時停止、実行、削除できます。 そうしないと、拡張テキスト広告の既存の広告カスタマイザーを作成または編集しようとすると、エラーが発生 CustomerNotEligibleForAdCustomizersFeed します。
  • この変更の詳細については、こちらをご覧ください

同じ Bulk ファイルに新しい親エンティティと子エンティティを作成する場合は、階層に従って依存関係の後に依存レコードを含める必要があります。

  1. フィード
  2. キャンペーン
  3. 広告グループ
  4. フィード項目

アカウントごとに 100 個のフィードを作成できます (この最大数にはすべてのフィードの種類が含まれます)、アカウントあたりのフィード項目 (行) の最大数は 500 万です。

アカウント内のすべてのフィード レコードをダウンロードできます。これには、DownloadCampaignsByAccountIds または DownloadCampaignsByCampaignIds サービス要求にフィードDownloadEntity 値を含めることができます。 さらに、ダウンロード要求には EntityData スコープを含める必要があります。 ベスト プラクティスを含む一括サービスの詳細については、「 一括ダウンロードとアップロード」を参照してください。

次の一括 CSV の例では、新しいページ フィード、自動インベントリ、広告カスタマイザー フィードを追加し、それぞれに 1 つの フィード項目 を追加します。

Type,Status,Id,Parent Id,Sub Type,Campaign,Ad Group,Client Id,Modified Time,Start Date,End Date,Device Preference,Keyword,Match Type,Target,Physical Intent,Name,Ad Schedule,Audience Id,Feed Name,Custom Attributes
Format Version,,,,,,,,,,,,,,,,6,,,,
Feed,Active,-20,,PageFeed,,,PageFeedClientIdGoesHere,,,,,,,,,,,,MyPageFeedName,"[{""name"":""Page Url"",""feedAttributeType"":""Url"",""isPartOfKey"":true},{""name"":""Custom Label"",""feedAttributeType"":""StringList""},{""name"":""Ad Title"",""feedAttributeType"":""String""}]"
Feed,Active,-21,,AdCustomizerFeed,,,AdCustomizerFeedClientIdGoesHere,,,,,,,,,,,,MyAdCustomizerFeedName,"[{""name"":""DateTimeName"",""feedAttributeType"":""DateTime""},{""name"":""Int64Name"",""feedAttributeType"":""Int64""},{""name"":""PriceName"",""feedAttributeType"":""Price""},{""name"":""StringName"",""feedAttributeType"":""String"",""isPartOfKey"":true}]"
Feed,Active,123456789,DynamicDataAutoListingFeedNew,CampaignName,AUTO ad group,-21,,DynamicDataAutosListingFeed,,"[{""name"":""Vehicle ID""},{""name"":""Final URL""},{""name"":""Image URL""},{""name"":""Make""},{""name"":""Model""},{""name"":""Price""},{""name"":""Title""},{""name"":""Target campaign""},{""name"":""Target ad group""},{""name"":""Latitude""},{""name"":""Longitude""},{""name"":""Mileage value""},{""name"":""Mileage unit""},{""name"":""Year""},{""name"":""Fuel type""},{""name"":""Transmission""},{""name"":""City""},{""name"":""VIN""},{""name"":""State of vehicle""}]"
Feed Item,Active,123456789,DynamicDataAutoListingFeedNew,CampaignName,AUTO ad group,,-21,,,"{""Vehicle Id"":""2g161290-1d13"",""""Final Url"""":""https:\/\/www.contoso.com\/used-Redmond1"",""Image Urls"":""https:\/\/www.contoso.com\/inventoryphotos\/01.jpg;https:\/\/www.contoso.com\/inventoryphotos\/02.jpg"",""Make"":""Contoso"",""Model"":""SUV"",""Price"":""65495.00 USD"",""Title"":""2020 SUV"",""Target campaign"":""CampaignName"",""Target ad group"":"""",""Latitude"":"""",""Logitude"":"""",""Mileage Value"":""13000"",""Mileage Unit"":""MI"",""Year"":""2020"",""Fuel Type"":"""",""Transmission"":"""",""City"":""Redmond"",""Vin"":""SALLJGML8HA004044"",""State of Vehicle"":""USED"",""Trim"":""HSE""}"
Feed Item,Active,-200,-20,,,,20;200,,2020/06/22 00:00:00,2020/06/30 00:00:00,,,,,,,,,,"{""Page Url"":""https://contoso.com/3001"",""Custom Label"":[""Label_1_3001"",""Label_2_3001""],""Ad Title"":""An ad title""}"
Feed Item,Active,-210,-21,,,,21;210,,2020/06/22 00:00:00,2020/06/30 00:00:00,,value,Broad,,PeopleIn,,(Sunday[09:00-17:00]),,,"{""DateTimeName"":""2020/06/22 00:00:00"",""Int64Name"":237601,""PriceName"":""$601"",""StringName"":""s237601""}"

.NET、Java、または Python 用 の Bing Ads SDK を 使用している場合は、 BulkServiceManager を使用して BulkFeed オブジェクトをアップロードしてダウンロードする時間を節約できます。サービス操作を直接呼び出し、カスタム コードを記述して一括ファイル内の各フィールドを解析する代わりにします。

var uploadEntities = new List<BulkEntity>();

// Map properties in the Bulk file to the BulkFeed
var bulkAdCustomizerFeed = new BulkFeed
{
    // 'Parent Id' column header in the Bulk file
	AccountId = 0,

	// 'Custom Attributes' column header in the Bulk file
	CustomAttributes = new[]
	{
		// Each FeedCustomAttributeContract is represented as a JSON list item in the Bulk file.
		new FeedCustomAttributeContract
		{
			FeedAttributeType = "DateTime",
			Name = "DateTimeName"
		},
		new FeedCustomAttributeContract
		{
			FeedAttributeType = "Int64",
			Name = "Int64Name"
		},
		new FeedCustomAttributeContract
		{
			FeedAttributeType = "Price",
			Name = "PriceName"
		},
		new FeedCustomAttributeContract
		{
			FeedAttributeType = "String",
			Name = "StringName",
			IsPartOfKey = true
		}
	},

	// 'Id' column header in the Bulk file
	Id = adCustomizerFeedIdKey,
	// 'Feed Name' column header in the Bulk file
	Name = "My AdCustomizerFeed " + DateTime.UtcNow,
	// 'Sub Type' column header in the Bulk file
	SubType = "AdCustomizerFeed",
	// 'Client Id' column header in the Bulk file
	ClientId = "ClientIdGoesHere",
	// 'Status' column header in the Bulk file
	Status = Status.Active
};

uploadEntities.Add(bulkAdCustomizerFeed);

// Map properties in the Bulk file to the BulkFeed
var bulkPageFeed = new BulkFeed
{
	// 'Parent Id' column header in the Bulk file
	AccountId = 0,

	// 'Custom Attributes' column header in the Bulk file
	CustomAttributes = new []
	{
		// Each FeedCustomAttributeContract is represented as a JSON list item in the Bulk file.
		new FeedCustomAttributeContract
		{
			FeedAttributeType = "Url",
			Name = "Page Url"
		},
		new FeedCustomAttributeContract
		{
			FeedAttributeType = "StringList",
			Name = "Custom Label"
		}
	},
	
	// 'Id' column header in the Bulk file
	Id = pageFeedIdKey,                    
	// 'Feed Name' column header in the Bulk file
	Name = "My PageFeed " + DateTime.UtcNow,
	// 'Sub Type' column header in the Bulk file
	SubType = "PageFeed",
	// 'Client Id' column header in the Bulk file
	ClientId = "ClientIdGoesHere",
	// 'Status' column header in the Bulk file
	Status = Status.Active
};

uploadEntities.Add(bulkPageFeed);

var entityUploadParameters = new EntityUploadParameters
{
    Entities = uploadEntities,
    ResponseMode = ResponseMode.ErrorsAndResults,
    ResultFileDirectory = FileDirectory,
    ResultFileName = DownloadFileName,
    OverwriteResultFile = true,
};

var uploadResultEntities = (await BulkServiceManager.UploadEntitiesAsync(entityUploadParameters)).ToList();

フィード レコードの場合、一括ファイル スキーマでは、次の属性フィールドを使用できます。

クライアント ID

一括アップロード ファイル内のレコードを結果ファイル内のレコードに関連付けるために使用されます。 このフィールドの値は、サーバーによって使用または格納されません。アップロードされたレコードから対応する結果レコードにコピーされます。 最大 100 の長さの任意の有効な文字列を指定できます。

追加: オプション
更新: オプション
削除: 読み 取り 専用

カスタム属性

属性はフィード のサブタイプごとにカスタマイズされ、広告に挿入する製品やサービスに関する情報を定義します。

AdCustomizerFeed サブタイプの場合、各カスタム属性が一意であるフィード項目ごとに最大 100 個のカスタム属性を含めることができます。

DynamicDataAutosListingFeed サブタイプの場合、各カスタム属性が一意であるフィード項目ごとに最大 100 個のカスタム属性を含めることができます。

PageFeed サブタイプの場合、各カスタム属性が一意であるフィード 項目ごとに 1 つまたは 2 つのカスタム属性を含めることができます。

カスタム属性は、一括ファイルで JSON 文字列として表されます。 詳細については、 feedAttributeTypeisPartOfKey、および以下の 名前 を参照してください。

ページ フィードにアップロードできるカスタム属性の例を次に示します。

注:

コンマ区切りの一括ファイルでは、属性の一覧、各属性キー、および各属性値を二重引用符の追加セット (例: ) で囲む必要があります。 上記の JSON 文字列は "[{"name":""Page Url"","feedAttributeType"":"Url"",""isPartOfKey"":true},{"name"":""Custom Label"",""feedAttributeType"":"StringList"""},{"name"":"Ad Title""",""feedAttributeType"":"String""}"" 。

[
	{
		"name": "Page Url",
		"feedAttributeType": "Url",
		"isPartOfKey": true
	},
	{
		"name": "Custom Label",
		"feedAttributeType": "StringList"
	},
	{
		"name": "Ad Title",
		"feedAttributeType": "String"
	}
]

追加: 必須。 広告カスタマイザーと DynamicDataAutosListing フィードの場合は、 name キーと feedAttributeType キーを使用して少なくとも 1 つの属性を設定する必要があります。 ページ フィードの場合は、 名前 が "ページ URL" に設定されている属性を少なくとも 1 つ設定する必要があります。 名前 feedAttributeType キーと isPartOfKey キーのみが使用されます。
更新: オプション。 フィードの作成後にカスタム属性を削除することはできません。 新しい属性をアップロードするだけで、新しいカスタム属性を追加できます。つまり、新しい属性を持つ既存の属性は含めないでください。 新しい属性を持つ既存の属性を含める場合は、エラーが返されます。 このフィールドを空のままにするか、既存の属性の正確なコピーを変更なしでアップロードした場合、変更は行われません。
削除: 読み 取り 専用

feedAttributeType

各カスタム属性のデータ型。 フィード レコードでデータ型を定義し、フィード項目に値を設定します。 各カスタム属性 がフィード内で一意である限り、同じデータ型で複数の属性を定義できます。

広告カスタマイザー フィードには、次の 4 種類 feedAttributeType のデータ型を設定できます。

feedAttributeType ユース ケース 受け入れられたフィード項目の値
String 製品名、製品カテゴリ、説明 任意の文字、数字、または記号
Int64 在庫数、利用可能な色の数 任意の整数
Price 製品コスト、販売割引 任意の数値 (小数部を含む) と有効な通貨文字
DateTime イベントの開始時刻、セールの最終日 yyyy/mm/dd HH:mm:ss
既定では、1 日の先頭の午前 0 時に、HH:mm:ss 部分を省略できます。

たとえば、広告カスタマイザー フィードのカスタム属性を定義できます。

[
	{
		"name": "DateTimeName",
		"feedAttributeType": "DateTime"
	},
	{
		"name": "Int64Name",
		"feedAttributeType": "Int64"
	},
	{
		"name": "PriceName",
		"feedAttributeType": "Price"
	},
	{
		"name": "StringName",
		"feedAttributeType": "String",
		"isPartOfKey": true
	}
]

次に、フィード項目のアップロードで、各フィード ("DateTimeName"、"Int64Name"、"PriceName"、"StringName" をマップできます。

{
	"DateTimeName": "2020/06/22 00:00:00",
	"Int64Name": 237601,
	"PriceName": "$601",
	"StringName": "s237601"
}

DynamicDataAutosListing フィードには、次の 6 種類 feedAttributeType のデータ型を設定できます。

feedAttributeType ユース ケース 受け入れられたフィード項目の値
String 車両名、車両カテゴリ、説明 任意の文字、数字、または記号
Int64 車両年, エンジン 任意の整数
Price 車両コスト、販売割引 任意の数値 (小数部を含む) と有効な通貨文字
DateTime イベントの開始時刻、セールの最終日 yyyy/mm/dd HH:mm:ss
既定では、1 日の先頭の午前 0 時に、HH:mm:ss 部分を省略できます。
Url フィードに含める Web サイトの URL が含まれます。 フィード項目ごとに 1 つの URL を含める必要があります。
StringList フィード内の URL をグループ化できるラベル。 フィード項目ごとに 1 ~ 10 個のカスタム ラベルを含めることができます。
各カスタム ラベルは、JSON 表記でリスト アイテムとして表されます。 たとえば、フィード項目のカスタム ラベル部分は""Custom Label":[""Label_1_3001",""Label_2_3001""" として記述できます。

たとえば、DynamicDataAutosListing フィードのカスタム属性を定義できます。

[
	{
		"name": "DateTimeName",
		"feedAttributeType": "DateTime"
	},
	{
		"name": "Int64Name",
		"feedAttributeType": "Int64"
	},
	{
		"name": "PriceName",
		"feedAttributeType": "Price"
	},
	{
		"name": "StringName",
		"feedAttributeType": "String",
		"isPartOfKey": true
	},
	{
		"name": "Page Url",
		"feedAttributeType": "Url",
		"isPartOfKey": true
	},
	{
		"name": "Custom Label",
		"feedAttributeType": "StringList"
	}
]

次に、フィード項目のアップロードで、各フィード ("DateTimeName"、"Int64Name"、"PriceName"、"StringName" をマップできます。

{
	"DateTimeName": "2020/06/22 00:00:00",
	"Int64Name": 237601,
	"PriceName": "$601",
	"StringName": "s237601",
	"Page Url": "https://contoso.com/3001",
	"Custom Label": [
		"Label_1_3001",
		"Label_2_3001"
	],
}

ページ フィードに feedAttributeType 設定できるデータ型は次のとおりです。

feedAttributeType ユース ケース 受け入れられたフィード項目の値
String 動的に生成された見出しの代わりに表示される静的な見出し。 文字、数字、または最大 63 文字の記号。 フィード アイテムごとに 1 つの広告タイトルを含めることができます。
StringList フィード内の URL をグループ化できるラベル。 フィード項目ごとに 1 ~ 10 個のカスタム ラベルを含めることができます。
各カスタム ラベルは、JSON 表記でリスト アイテムとして表されます。 たとえば、フィード項目のカスタム ラベル部分は""Custom Label":[""Label_1_3001",""Label_2_3001""" として記述できます。
Url フィードに含める Web サイトの URL が含まれます。 フィード項目ごとに 1 つの URL を含める必要があります。

たとえば、ページ フィードのカスタム属性を定義できます。

注:

feedAttributeTypeは、ページ フィードの場合は省略可能です。 を feedAttributeType設定する場合は、"ページ URL" の場合は "Url"、"カスタム ラベル" の場合は "StringList"、"Ad Title" には "String" という名前 の属性を設定する必要があります。

[
	{
		"name": "Page Url",
		"feedAttributeType": "Url",
		"isPartOfKey": true
	},
	{
		"name": "Custom Label",
		"feedAttributeType": "StringList"
	},
	{
		"name": "Ad Title",
		"feedAttributeType": "String"
	}
]

次に、フィード項目のアップロードで、各フィード ("ページ URL"、"カスタム ラベル"、"広告タイトル") をマップできます。

{
	"Page Url": "https://contoso.com/3001",
	"Custom Label": [
		"Label_1_3001",
		"Label_2_3001"
	],
    "Ad Title": "Find New Customers & Increase Sales!",
}

isPartOfKey

isPartOfKey 、カスタム属性の値が、フィードにロールアップされるすべての フィード項目 レコードで一意である必要があるかどうかを決定します。 isPartOfKeyが "true" に設定されている場合、値は一意である必要があります。それ以外の場合は、同じカスタム属性の重複する値をアップロードできます。

広告カスタマイザーのフィードとフィード項目の場合、"カスタム ID" という名前の文字列は常に一意のキーとして扱われます。つまり、 isPartOfKey は常に "true" です。 現在、"カスタム ID" 属性は、Microsoft Advertising Web アプリケーションを介して広告カスタマイザー フィードの一意のキーを設定する唯一の方法です。 Bulk API を使用すると、任意の属性名を一意のキーとして使用する柔軟性が高くなります。

ページ フィードとフィード項目の場合、"ページ URL" は常に一意のキーとして扱われます。つまり、 isPartOfKey は常に "true" です。

DynamicDataAutosListing フィードとフィード項目の場合、"VehicleId" は常に一意のキーとして扱われます。つまり、 isPartOfKey は常に "true" です。

name

属性は name 、フィードと フィード項目の両方に個別のカスタム属性をマップするために使用されます。 実質的に、これは、特定のフィード項目がフィード内の同じ "列" にロールアップされるようにする方法です。 上記の広告カスタマイザーの例では、フィード項目とフィード項目の両方で"DateTimeName"、"Int64Name"、"PriceName"、"StringName" の名前が使用されています。

フィード名

フィードの名前。

名前は、アカウント内のすべてのフィード間で一意 (大文字と小文字を区別しない) である必要があります。 名前には最大 128 文字を使用することができます。

追加: 必須
更新: オプション。 更新プログラムに値が設定されていない場合、この設定は変更されません。
削除: 読み 取り 専用

Id

フィードのシステム生成識別子。

追加: オプション。 このフィールドは空のままにするか、負の識別子を指定する必要があります。 フィードの負の識別子セットは、フィード項目などの依存レコードの種類の [ID] フィールドで参照できます。 これは、同じ Bulk ファイルに新しいフィードとフィード項目を追加する場合に推奨されます。 詳細については、「 一括ファイル スキーマ参照キー」を参照してください。
更新: 読み取り専用と必須
削除: 読み取り専用と必須

変更時刻

エンティティが最後に更新された日付と時刻。 値は、世界協定時刻 (UTC) です。

注:

日付と時刻の値は、クライアントではなく、サーバーでの日付と時刻を反映します。 日付と時刻の形式については、「 プリミティブ XML データ型」の dateTime エントリを参照してください。

追加: 読み 取り 専用
更新: 読み 取り 専用
削除: 読み 取り 専用

Parent Id

フィードを含むアカウントのシステム生成識別子。

この一括フィールドは、取引先企業レコードの Id フィールドにマップされます。

追加: 読み 取り 専用
更新: 読み 取り 専用
削除: 読み 取り 専用

状態

フィードの状態。

使用可能な値は [アクティブ] または [削除済み] です

追加: オプション。 既定値は [アクティブ] です
更新: オプション。 更新プログラムに値が設定されていない場合、この設定は変更されません。
削除: 必須。 [状態] を [削除済み] に設定する必要があります。

Sub Type

フィードのサブタイプは、読みやすくするために一括ダウンロード ファイルに含まれています。

値は次のいずれかです。

  • PageFeed
  • AdCustomizerFeed
  • DynamicDataToursAndActivitiesFeed
  • DynamicDataCreditCardsFeed
  • DynamicDataCruisesFeed
  • DynamicDataHealthInsuranceFeed
  • DynamicDataProfessionalServiceFeed
  • DynamicDataMortgageLendersFeed
  • DynamicDataEventsFeed
  • DynamicDataHotelsAndVacationRentalsFeed
  • DynamicDataCustomFeed
  • DynamicDataAutosListingFeed

今後、新しい値がサポートされる可能性があるため、固定の値セットに依存しないようにしてください。

追加: 読み 取り 専用
更新: 読み 取り 専用
削除: 読み 取り 専用