2025년 9월 8일부터 모든 새 광고 항목은 유럽연합 (EU) 정치 광고를 게재할지 여부를 선언해야 합니다. 선언을 제공하지 않는 Display & Video 360 API 및 SDF 업로드는 실패합니다. 통합을 업데이트하여 이 선언을 하는 방법에 대한 자세한 내용은
지원 중단 페이지를 참고하세요.
광고 항목 활성화
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Display & Video 360 API를 사용하여 생성된 모든 광고 항목은 처음에 초안 상태로 생성됩니다. 이 초안 상태에서는 광고 항목이 광고를 게재하지 않으므로 설정과 타겟팅을 자유롭게 조정할 수 있으며 이러한 변경사항이 현재 광고 게재에 영향을 미치지 않습니다. 이 페이지에서는 광고를 게재할 준비가 되었는지 확인하는 단계와 상태를 활성으로 업데이트하는 방법을 설명합니다.
활성화하기 전에 해야 할 작업
광고 항목은 광고 구매 및 게재를 통해 광고 수익이 지출되는 방식이므로 광고 항목이 활성화될 때 의도한 대로 광고를 게재하는지 확인하는 것이 중요합니다. 다음은 광고 항목을 활성화하기 전에 고려해야 할 몇 가지 사항입니다.
- 게재 기간 설정이 올바른지 확인: 광고 항목의
flight
필드를 확인하여 광고 항목의 게재 기간이 올바르게 설정되어 있는지 확인합니다. 광고 항목의 게재 기간은 광고 항목에 맞게 맞춤설정되거나 상위 게재 신청서에서 상속받을 수 있습니다.
- 광고 항목 게재를 차단하는 경고가 없는지 확인:
advertisers.lineItems.get
를 사용하여 광고 항목 리소스를 가져오고 warningMessages
필드를 확인하여 광고 항목에 광고 항목 게재를 방해할 수 있는 경고가 없는지 확인합니다. LineItemWarningMessage
열거형은 각 경고의 영향을 나타냅니다.
- 모든 상위 리소스도 활성 상태인지 확인: 상위 광고주, 캠페인 또는 게재 신청서가 활성 상태가 아니면 활성 광고 항목이 광고를 게재하기 시작하지 않습니다. 광고주, 캠페인, 게재 신청서 서비스의
GET
메서드를 사용하여 이러한 리소스를 검색합니다.
광고 항목 활성화
entityStatus
필드를 ENTITY_STATUS_ACTIVE
로 업데이트하여 광고 항목을 활성화합니다. advertisers.lineItems.patch
메서드를 사용하여 개별 광고 항목의 이 필드를 업데이트하고 advertisers.lineItems.bulkUpdate
를 사용하여 특정 광고주의 여러 광고 항목의 이 필드를 업데이트할 수 있습니다.
다음은 bulkUpdate
를 사용하여 여러 광고 항목을 활성화하는 방법을 보여주는 예입니다.
자바
// Create the line item structure.
LineItem targetLineItem = new LineItem();
targetLineItem.setEntityStatus("ENTITY_STATUS_ACTIVE");
// Create the bulk update request body.
BulkUpdateLineItemsRequest requestBody = new BulkUpdateLineItemsRequest();
requestBody.setLineItemIds(line-item-ids);
requestBody.setTargetLineItem(targetLineItem);
requestBody.setUpdateMask("entityStatus");
// Configure the bulk update request.
LineItems.BulkUpdate request = service.advertisers().lineItems()
.bulkUpdate(advertiser-id, requestBody);
// Update the line items.
BulkUpdateLineItemsResponse response = request.execute();
// Display the line items that were updated, failed, and skipped.
if (response.getUpdatedLineItemIds() != null) {
System.out.printf(
"The following line item IDs were successfully updated: %s.\n",
Arrays.toString(response.getUpdatedLineItemIds().toArray()));
}
if (response.getFailedLineItemIds() != null) {
System.out.printf("The following line item IDs failed to update: %s.\n",
Arrays.toString(response.getFailedLineItemIds().toArray()));
if (response.getErrors() != null) {
System.out.printf(
"The failed updates were caused by the following errors: %s.\n",
Arrays.toString(response.getErrors().toArray()));
}
}
if (response.getSkippedLineItemIds() != null) {
System.out.printf(
"The following line items IDs were skipped in the update: %s.\n",
Arrays.toString(response.getSkippedLineItemIds().toArray()));
}
Python
# Create a line item object with only updated entity status.
line_item_obj = {
'entityStatus': 'ENTITY_STATUS_ACTIVE'
}
# Build the bulk update request.
bulk_update_request = {
'lineItemIds': line-item-ids,
'targetLineItem': line_item_obj,
'updateMask': "entityStatus"
}
# Update the line items.
response = service.advertisers().lineItems().bulkUpdate(
advertiserId=advertiser-id,
body=bulk_update_request
).execute()
# Display the line items that were updated, failed, and skipped.
if 'updatedLineItemIds' in response:
print("The following line item IDs were updated: %s"
% response['updatedLineItemIds'])
if 'failedLineItemIds' in response:
print("The following line item IDs failed to update: %s"
% response['failedLineItemIds'])
if 'errors' in response:
print("The failed updates were caused by the following errors:")
for error in response["errors"]:
print("Error code: %s, Message: %s" % (error["code"], error["message"]))
if 'skippedLineItemIds' in response:
print("The following line items IDs were skipped in the update:: %s"
% response['skippedLineItemIds'])
PHP
// Create request body.
$body = new Google_Service_DisplayVideo_BulkUpdateLineItemsRequest();
$body->setLineItemIds(line-item-ids);
// Create target line item with updated fields.
$lineItem = new Google_Service_DisplayVideo_LineItem();
$lineItem->setEntityStatus('ENTITY_STATUS_ACTIVE');
$body->setTargetLineItem($lineItem);
// Set update mask in request body.
$body->setUpdateMask("entityStatus");
// Call the API, updating the entity status for the identified line item.
$response = $service->advertisers_lineItems->bulkUpdate(
advertiser-id,
$body
);
// Display the line items that were updated, failed, and skipped.
if (!empty($response->getUpdatedLineItemIds())) {
printf('The following line item IDs were updated:\n');
foreach ($response->getUpdatedLineItemIds() as $id) {
printf('%s\n', $id);
}
}
if (!empty($response->getFailedLineItemIds())) {
print('The following line item IDs failed to update:\n');
foreach ($response->getFailedLineItemIds() as $id) {
printf('%s\n', $id);
}
if (!empty($response->getErrors())) {
print('The failed updates were caused by the following errors:\n');
foreach ($response->getErrors() as $error) {
printf(
'Error Code: %s, Message: %s\n',
$error->getCode(),
$error->getMessage()
);
}
}
}
if (!empty($response->getSkippedLineItemIds())) {
print('The following line item IDs were skipped in the update:\n');
foreach ($response->getSkippedLineItemIds() as $id) {
printf('%s\n', $id);
}
}
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-07-25(UTC)
[null,null,["최종 업데이트: 2025-07-25(UTC)"],[[["\u003cp\u003eAll Display & Video 360 line items begin in a draft state where they can be freely adjusted without impacting ad serving.\u003c/p\u003e\n"],["\u003cp\u003eBefore activating a line item, ensure the flight settings, absence of warning messages, and the active status of parent resources (advertiser, campaign, insertion order).\u003c/p\u003e\n"],["\u003cp\u003eActivate a line item by changing its \u003ccode\u003eentityStatus\u003c/code\u003e to \u003ccode\u003eENTITY_STATUS_ACTIVE\u003c/code\u003e via the \u003ccode\u003eadvertisers.lineItems.patch\u003c/code\u003e or \u003ccode\u003eadvertisers.lineItems.bulkUpdate\u003c/code\u003e methods.\u003c/p\u003e\n"],["\u003cp\u003eAvoid concurrent \u003ccode\u003epatch\u003c/code\u003e or \u003ccode\u003ebulkUpdate\u003c/code\u003e requests with other updates targeting the same line items or their targeting configurations.\u003c/p\u003e\n"]]],["Line items in the Display & Video 360 API are initially in draft and don't serve ads. Before activation, verify the line item's flight settings, check for warnings using `advertisers.lineItems.get`, and ensure parent resources (advertiser, campaign, insertion order) are active. To activate, update the `entityStatus` to `ENTITY_STATUS_ACTIVE` using `advertisers.lineItems.patch` or `advertisers.lineItems.bulkUpdate`. Concurrent updates to the same line items should be avoided. The provided code samples show how to activate multiple line items using `bulkUpdate`.\n"],null,["# Activate Line Item\n\nAll line items created using the Display \\& Video 360 API are initially created in a draft\nstate. In this draft state, line items don't serve ads, so you are free to\nadjust settings and targeting without those changes affecting any current ad\nserving. This page describes the steps you should take to confirm that your line\nitem is ready for serving ads, and how to update its status to active.\n\nWhat to do before activation\n----------------------------\n\nGiven that line items are the manner in which your ad revenue is spent through\nad buying and serving, it is important to make sure that the line item will\nserve ads as intended when activated. Below are a few things to consider before\nactivating your line item:\n\n- **Make sure the flight settings are correct:** Check the line item's [`flight`](/display-video/api/reference/rest/current/advertisers.lineItems#LineItem.FIELDS.flight) field to make sure that the flight window for the line item is set correctly. The flight window of a line item may be custom to the line item or inherited by the parent insertion order.\n- **Verify that there are no warnings blocking the serving of the line item:** Use [`advertisers.lineItems.get`](/display-video/api/reference/rest/current/advertisers.lineItems/get) to retrieve a line item resource and check the field [`warningMessages`](/display-video/api/reference/rest/current/advertisers.lineItems#LineItem.FIELDS.warning_messages) to verify that the line item has no warnings that may hinder the serving of the line item. The [`LineItemWarningMessage`](/display-video/api/reference/rest/current/advertisers.lineItems#lineitemwarningmessage) enum notes the impact of each warning.\n- **Confirm that all parent resources are also active:** An active line item will not begin to serve ads if its parent advertiser, campaign, or insertion order are not active. Retrieve these resources using the `GET` methods in the [Advertisers](/display-video/api/reference/rest/current/advertisers), [Campaigns](/display-video/api/reference/rest/current/advertisers.campaigns), and [Insertion Orders](/display-video/api/reference/rest/current/advertisers.insertionOrders) services.\n\nActivate a line item\n--------------------\n\nActivate a line item by updating its [`entityStatus`](/display-video/api/reference/rest/current/advertisers.lineItems#LineItem.FIELDS.entity_status) field to\n`ENTITY_STATUS_ACTIVE`. You can update this field for an individual line item\nusing the [`advertisers.lineItems.patch`](/display-video/api/reference/rest/current/advertisers.lineItems/patch) method and for multiple line\nitems within a given advertiser using\n[`advertisers.lineItems.bulkUpdate`](/display-video/api/reference/rest/current/advertisers.lineItems/bulkUpdate).\n| **Warning:** Do not make [`patch`](/display-video/api/reference/rest/current/advertisers.lineItems/patch) or [`bulkUpdate`](/display-video/api/reference/rest/current/advertisers.lineItems/bulkUpdate) requests concurrently with other requests updating the same line items or their targeting.\n\nHere's an example of how to use [`bulkUpdate`](/display-video/api/reference/rest/current/advertisers.lineItems/bulkUpdate) to activate\nmultiple line items: \n\n### Java\n\n```java\n// Create the line item structure.\nLineItem targetLineItem = new LineItem();\ntargetLineItem.setEntityStatus(\"ENTITY_STATUS_ACTIVE\");\n\n// Create the bulk update request body.\nBulkUpdateLineItemsRequest requestBody = new BulkUpdateLineItemsRequest();\nrequestBody.setLineItemIds(line-item-ids);\nrequestBody.setTargetLineItem(targetLineItem);\nrequestBody.setUpdateMask(\"entityStatus\");\n\n// Configure the bulk update request.\nLineItems.BulkUpdate request = service.advertisers().lineItems()\n .bulkUpdate(advertiser-id, requestBody);\n\n// Update the line items.\nBulkUpdateLineItemsResponse response = request.execute();\n\n// Display the line items that were updated, failed, and skipped.\nif (response.getUpdatedLineItemIds() != null) {\n System.out.printf(\n \"The following line item IDs were successfully updated: %s.\\n\",\n Arrays.toString(response.getUpdatedLineItemIds().toArray()));\n}\nif (response.getFailedLineItemIds() != null) {\n System.out.printf(\"The following line item IDs failed to update: %s.\\n\",\n Arrays.toString(response.getFailedLineItemIds().toArray()));\n if (response.getErrors() != null) {\n System.out.printf(\n \"The failed updates were caused by the following errors: %s.\\n\",\n Arrays.toString(response.getErrors().toArray()));\n }\n}\nif (response.getSkippedLineItemIds() != null) {\n System.out.printf(\n \"The following line items IDs were skipped in the update: %s.\\n\",\n Arrays.toString(response.getSkippedLineItemIds().toArray()));\n}\n```\n\n### Python\n\n```python\n# Create a line item object with only updated entity status.\nline_item_obj = {\n 'entityStatus': 'ENTITY_STATUS_ACTIVE'\n}\n\n# Build the bulk update request.\nbulk_update_request = {\n 'lineItemIds': line-item-ids,\n 'targetLineItem': line_item_obj,\n 'updateMask': \"entityStatus\"\n}\n\n# Update the line items.\nresponse = service.advertisers().lineItems().bulkUpdate(\n advertiserId=advertiser-id,\n body=bulk_update_request\n).execute()\n\n# Display the line items that were updated, failed, and skipped.\nif 'updatedLineItemIds' in response:\n print(\"The following line item IDs were updated: %s\"\n % response['updatedLineItemIds'])\nif 'failedLineItemIds' in response:\n print(\"The following line item IDs failed to update: %s\"\n % response['failedLineItemIds'])\n if 'errors' in response:\n print(\"The failed updates were caused by the following errors:\")\n for error in response[\"errors\"]:\n print(\"Error code: %s, Message: %s\" % (error[\"code\"], error[\"message\"]))\nif 'skippedLineItemIds' in response:\n print(\"The following line items IDs were skipped in the update:: %s\"\n % response['skippedLineItemIds'])\n```\n\n### PHP\n\n```php\n// Create request body.\n$body = new Google_Service_DisplayVideo_BulkUpdateLineItemsRequest();\n$body-\u003esetLineItemIds(\u003cvar translate=\"no\"\u003eline-item-ids\u003c/var\u003e);\n\n// Create target line item with updated fields.\n$lineItem = new Google_Service_DisplayVideo_LineItem();\n$lineItem-\u003esetEntityStatus('ENTITY_STATUS_ACTIVE');\n$body-\u003esetTargetLineItem($lineItem);\n\n// Set update mask in request body.\n$body-\u003esetUpdateMask(\"entityStatus\");\n\n// Call the API, updating the entity status for the identified line item.\n$response = $service-\u003eadvertisers_lineItems-\u003ebulkUpdate(\n \u003cvar translate=\"no\"\u003eadvertiser-id\u003c/var\u003e,\n $body\n);\n\n// Display the line items that were updated, failed, and skipped.\nif (!empty($response-\u003egetUpdatedLineItemIds())) {\n printf('The following line item IDs were updated:\\n');\n foreach ($response-\u003egetUpdatedLineItemIds() as $id) {\n printf('%s\\n', $id);\n }\n}\nif (!empty($response-\u003egetFailedLineItemIds())) {\n print('The following line item IDs failed to update:\\n');\n foreach ($response-\u003egetFailedLineItemIds() as $id) {\n printf('%s\\n', $id);\n }\n if (!empty($response-\u003egetErrors())) {\n print('The failed updates were caused by the following errors:\\n');\n foreach ($response-\u003egetErrors() as $error) {\n printf(\n 'Error Code: %s, Message: %s\\n',\n $error-\u003egetCode(),\n $error-\u003egetMessage()\n );\n }\n }\n}\nif (!empty($response-\u003egetSkippedLineItemIds())) {\n print('The following line item IDs were skipped in the update:\\n');\n foreach ($response-\u003egetSkippedLineItemIds() as $id) {\n printf('%s\\n', $id);\n }\n}\n```"]]