ป้ายกำกับช่วยให้คุณจัดหมวดหมู่แคมเปญ กลุ่มโฆษณา โฆษณา และคีย์เวิร์ด แล้วใช้หมวดหมู่เหล่านั้นเพื่อลดความซับซ้อนของขั้นตอนการทำงานในหลายรูปแบบ
คู่มือนี้ครอบคลุมขั้นตอนที่จำเป็นต้องดำเนินการต่อไปนี้
- สร้างป้ายกำกับแบบเป็นโปรแกรมโดยใช้
LabelService
- กำหนดป้ายกำกับให้กับแคมเปญของคุณโดยใช้
CampaignLabelService
คำขอ - ดึงข้อมูลและกรองผลลัพธ์ของรายงานตามป้ายกำกับโดยใช้
GoogleAdsService
การค้นหา
คู่มือนี้จะเน้นเรื่องแคมเปญ แต่คุณสามารถใช้แนวทางเดียวกันนี้กับโฆษณาได้
กลุ่ม โฆษณา และคีย์เวิร์ด โปรดทราบว่า API ยังให้
CustomerLabelService
ซึ่งช่วยให้
บัญชีดูแลจัดการเพื่อกำหนดป้ายกำกับให้บัญชีย่อยได้
กรณีการใช้งาน
สถานการณ์ทั่วไปในการใช้ ป้ายกำกับ ซึ่งประกอบด้วยรายการต่อไปนี้
- บัญชีมีแคมเปญที่เปิดใช้เฉพาะบางช่วงเวลาของปี และคุณต้องการรวมหรือยกเว้นแคมเปญเหล่านั้นในรายงานอย่างง่ายดาย
- คุณเพิ่มคีย์เวิร์ดชุดใหม่ลงในกลุ่มโฆษณาแล้วและต้องการเปรียบเทียบ สถิติของตนไว้กับคีย์เวิร์ดอื่นๆ ในกลุ่มโฆษณาด้วย
- ผู้ใช้บัญชี Google Ads แต่ละคนจะจัดการส่วนย่อยของแคมเปญ และคุณต้องการ วิธีที่จะระบุชุดแคมเปญสำหรับผู้ใช้แต่ละราย
- แอปของคุณต้องทำเครื่องหมายสถานะของออบเจ็กต์บางอย่าง
สร้างป้ายกำกับ
สร้างป้ายกำกับที่มีออบเจ็กต์ TextLabel
ดังนี้
- สร้างอินสแตนซ์
TextLabel
- ตั้งค่าสีพื้นหลังสำหรับ
TextLabel
นี้ - ป้อนข้อความสำหรับ
TextLabel
นี้โดยใช้ช่องคำอธิบาย - รวม
TextLabel
ในLabelOperation
และส่งไปยังLabelService.MutateLabels
จดบันทึกป้ายกำกับใหม่ รหัสสำหรับการค้นหาในภายหลัง รหัสจะฝังอยู่ใน
ฟิลด์ resource_name
ใน
MutateLabelResults
แสดงผลใน
MutateLabelsResponse
นอกจากนี้ คุณยังสามารถใช้คำขอ LabelService.GetLabel
ได้อีกด้วย
หรือSearch
หรือGoogleAdsService
คำขอ SearchStream
เพื่อเรียกข้อมูลรหัส
กำหนดป้ายกำกับ
คุณสามารถกำหนดป้ายกำกับให้กับแคมเปญ ลูกค้า กลุ่มโฆษณา เกณฑ์ หรือโฆษณาก็ได้
ใช้การดำเนินการ Mutate
ในบริการที่เหมาะสมเพื่อกำหนดป้ายกำกับ
ตัวอย่างเช่น หากต้องการกำหนดป้ายกำกับให้กับแคมเปญ ให้ส่งป้ายกำกับอย่างน้อย 1 รายการ
CampaignLabelOperation
ถึง
CampaignLabelService.MutateCampaignLabels
CampaignLabelOperation
แต่ละรายการจะมี
CampaignLabel
ซึ่งมี
ฟิลด์:
label
: รหัสของป้ายกำกับcampaign
: รหัสของแคมเปญ
สร้างอินสแตนซ์ CampaignLabel
สำหรับคู่แคมเปญป้ายกำกับแต่ละคู่ ห่อด้วย
CampaignLabelOperation
ด้วยการดำเนินการ create
และส่งไปยัง
CampaignService.MutateCampaignLabels
เพิ่มป้ายกำกับแคมเปญ
ต่อไปนี้คือตัวอย่างโค้ดที่แสดงวิธีเพิ่มป้ายกํากับแคมเปญลงในรายการ แคมเปญ:
Java
private void runExample( GoogleAdsClient googleAdsClient, long customerId, List<Long> campaignIds, Long labelId) { // Gets the resource name of the label to be added across all given campaigns. String labelResourceName = ResourceNames.label(customerId, labelId); List<CampaignLabelOperation> operations = new ArrayList<>(campaignIds.size()); // Creates a campaign label operation for each campaign. for (Long campaignId : campaignIds) { // Gets the resource name of the given campaign. String campaignResourceName = ResourceNames.campaign(customerId, campaignId); // Creates the campaign label. CampaignLabel campaignLabel = CampaignLabel.newBuilder() .setCampaign(campaignResourceName) .setLabel(labelResourceName) .build(); operations.add(CampaignLabelOperation.newBuilder().setCreate(campaignLabel).build()); } try (CampaignLabelServiceClient campaignLabelServiceClient = googleAdsClient.getLatestVersion().createCampaignLabelServiceClient()) { MutateCampaignLabelsResponse response = campaignLabelServiceClient.mutateCampaignLabels(Long.toString(customerId), operations); System.out.printf("Added %d campaign labels:%n", response.getResultsCount()); for (MutateCampaignLabelResult result : response.getResultsList()) { System.out.println(result.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId, long[] campaignIds, long labelId) { // Get the CampaignLabelServiceClient. CampaignLabelServiceClient campaignLabelService = client.GetService(Services.V17.CampaignLabelService); // Gets the resource name of the label to be added across all given campaigns. string labelResourceName = ResourceNames.Label(customerId, labelId); List<CampaignLabelOperation> operations = new List<CampaignLabelOperation>(); // Creates a campaign label operation for each campaign. foreach (long campaignId in campaignIds) { // Gets the resource name of the given campaign. string campaignResourceName = ResourceNames.Campaign(customerId, campaignId); // Creates the campaign label. CampaignLabel campaignLabel = new CampaignLabel() { Campaign = campaignResourceName, Label = labelResourceName }; operations.Add(new CampaignLabelOperation() { Create = campaignLabel }); } // Send the operation in a mutate request. try { MutateCampaignLabelsResponse response = campaignLabelService.MutateCampaignLabels(customerId.ToString(), operations); Console.WriteLine($"Added {response.Results} campaign labels:"); foreach (MutateCampaignLabelResult result in response.Results) { Console.WriteLine(result.ResourceName); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample( GoogleAdsClient $googleAdsClient, int $customerId, array $campaignIds, int $labelId ) { // Gets the resource name of the label to be added across all given campaigns. $labelResourceName = ResourceNames::forLabel($customerId, $labelId); // Creates a campaign label operation for each campaign. $operations = []; foreach ($campaignIds as $campaignId) { // Creates the campaign label. $campaignLabel = new CampaignLabel([ 'campaign' => ResourceNames::forCampaign($customerId, $campaignId), 'label' => $labelResourceName ]); $campaignLabelOperation = new CampaignLabelOperation(); $campaignLabelOperation->setCreate($campaignLabel); $operations[] = $campaignLabelOperation; } // Issues a mutate request to add the labels to the campaigns. $campaignLabelServiceClient = $googleAdsClient->getCampaignLabelServiceClient(); $response = $campaignLabelServiceClient->mutateCampaignLabels( MutateCampaignLabelsRequest::build($customerId, $operations) ); printf("Added %d campaign labels:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedCampaignLabel) { /** @var CampaignLabel $addedCampaignLabel */ printf( "New campaign label added with resource name: '%s'.%s", $addedCampaignLabel->getResourceName(), PHP_EOL ); } }
Python
def main(client, customer_id, label_id, campaign_ids): """This code example adds a campaign label to a list of campaigns. Args: client: An initialized GoogleAdsClient instance. customer_id: A client customer ID str. label_id: The ID of the label to attach to campaigns. campaign_ids: A list of campaign IDs to which the label will be added. """ # Get an instance of CampaignLabelService client. campaign_label_service = client.get_service("CampaignLabelService") campaign_service = client.get_service("CampaignService") label_service = client.get_service("LabelService") # Build the resource name of the label to be added across the campaigns. label_resource_name = label_service.label_path(customer_id, label_id) operations = [] for campaign_id in campaign_ids: campaign_resource_name = campaign_service.campaign_path( customer_id, campaign_id ) campaign_label_operation = client.get_type("CampaignLabelOperation") campaign_label = campaign_label_operation.create campaign_label.campaign = campaign_resource_name campaign_label.label = label_resource_name operations.append(campaign_label_operation) response = campaign_label_service.mutate_campaign_labels( customer_id=customer_id, operations=operations ) print(f"Added {len(response.results)} campaign labels:") for result in response.results: print(result.resource_name)
Ruby
def add_campaign_label(customer_id, label_id, campaign_ids) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new label_resource_name = client.path.label(customer_id, label_id) labels = campaign_ids.map { |campaign_id| client.resource.campaign_label do |label| campaign_resource_name = client.path.campaign(customer_id, campaign_id) label.campaign = campaign_resource_name label.label = label_resource_name end } ops = labels.map { |label| client.operation.create_resource.campaign_label(label) } response = client.service.campaign_label.mutate_campaign_labels( customer_id: customer_id, operations: ops, ) response.results.each do |result| puts("Created campaign label with id: #{result.resource_name}") end end
Perl
sub add_campaign_labels { my ($api_client, $customer_id, $campaign_ids, $label_id) = @_; my $label_resource_name = Google::Ads::GoogleAds::V17::Utils::ResourceNames::label($customer_id, $label_id); my $campaign_label_operations = []; # Create a campaign label operation for each campaign. foreach my $campaign_id (@$campaign_ids) { # Create a campaign label. my $campaign_label = Google::Ads::GoogleAds::V17::Resources::CampaignLabel->new({ campaign => Google::Ads::GoogleAds::V17::Utils::ResourceNames::campaign( $customer_id, $campaign_id ), label => $label_resource_name }); # Create a campaign label operation. my $campaign_label_operation = Google::Ads::GoogleAds::V17::Services::CampaignLabelService::CampaignLabelOperation ->new({ create => $campaign_label }); push @$campaign_label_operations, $campaign_label_operation; } # Add the campaign labels to the campaigns. my $campaign_labels_response = $api_client->CampaignLabelService()->mutate({ customerId => $customer_id, operations => $campaign_label_operations }); my $campaign_label_results = $campaign_labels_response->{results}; printf "Added %d campaign labels:\n", scalar @$campaign_label_results; foreach my $campaign_label_result (@$campaign_label_results) { printf "Created campaign label '%s'.\n", $campaign_label_result->{resourceName}; } return 1; }
ดึงข้อมูลออบเจ็กต์โดยใช้ป้ายกำกับ
หลังจากที่คุณกำหนดป้ายกำกับให้กับแคมเปญของคุณ คุณสามารถใช้ป้ายกำกับ เพื่อเรียกข้อมูลออบเจ็กต์ตามรหัส
ส่งผ่านข้อความค้นหา GAQL ที่เหมาะสมไปยัง
GoogleAdsService
Search
หรือ SearchStream
อีกครั้ง ตัวอย่างเช่น คำค้นหาต่อไปนี้จะแสดงรหัส ชื่อ และป้ายกำกับสำหรับ
แต่ละแคมเปญที่เชื่อมโยงกับรหัสป้ายกำกับ 1 ใน 3 รหัส ได้แก่
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id IN (123456, 789012, 345678)
โปรดทราบว่าคุณจะกรองตามรหัสป้ายกำกับได้เท่านั้น แต่กรองตามชื่อป้ายกำกับไม่ได้ วิธีรับรหัสป้ายกำกับ จากชื่อป้ายกำกับ คุณสามารถใช้คำค้นหานี้
SELECT
label.id,
label.name
FROM label
WHERE label.name = "LABEL_NAME"
ดึงข้อมูลป้ายกำกับที่ใช้กับลูกค้า
เมื่อดูลำดับชั้นของบัญชีภายใต้ผู้จัดการ
บัญชี คุณสามารถเรียกดู
รายการป้ายกำกับที่ใช้กับบัญชีลูกค้าย่อยด้วยการส่งคำขอ
applied_labels
จากฟิลด์
ออบเจ็กต์ CustomerClient
ฟิลด์นี้จะดึงข้อมูล
เฉพาะป้ายกำกับของลูกค้าที่ทำการเรียก API
ใช้ป้ายกำกับในรายงาน
การรายงานป้ายกำกับ
ทรัพยากรรายงานป้ายกำกับจะแสดงรายละเอียดเกี่ยวกับป้ายกำกับ กำหนดไว้ในบัญชี รายละเอียดประกอบด้วยชื่อ รหัส ชื่อทรัพยากร สถานะ สีพื้นหลัง และคำอธิบาย รวมถึงคำอธิบายลูกค้า ทรัพยากรที่เป็นตัวแทนของเจ้าของป้ายกำกับ
รายงานที่มีเมตริก
รายงานกลุ่มโฆษณาและแคมเปญ
จำนวนการดูมีฟิลด์ labels
บริการการรายงานแสดงผลป้ายกำกับ
ชื่อทรัพยากรในรูปแบบ customers/{customer_id}/labels/{label_id}
สำหรับ
ตัวอย่างเช่น ชื่อทรัพยากร customers/123456789/labels/012345
อ้างถึง
ป้ายกำกับที่มีรหัส 012345
ในบัญชีที่มีรหัส 123456789
รายงานที่ไม่มีเมตริก
คุณสามารถใช้แหล่งข้อมูลรายงานแต่ละรายการต่อไปนี้เพื่อค้นหาความสัมพันธ์ระหว่าง ทรัพยากรและป้ายกำกับ
- ป้ายกำกับโฆษณาของกลุ่มโฆษณา
- ป้ายกำกับเกณฑ์ของกลุ่มโฆษณา
- ป้ายกำกับกลุ่มโฆษณา
- ป้ายกำกับแคมเปญ
- ป้ายกำกับลูกค้า
คุณกรองผลลัพธ์ของรายงานด้านบนได้ด้วยการเปรียบเทียบช่อง label.id
โดยใช้
โอเปอเรเตอร์การเปรียบเทียบที่เป็นตัวเลข หรือ BETWEEN
, IS NULL
, IS NOT NULL
โอเปอเรเตอร์ IN
หรือ NOT IN
ตัวอย่างเช่น คุณสามารถดูแคมเปญทั้งหมดที่มีรหัสป้ายกำกับเฉพาะได้ดังนี้
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id = LABEL_ID
ORDER BY campaign.id