ラインアイテムの作成および更新方法
前提条件
まだ完了していない場合は、このチュートリアルの前提条件を完了する必要があります。
このチュートリアルでは、以下が必要になります。
- Amazon Ads APIのクライアント識別子。
- Amazon Ads APIのスコープ。
- 認証トークン。
- 広告主識別子。
各ラインアイテムは注文に紐づけられている必要があります。ラインアイテムを作成するときは、作成したラインアイテムが紐づけられている注文識別子を指定します。注文リソースを使用して、この識別子を取得します。
ラインアイテムは1つ以上の商品カテゴリーに紐づけられる必要があるため、商品カテゴリー識別子に紐づけられた値も必要になります。商品カテゴリー識別子は、広告エクスチェンジに渡され、Amazonによるキャンペーンの実施可否の判断に必要となります。商品カテゴリーリソースを使用して、商品カテゴリー識別子を取得します。
ラインアイテムを作成するときに含めることができるオプションのフィールドもあります。
サプライソース識別子
サプライソース識別子は、このラインアイテムを実行する在庫を指定します。デフォルトでは、ラインアイテムは、利用可能なすべてのリアルタイムの入札エクスチェンジ、Amazon自社サイト、Amazon Publisher Servicesの在庫で実行されます。
サプライソースリソースを使用して、サプライソース識別子のリストを取得します。
lineItemType
タイプとsupplySource
タイプは必須パラメーターであることにご注意ください。サプライソースタイプがdeal
に設定されている場合は、orderId
の値が必要です。レスポンスに含まれる取引サプライソースのリストは、注文を所有する広告主にとって有効で、その注文日にのみ実行されているものを含むようにフィルタリングされます。
地理的位置タグ付け識別子
地理的位置タグ付け識別子を使用することで、場所に紐づけられたユーザーの包含または除外が可能です。場所は、各ユーザーのAmazon請求先住所の郵便番号に基づいています。郵便番号がない場合は、代わりに各ユーザーのIPアドレスが使用されます。
地理的位置リソースを使用して、ラインアイテムのターゲティングに使用される識別子を取得します。
地理的位置リソースを使用すると、識別子またはテキストクエリ(都市名、郵便番号、その他の住所テキストなど)によって識別子を取得できます。
オーディエンス識別子
ラインアイテムの作成中にターゲティングの指定に使用される可能性のあるオーディエンスセグメント識別子のリストを取得できます。
オーディエンスリソースを使用して、リストを取得します。
注
インマーケット、ライフスタイル、または自動車セグメントが選択されている場合は、ラインアイテムにターゲティング料金が適用されます。Amazonでは、異なる料金のセグメントを組み合わせる場合は、最高額の料金がラインアイテム全体に適用されるため、個別のラインアイテムを設定することをおすすめします。
サードパーティの入札前ターゲティング
サードパーティデータプロバイダーへの既存リンクのあるアカウントに紐づけられた、カスタムコンテキストセグメント(該当する場合)のリストを取得できます。
入札前ターゲティングリソースを使用して、可能性のあるカスタムコンテキストセグメントのリストを取得します。現在、サポートされているプロバイダーはdoubleVerify
とoracleDataCloud
の2つです。
IABコンテンツカテゴリー
ターゲットサイトのコンテンツをスキャンして、その対象分野に応じてサイトをターゲットに設定することもできます。これにより、不適切なコンテンツの隣ではなく、関連性の高いサイトに広告が配信されます。
IABコンテンツカテゴリーリソースを使用して、IABコンテンツカテゴリー識別子のリストを取得します。
注
この設定は、Amazonが所有し運営するサイトには適用されません。これらのサイトでは、選択したコンテンツカテゴリーを考慮しません。動画ラインアイテムの場合、このターゲティングを使用すると、サードパーティのモバイルアプリへの配信がブロックされます。モバイルアプリで広告を掲載する場合は、このターゲティングなしで個別のラインアイテムを設定します。
ドメインリスト識別子
ドメインリストリソースを使用して、ラインアイテムの作成中にターゲティングに使用できるドメインリソース識別子のリストを取得できます。
ラインアイテムの作成
ラインアイテムリソースのPOST
操作を使用して、ラインアイテムを作成します。ラインアイテムを作成する際には、以下のパラメーターが必要です。
lineItemType
: ラインアイテムの実行場所を決定します。name
: ラインアイテムの名前。orderId
:作成されたラインアイテムが紐づけられている注文識別子。これは、前提条件で注文リソースを使用して取得した値です。startDateTime
とendDateTime
: ラインアイテムの開始日と終了日。これらの日付は、注文の実施期間の範囲内である必要があります。lineItemClassification
productCategories
: 前提条件で商品カテゴリーリソースを使用して取得した商品カテゴリー識別子。
bidding
baseSupplyBid
: 広告在庫に対して支払う理想的な額(インプレッション1,000回あたり)を指定します。設定した値が保証されるわけではありませんが、Amazonはこの目標を達成するように入札戦略を最適化します。
frequencyCap
: 同じユーザーがこのラインアイテムのクリエイティブを特定の期間内に表示できる回数に制限を設定するかどうかを選択します。すべてのラインアイテムのフリークエンシーの合計は、ラインアイテムの設定に関係なく、注文のフリークエンシーを超えることはありません。フリークエンシーキャップを設定することを強くおすすめします。フリークエンシーが無制限の場合、露出過度、固有のユーザーデバイスあたりのコスト増加、ユーザーエクスペリエンスの低下を招く可能性があります。optimization
budgetOptimization
: ラインアイテムに対して最適化を有効にできるのは、ラインアイテムが紐づけられている注文でも最適化が有効になっている場合のみです。true
に設定すると、注文内の対象となるラインアイテムへの自動予算配分が有効になります。
ラインアイテムリクエストの例は以下のようになります。
[
{
"lineItemType": "STANDARD_DISPLAY",
"name": "This is my user friendly LineItem Name",
"orderId": 5155*****0601,
"externalId": "This is my external Id to uniquely identify this resource",
"startDateTime": "2021-12-11 05:00:00 UTC",
"endDateTime": "2021-12-19 02:59:00 UTC",
"comments": "Additional Comments",
"lineItemClassification": {
"productCategories": [
"3512**********2141",
"3506**********6463",
"3156**********1919"
]
},
"frequencyCap": {
"type": "CUSTOM",
"maxImpressions": 3,
"timeUnitCount": 5,
"timeUnit": "DAYS"
},
"targeting": {
"standardDisplayTargeting": {
"userLocationTargeting": "US",
"segmentTargeting": {
"segmentGroups": [
{
"segments": [
{
"segmentId": "4116**********8920"
},
{
"segmentId": "3945**********8988"
}
],
"intraOperator": "AND",
"interOperator": "ALL"
},
{
"segments": [
{
"segmentId": "4307**********8675"
},
{
"segmentId": "3670**********5734"
}
],
"intraOperator": "OR",
"interOperator": "ANY"
}
]
},
"amazonViewabilityTargeting": {
"viewabilityTier": "VIEWABILITY_TIER_GT_60",
"includeUnmeasurableImpressions": true
},
"thirdPartyPreBidTargeting": {
"doubleVerify": {
"brandSafety": {
"highSeverityContent": [
"ADULT_CONTENT",
"DRUGS_SUBSTANCES",
"EXTREME_GRAPHICS_VIOLENCE_WEAPONS",
"HATE_SPEECH_PROFANITY",
"ILLEGAL_ACTIVITIES",
"INCENTIVIZED_MALWARE_CLUTTER",
"PIRACY_COPYRIGHT_INFRINGEMENT"
],
"mediumSeverityContent": [
"AD_SERVER",
"ADULT_CONTENT",
"CELEBRITY_GOSSIP",
"CULTS_SURVIVALISM",
"DISASTER_AVIATION",
"DISASTER_MAN_MADE",
"DISASTER_NATURAL",
"DISASTER_TERRORISTS_EVENTS",
"DISASTER_VEHICLE",
"DRUGS_ALCOHOL",
"DRUGS_SMOKING",
"GAMBLING",
"INFLAMMATORY_POLITICS_NEWS",
"NEGATIVE_NEWS_FINANCIAL",
"NEGATIVE_NEWS_PHARMACEUTICAL",
"NON_STANDARD_CONTENT_NON_ENGLISH",
"NON_STANDARD_CONTENT_PARKING_PAGE",
"OCCULT",
"SEX_EDUCATION",
"UNMODERATED_UGC_FORUMS_IMAGES_VIDEO"
],
"unknownContent": true
},
"fraudInvalidTraffic": {
"excludeImpressions": true,
"excludeAppsAndSites": "FRAUD_TRAFFIC_LEVEL_GTE_50",
"blockAppAndSites": true
},
"authenticBrandSafety": {
"doubleVerifySegmentId": "514**434"
},
"viewability": {
"mrcViewabilityTargeting": "MRC_VIEWABILITY_GTE_80",
"brandExposureViewabilityTargeting": "BRAND_EXPOSURE_VIEWABILITY_GTE_15_SEC_AVG_DURATION",
"includeUnmeasurableImpressions": true
},
"customContextualSegmentId": "520**712"
},
"oracleDataCloud": {
"brandSafety": {
"targetingOption": "ESSENTIAL_PROTECTION",
"essentialProtection": [
"ADULT",
"ARMS",
"CRIME",
"INJURY",
"PIRACY",
"DRUGS",
"HATE_SPEECH",
"MILITARY",
"OBSCENITY",
"TERRORISM",
"TOBACCO"
]
},
"fraudInvalidTraffic": "FRAUD_INVALID_TRAFFIC_MAXIMUM_PROTECTION",
"customSegmentId": "255**888",
"contextualPredictsSegmentId": "259**212"
},
"integralAdScience": {
"brandSafety": {
"iasBrandSafetyAdult": "BRAND_SAFETY_EXCLUE_HIGH_RISK",
"iasBrandSafetyAlcohol": "ALLOW_ALL",
"iasBrandSafetyGambling": "ALLOW_ALL",
"iasBrandSafetyHateSpeech": "BRAND_SAFETY_EXCLUE_HIGH_AND_MODERATE_RISK",
"iasBrandSafetyIllegalDownloads": "ALLOW_ALL",
"iasBrandSafetyIllegalDrugs": "ALLOW_ALL",
"iasBrandSafetyOffensiveLanguage": "ALLOW_ALL",
"iasBrandSafetyViolence": "ALLOW_ALL",
"excludeContent": true
},
"fraudInvalidTraffic": "FRAUD_INVALID_TRAFFIC_EXCLUDE_HIGH_RISK",
"viewability": {
"standard": "PUBLICIS",
"viewabilityTargeting": "VIEWABILITY_TIER_GT_60"
}
}
},
"supplyTargeting": {
"supplySourceTargeting": {
"supplySources": [
"3156**********8896",
"2997**********6584",
"3576**********8825",
"3497**********8740",
"3242**********7683"
]
}
},
"geoLocationTargeting": {
"locationTargetingBy": "IPADDRESS_POSTALCODE",
"inclusions": [
"XHvCjcKHXmJ7woVowo7CjmvCln5swozCncKawrLCrsKoZQ=="
],
"exclusions": [
"XHvCjcKHXsKUwotpwonCkg=="
]
},
"dayPartTargeting": {
"timeZonePreference": "AD_SERVER_TIMEZONE",
"dayParts": [
{
"hourSlots": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
16,
17,
18,
19,
20,
21,
22,
23
],
"dayOfWeek": "SUNDAY"
},
{
"hourSlots": [
0,
1,
2,
3,
5,
6,
7,
8,
9,
10,
11,
12,
14,
15,
16,
17,
18,
19,
21,
22,
23
],
"dayOfWeek": "TUESDAY"
},
{
"hourSlots": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"dayOfWeek": "WEDNESDAY"
},
{
"hourSlots": [
0,
1,
3,
4,
5,
6,
7,
8,
9,
10,
12,
13,
14,
15,
16,
18,
19,
20,
21,
22,
23
],
"dayOfWeek": "THURSDAY"
},
{
"hourSlots": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"dayOfWeek": "FRIDAY"
},
{
"hourSlots": [
0,
1,
2,
3,
4,
5,
6,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"dayOfWeek": "SATURDAY"
}
]
},
"domainListTargeting": {
"inheritFromAdvertiser": true
},
"deviceTypeTargeting": "DESKTOP_AND_MOBILE",
"siteLanguageTargeting": "ES",
"contentTargeting": [
"3487**********2680",
"3099**********1246",
"3221**********5754",
"2895**********2704",
"3151**********2995"
],
"contextualTargeting": false
}
},
"budget": {
"budgetCaps": [
{
"amount": 1.0,
"recurrenceTimePeriod": "DAILY"
},
{
"amount": 13.0,
"recurrenceTimePeriod": "MONTHLY"
}
],
"pacing": {
"deliveryProfile": "EVENLY",
"catchUpBoost": "CATCH_UP_BOOST_2X"
}
},
"appliedFees": {
"thirdPartyFees": [
{
"providerName": "INTEGRAL_AD_SCIENCE",
"feeAmount": 0.4,
"feeAllocation": "ABSORB_WITH_AGENCY_FEE"
},
{
"providerName": "DOUBLE_VERIFY",
"feeAmount": 0.5,
"feeAllocation": "PASS_TO_ADVERTISER"
},
{
"providerName": "DOUBLE_CLICK_CAMPAIGN_MANAGER",
"feeAmount": 0.6,
"feeAllocation": "ABSORB_WITH_AGENCY_FEE"
},
{
"providerName": "COM_SCORE",
"feeAmount": 0.7,
"feeAllocation": "PASS_TO_ADVERTISER"
},
{
"providerName": "CPM_1",
"feeAmount": 0.8,
"feeAllocation": "ABSORB_WITH_AGENCY_FEE"
},
{
"providerName": "CPM_2",
"feeAmount": 0.9,
"feeAllocation": "ABSORB_WITH_AGENCY_FEE"
},
{
"providerName": "CPM_3",
"feeAmount": 0.2,
"feeAllocation": "ABSORB_WITH_AGENCY_FEE"
}
]
},
"bidding": {
"baseSupplyBid": 1.5,
"maxSupplyBid": 5.0
},
"optimization": {
"budgetOptimization": true
}
}
]
ラインアイテムの更新
ラインアイテムリソースのPUT操作を使用して、識別子で指定したラインアイテムに紐づけられた値を更新します。更新するフィールドには新しいフィールド値を指定し、その他のフィールドには変更していない値を指定のうえ、完全形のラインアイテムリソースを送信する必要があります。
まず、ラインアイテムリソースのGET操作を使用して、更新するラインアイテムを取得します。
次に、対象の各フィールド値を更新します。最後に、ラインアイテムリソースのPUT操作を使用して、ラインアイテムを更新します。