การกำหนดเป้าหมายแบบรวมของประเภทการกำหนดเป้าหมายส่วนใหญ่เกิดจากการ
แหล่งข้อมูล AssignedTargetingOption
รายการ ภายในประเภทการกำหนดเป้าหมาย
ตัวเลือกการกำหนดเป้าหมายที่กำหนดแต่ละตัวเลือกอาจระบุค่าที่แตกต่างกัน เช่น
แต่ละเบราว์เซอร์สำหรับ TARGETING_TYPE_BROWSER
หากคุณต้องการให้
ในการกำหนดเป้าหมายเบราว์เซอร์เพิ่มเติม คุณสามารถทำได้โดย
สร้างตัวเลือกการกำหนดเป้าหมายใหม่ที่กำหนด
TARGETING_TYPE_BROWSER
ใต้ทรัพยากรดังกล่าว ในทำนองเดียวกัน ถ้าคุณไม่
ต้องการกำหนดเป้าหมายเบราว์เซอร์ที่เฉพาะเจาะจงอีกต่อไป คุณสามารถลบ
ตัวเลือกการกำหนดเป้าหมายที่กำหนด
การกำหนดกลุ่มเป้าหมายไม่เป็นไปตามรูปแบบโมดูลนี้ แต่ทั้งหมด
ระบบจะกำหนดรหัสกลุ่มเป้าหมายที่เกี่ยวข้องกับการกำหนดเป้าหมายของทรัพยากรให้กับทรัพยากรนั้น
ผ่าน AssignedTargetingOption
ประเภทเดียว
TARGETING_TYPE_AUDIENCE_GROUP
ความพยายามกำหนดกลุ่มเป้าหมายหลายกลุ่ม
ตัวเลือกการกำหนดเป้าหมายที่กลุ่มกำหนดให้กับทรัพยากรจะแสดงผลข้อผิดพลาด หน้านี้
อธิบายตรรกะที่กำหนดตัวเลือกการกำหนดเป้าหมายที่กำหนดนี้และอธิบายวิธี
อัปเดตการกำหนดกลุ่มเป้าหมายที่มีอยู่อย่างถูกต้อง
ตรรกะการกำหนดกลุ่มเป้าหมาย
ตัวเลือกการกำหนดเป้าหมายสำหรับกลุ่มเป้าหมายกลุ่มเดียวที่กำหนดมีชุด
ออบเจ็กต์ AudienceGroupAssignedTargetingOptionsDetails
รายการ
ซึ่งประกอบด้วยรายการรหัสกลุ่มเป้าหมายหรือที่เรียกว่ากลุ่มเป้าหมาย ที่จะรวมและ
ยกเว้นเมื่อแสดงโฆษณา การกำหนดเป้าหมายโดยรวมของการกำหนดเป้าหมายที่กำหนด
Option จะเป็นผลมาจากการดำเนินการเชิงตรรกะต่อไปนี้
- ออบเจ็กต์กลุ่มเป้าหมายแต่ละรายการทุกประเภทจะรวมออบเจ็กต์ประเภทเหล่านั้นเข้าด้วยกัน จาก UNION
includedFirstAndThirdAudienceGroups
ซึ่งประกอบด้วยรายการFirstAndThirdPartyAudienceGroup
ออบเจ็กต์ รวม ตาม INTERSECTION- ช่องกลุ่มเป้าหมายทั้งหมดที่มีคํานําหน้า "รวม" ซึ่งแสดงรายชื่อผู้ใช้ หรือกลุ่มรายการผู้ใช้ที่จะกำหนดเป้าหมายเชิงบวก จะรวมโดย UNION
- ช่องกลุ่มเป้าหมายที่ยกเว้นทั้งหมดจะรวมเข้าด้วยกันโดย UNION และความสอดคล้องกับ ผลลัพธ์จะรวมกับการกำหนดเป้าหมายเชิงบวกตาม INTERSECTION
ในทางปฏิบัติ นี่หมายความว่า
AudienceGroupAssignedTargetingOptionsDetails
จะ
กำหนดเป้าหมายผู้ใช้หากตรงกับเงื่อนไขทั้ง 2 ข้อต่อไปนี้
- ผู้ใช้อยู่ในกลุ่มกลุ่มเป้าหมายทุกกลุ่มในรายการ
includedFirstAndThirdPartyAudienceGroups
หรือจัดอยู่ในประเภทใดincludedGoogleAudienceGroup
,includedCustomListGroup
หรือincludedCombinedAudienceGroup
- ผู้ใช้ไม่ได้อยู่ใน
excludedFirstAndThirdPartyAudienceGroup
หรือexcludedGoogleAudienceGroup
อัปเดตการกำหนดกลุ่มเป้าหมาย
ในการอัปเดตการกำหนดเป้าหมายกลุ่มผู้ชมของรายการโฆษณา
ตัวเลือกการกำหนดเป้าหมายที่กำหนดไว้ (หากมี) ต้องลบทิ้ง
ต้องสร้างตัวเลือกการกำหนดเป้าหมายที่กำหนดไว้พร้อมการเปลี่ยนแปลงที่ต้องการ วิธีนี้
ทำได้ในคำขอเดียวโดยใช้
advertisers.lineItems.bulkEditAssignedTargetingOptions
ตัวอย่างวิธีอัปเดตการกำหนดกลุ่มเป้าหมายที่มีอยู่ในบรรทัดมีดังนี้ โดยดึงการกำหนดกลุ่มเป้าหมายที่มีอยู่ขึ้นมา แล้วสร้างกลุ่ม คำขอแก้ไข:
Java
long advertiserId = advertiser-id; long lineItemId = line-item-id List<Long> addedGoogleAudienceIds = Arrays.asList(google-audience-id-to-add,...); // Build Google Audience targeting settings objects to add to audience // targeting. ArrayList<GoogleAudienceTargetingSetting> newGoogleAudienceSettings = new ArrayList<GoogleAudienceTargetingSetting>(); // Convert list of Google Audience IDs into list of settings. for (Long googleAudienceId : addedGoogleAudienceIds) { newGoogleAudienceSettings.add(new GoogleAudienceTargetingSetting() .setGoogleAudienceId(googleAudienceId)); } // Create relevant bulk edit request objects. BulkEditAssignedTargetingOptionsRequest requestContent = new BulkEditAssignedTargetingOptionsRequest(); requestContent.setLineItemIds(Arrays.asList(lineItemId)); AudienceGroupAssignedTargetingOptionDetails updatedAudienceGroupDetails; ArrayList<DeleteAssignedTargetingOptionsRequest> audienceGroupDeleteRequests = new ArrayList<DeleteAssignedTargetingOptionsRequest>(); try { // Retrieve existing audience group targeting. AssignedTargetingOption existingAudienceGroupTargetingOption = service .advertisers() .lineItems() .targetingTypes() .assignedTargetingOptions() .get( advertiserId, lineItemId, "TARGETING_TYPE_AUDIENCE_GROUP", "audienceGroup" ).execute(); // Extract existing audience group targeting details. updatedAudienceGroupDetails = existingAudienceGroupTargetingOption.getAudienceGroupDetails(); // Build and add delete request for existing audience group targeting. ArrayList<String> deleteAudienceGroupAssignedTargetingIds = new ArrayList<String>(); deleteAudienceGroupAssignedTargetingIds.add("audienceGroup"); audienceGroupDeleteRequests .add(new DeleteAssignedTargetingOptionsRequest() .setTargetingType("TARGETING_TYPE_AUDIENCE_GROUP") .setAssignedTargetingOptionIds( deleteAudienceGroupAssignedTargetingIds ) ); } catch (Exception e) { updatedAudienceGroupDetails = new AudienceGroupAssignedTargetingOptionDetails(); } // Set delete requests in edit request. requestContent.setDeleteRequests(audienceGroupDeleteRequests); // Construct new group of Google Audiences to include in targeting. GoogleAudienceGroup updatedIncludedGoogleAudienceGroup = updatedAudienceGroupDetails.getIncludedGoogleAudienceGroup(); if (updatedIncludedGoogleAudienceGroup != null) { List<GoogleAudienceTargetingSetting> updatedGoogleAudienceSettings = updatedIncludedGoogleAudienceGroup.getSettings(); updatedGoogleAudienceSettings.addAll(newGoogleAudienceSettings); updatedIncludedGoogleAudienceGroup .setSettings(updatedGoogleAudienceSettings); } else { updatedIncludedGoogleAudienceGroup = new GoogleAudienceGroup(); updatedIncludedGoogleAudienceGroup.setSettings(newGoogleAudienceSettings); } // Add new Google Audience group to audience group targeting details. updatedAudienceGroupDetails .setIncludedGoogleAudienceGroup(updatedIncludedGoogleAudienceGroup); // Create new targeting option to assign. AssignedTargetingOption newAudienceGroupTargeting = new AssignedTargetingOption(); newAudienceGroupTargeting .setAudienceGroupDetails(updatedAudienceGroupDetails); // Build audience group targeting create request and add to list of create // requests. ArrayList<AssignedTargetingOption> createAudienceGroupAssignedTargetingOptions = new ArrayList<AssignedTargetingOption>(); createAudienceGroupAssignedTargetingOptions.add(newAudienceGroupTargeting); ArrayList<CreateAssignedTargetingOptionsRequest> targetingCreateRequests = new ArrayList<CreateAssignedTargetingOptionsRequest>(); targetingCreateRequests.add(new CreateAssignedTargetingOptionsRequest() .setTargetingType("TARGETING_TYPE_AUDIENCE_GROUP") .setAssignedTargetingOptions( createAudienceGroupAssignedTargetingOptions ) ); // Set create requests in edit request. requestContent.setCreateRequests(targetingCreateRequests); // Configure and execute the bulk list request. BulkEditAssignedTargetingOptionsResponse response = service.advertisers().lineItems() .bulkEditAssignedTargetingOptions( advertiserId, requestContent).execute(); // Print the line item IDs that successfully updated. if (response.getUpdatedLineItemIds() != null && !response.getUpdatedLineItemIds().isEmpty()) { System.out.printf( "Targeting configurations for the following line item IDs were updated: %s.\n", Arrays.toString(response.getUpdatedLineItemIds().toArray())); } // Print the line item IDs the failed to update. if (response.getFailedLineItemIds() != null && !response.getFailedLineItemIds().isEmpty()) { System.out.printf( "Targeting configurations for the following line item IDs failed to update: %s.\n", Arrays.toString(response.getFailedLineItemIds().toArray())); // Print errors thrown for failed updates. System.out.println("The failed updates were caused by the following errors:"); for (Status error : response.getErrors()) { System.out.printf("Error Code: %s, Message: %s\n", error.getCode(), error.getMessage()); } }
Python
advertiser_id = advertiser-id line_item_id = line-item-id added_google_audiences = [google-audience-id-to-add,...] # Build Google Audience targeting settings objects to create. new_google_audience_targeting_settings = [] for google_audience_id in added_google_audiences: new_google_audience_targeting_settings.append( {'googleAudienceId': google_audience_id} ) try: # Retrieve any existing line item audience targeting. retrieved_audience_targeting = service.advertisers().lineItems( ).targetingTypes().assignedTargetingOptions().get( advertiserId=advertiser_id, lineItemId=line_item_id, targetingType="TARGETING_TYPE_AUDIENCE_GROUP", assignedTargetingOptionId="audienceGroup" ).execute() except Exception: print("Error retrieving existing audience targeting. Assuming no " "existing audience targeting.") retrieved_audience_targeting = {} updated_audience_group_details = {} # Copy over any existing audience targeting. if 'audienceGroupDetails' in retrieved_audience_targeting: updated_audience_group_details = retrieved_audience_targeting[ 'audienceGroupDetails'] # Append the new Google Audience IDs to any existing positive Google # audience targeting. if 'includedGoogleAudienceGroup' in updated_audience_group_details: updated_audience_group_details[ 'includedGoogleAudienceGroup']['settings'].extend( new_google_audience_targeting_settings) else: updated_audience_group_details['includedGoogleAudienceGroup'] = { 'settings': new_google_audience_targeting_settings } # Build bulk edit request. bulk_edit_request = { 'lineItemIds': [line_item_id], 'deleteRequests': [ { 'targetingType': "TARGETING_TYPE_AUDIENCE_GROUP", 'assignedTargetingOptionIds': [ "audienceGroup" ] } ], 'createRequests': [ { 'targetingType': "TARGETING_TYPE_AUDIENCE_GROUP", 'assignedTargetingOptions': [ {'audienceGroupDetails': updated_audience_group_details} ] } ] } # Update the audience targeting response = service.advertisers().lineItems( ).bulkEditAssignedTargetingOptions( advertiserId=advertiser_id, body=bulk_edit_request ).execute() # Print the line item IDs the successfully updated. if 'updatedLineItemIds' in response: print("Targeting configurations for the following line item IDs were updated: %s" % response['updatedLineItemIds']) # Print the line item IDs the failed to update. if 'failedLineItemIds' in response: print("Targeting configurations for 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"]))
PHP
$advertiserId = advertiser-id; $lineItemId = line-item-id; $addedGoogleAudienceIds = array(google-audience-id-to-add,...); // Convert list of Google Audience IDs into list of Google Audience // settings. $newGoogleAudienceSettings = array(); foreach ($addedGoogleAudienceIds as $googleAudienceId) { $newSetting = new Google_Service_DisplayVideo_GoogleAudienceTargetingSetting(); $newSetting->setGoogleAudienceId($googleAudienceId); $newGoogleAudienceSettings[] = $newSetting; } // Create a bulk edit request. $requestBody = new Google_Service_DisplayVideo_BulkEditAssignedTargetingOptionsRequest(); $requestBody->setLineItemIds([$lineItemId]); $audienceGroupDeleteRequests = array(); try { // Retrieve existing audience group targeting. $existingAudienceGroupTargetingOption = $service ->advertisers_lineItems_targetingTypes_assignedTargetingOptions ->get( $advertiserId, $lineItemId, 'TARGETING_TYPE_AUDIENCE_GROUP', 'audienceGroup' ); // Extract existing audience group targeting details. $updatedAudienceGroupDetails = $existingAudienceGroupTargetingOption ->getAudienceGroupDetails(); // Build and add delete request for existing audience group // targeting. $deleteAudienceGroupAssignedTargetingIds = array(); $deleteAudienceGroupAssignedTargetingIds[] = "audienceGroup"; $audienceGroupDeleteRequest = new Google_Service_DisplayVideo_DeleteAssignedTargetingOptionsRequest(); $audienceGroupDeleteRequest ->setTargetingType('TARGETING_TYPE_AUDIENCE_GROUP'); $audienceGroupDeleteRequest ->setAssignedTargetingOptionIds( $deleteAudienceGroupAssignedTargetingIds ); $audienceGroupDeleteRequests[] = $audienceGroupDeleteRequest; } catch (\Exception $e) { $updatedAudienceGroupDetails = new Google_Service_DisplayVideo_AudienceGroupAssignedTargetingOptionDetails(); } // Set delete requests in edit request. $requestBody->setDeleteRequests($audienceGroupDeleteRequests); // Construct new group of Google Audiences to include in targeting. $updatedIncludedGoogleAudienceGroup = $updatedAudienceGroupDetails ->getIncludedGoogleAudienceGroup(); if (!empty($updatedIncludedGoogleAudienceGroup)) { // Get existing settings. $updatedGoogleAudienceSettings = $updatedIncludedGoogleAudienceGroup->getSettings(); // Add new Google Audiences to existing list. $updatedGoogleAudienceSettings = array_merge( $updatedGoogleAudienceSettings, $newGoogleAudienceSettings ); // Set updated Google Audience list. $updatedIncludedGoogleAudienceGroup ->setSettings($updatedGoogleAudienceSettings); } else { // Create new Google Audience group. $updatedIncludedGoogleAudienceGroup = new Google_Service_DisplayVideo_GoogleAudienceGroup(); // Set list of new Google Audiences for targeting. $updatedIncludedGoogleAudienceGroup ->setSettings($newGoogleAudienceSettings); } // Add new Google Audience group to audience group targeting details. $updatedAudienceGroupDetails ->setIncludedGoogleAudienceGroup( $updatedIncludedGoogleAudienceGroup ); // Create new targeting option to assign. $newAudienceGroupTargeting = new Google_Service_DisplayVideo_AssignedTargetingOption(); $newAudienceGroupTargeting ->setAudienceGroupDetails($updatedAudienceGroupDetails); // Build audience group targeting create request and add to list of // create requests. $createAudienceGroupAssignedTargetingOptions = array(); $createAudienceGroupAssignedTargetingOptions[] = $newAudienceGroupTargeting; $createAudienceGroupTargetingRequest = new Google_Service_DisplayVideo_CreateAssignedTargetingOptionsRequest(); $createAudienceGroupTargetingRequest->setTargetingType( "TARGETING_TYPE_AUDIENCE_GROUP" ); $createAudienceGroupTargetingRequest->setAssignedTargetingOptions( $createAudienceGroupAssignedTargetingOptions ); $createRequests[] = $createAudienceGroupTargetingRequest; // Set create requests in edit request. $requestBody->setCreateRequests($createRequests); // Call the API, editing the assigned targeting options for the // identified line item. $response = $service ->advertisers_lineItems ->bulkEditAssignedTargetingOptions( $advertiserId, $requestBody ); // Print the line item IDs the successfully updated. if (!empty($response->getUpdatedLineItemIds())) { printf('Targeting configurations for the following line item IDs were updated:\n'); foreach ($response->getUpdatedLineItemIds() as $id) { printf('%s\n', $id); } } // Print the line item IDs the failed to update. if (!empty($response->getFailedLineItemIds())) { print('Targeting configurations for the following line item IDs failed to update:\n'); foreach ($response->getFailedLineItemIds() as $id) { printf('%s\n', $id); } 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()); } }
เพิ่มประสิทธิภาพการกำหนดกลุ่มเป้าหมาย
ดิสเพลย์และ Video 360 สามารถขยายขอบเขตการเข้าถึง กลุ่มเป้าหมายที่เลือกให้กับผู้ใช้ใหม่ที่เกี่ยวข้องผ่านการกำหนดเป้าหมายแบบเพิ่มประสิทธิภาพ ฟีเจอร์
การกำหนดเป้าหมายแบบเพิ่มประสิทธิภาพจะตั้งค่าได้ที่ระดับรายการโฆษณาและกำหนดค่าได้ผ่าน
ช่อง targetingExpansion
ในทรัพยากร LineItem