ในส่วนรับคำแนะนำ เราได้แสดงวิธีดึงข้อมูลชุดออบเจ็กต์ KeywordThemeConstant โดยใช้คำหรือวลี
ในขั้นตอนนี้ เราจะใช้ค่าคงที่ของธีมคีย์เวิร์ดเดียวกันเหล่านั้นเพื่อ
สร้างชุดออบเจ็กต์ CampaignCriterion
สําหรับ Smart Campaign เพื่อกําหนดเป้าหมาย
เช่นเดียวกับวิธีที่เราใช้จำนวนงบประมาณที่
SmartCampaignSuggestServiceแนะนําเมื่อสร้าง
งบประมาณ เราขอแนะนําให้คุณสร้าง
เกณฑ์แคมเปญตามค่าคงที่ของธีมคีย์เวิร์ดที่ดึงมาจาก
KeywordThemeConstantService ใน
รับคําแนะนํา
ข้อกำหนดที่สำคัญสำหรับเกณฑ์ของ Smart Campaign มีดังนี้
แคมเปญอัจฉริยะรองรับเฉพาะเกณฑ์ประเภทต่อไปนี้
สําหรับการกําหนดเป้าหมายตามสถานที่ หากไม่ได้ระบุสถานที่ ระบบจะกําหนดเป้าหมายเป็นทุกภูมิภาคโดยค่าเริ่มต้น
คุณเชื่อมโยงเกณฑ์
locationหลายรายการกับ Smart Campaign ได้ แต่ใช้เกณฑ์proximityได้เพียงรายการเดียวคุณไม่สามารถใช้ทั้งการกำหนดเป้าหมาย
locationและproximity
ในตัวอย่างต่อไปนี้ ระบบได้แปลงค่าคงที่ของธีมคีย์เวิร์ดเป็นออบเจ็กต์
KeywordThemeInfo โดยการตั้งค่าชื่อทรัพยากรของออบเจ็กต์
ลงในฟิลด์
KeywordThemeInfo.keyword_theme_constant
เราตั้งค่าฟิลด์ campaign โดยใช้ชื่อ
ทรัพยากรชั่วคราวที่ตั้งค่าไว้ใน
แคมเปญในขั้นตอนก่อนหน้า
Java
/** * Creates {@link com.google.ads.googleads.v22.resources.CampaignCriterion} operations for add * each {@link KeywordThemeInfo}. */ private Collection<? extends MutateOperation> createCampaignCriterionOperations( long customerId, List<KeywordThemeInfo> keywordThemeInfos, SmartCampaignSuggestionInfo suggestionInfo) { List<MutateOperation> keywordThemeOperations = keywordThemeInfos.stream() .map( keywordTheme -> { MutateOperation.Builder builder = MutateOperation.newBuilder(); builder .getCampaignCriterionOperationBuilder() .getCreateBuilder() .setCampaign(ResourceNames.campaign(customerId, SMART_CAMPAIGN_TEMPORARY_ID)) .setKeywordTheme(keywordTheme); return builder.build(); }) .collect(Collectors.toList()); List<MutateOperation> locationOperations = suggestionInfo.getLocationList().getLocationsList().stream() .map( location -> { MutateOperation.Builder builder = MutateOperation.newBuilder(); builder .getCampaignCriterionOperationBuilder() .getCreateBuilder() .setCampaign(ResourceNames.campaign(customerId, SMART_CAMPAIGN_TEMPORARY_ID)) .setLocation(location); return builder.build(); }) .collect(Collectors.toList()); return Stream.concat(keywordThemeOperations.stream(), locationOperations.stream()) .collect(Collectors.toList()); }
C#
/// <summary> /// Creates a list of MutateOperations that create new campaign criteria. /// </summary> /// <param name="customerId">The Google Ads customer ID.</param> /// <param name="keywordThemeInfos">A list of KeywordThemeInfos.</param> /// <param name="suggestionInfo">A SmartCampaignSuggestionInfo instance.</param> /// <returns>A list of MutateOperations that create new campaign criteria.</returns> private IEnumerable<MutateOperation> CreateCampaignCriterionOperations(long customerId, IEnumerable<KeywordThemeInfo> keywordThemeInfos, SmartCampaignSuggestionInfo suggestionInfo) { List<MutateOperation> mutateOperations = keywordThemeInfos.Select( keywordThemeInfo => new MutateOperation { CampaignCriterionOperation = new CampaignCriterionOperation { Create = new CampaignCriterion { // Set the campaign ID to a temporary ID. Campaign = ResourceNames.Campaign( customerId, SMART_CAMPAIGN_TEMPORARY_ID), // Set the keyword theme to each KeywordThemeInfo in turn. KeywordTheme = keywordThemeInfo, } } }).ToList(); // Create a location criterion for each location in the suggestion info. mutateOperations.AddRange( suggestionInfo.LocationList.Locations.Select( locationInfo => new MutateOperation() { CampaignCriterionOperation = new CampaignCriterionOperation() { Create = new CampaignCriterion() { // Set the campaign ID to a temporary ID. Campaign = ResourceNames.Campaign(customerId, SMART_CAMPAIGN_TEMPORARY_ID), // Set the location to the given location. Location = locationInfo } } }).ToList() ); return mutateOperations; }
PHP
private static function createCampaignCriterionOperations( int $customerId, array $keywordThemeInfos, SmartCampaignSuggestionInfo $smartCampaignSuggestionInfo ): array { $operations = []; foreach ($keywordThemeInfos as $info) { // Creates the campaign criterion object. $campaignCriterion = new CampaignCriterion([ // Sets the campaign ID to a temporary ID. 'campaign' => ResourceNames::forCampaign($customerId, self::SMART_CAMPAIGN_TEMPORARY_ID), // Sets the keyword theme to the given KeywordThemeInfo. 'keyword_theme' => $info ]); // Creates the MutateOperation that creates the campaign criterion and adds it to the // list of operations. $operations[] = new MutateOperation([ 'campaign_criterion_operation' => new CampaignCriterionOperation([ 'create' => $campaignCriterion ]) ]); } // Create a location criterion for each location in the suggestion info object to add // corresponding location targeting to the Smart campaign. foreach ($smartCampaignSuggestionInfo->getLocationList()->getLocations() as $location) { // Creates the campaign criterion object. $campaignCriterion = new CampaignCriterion([ // Sets the campaign ID to a temporary ID. 'campaign' => ResourceNames::forCampaign($customerId, self::SMART_CAMPAIGN_TEMPORARY_ID), // Set the location to the given location. 'location' => $location ]); // Creates the MutateOperation that creates the campaign criterion and adds it to the // list of operations. $operations[] = new MutateOperation([ 'campaign_criterion_operation' => new CampaignCriterionOperation([ 'create' => $campaignCriterion ]) ]); } return $operations; }