Nhãn giúp bạn phân loại các chiến dịch, nhóm quảng cáo, quảng cáo và từ khoá, đồng thời sử dụng các danh mục đó để đơn giản hoá quy trình làm việc theo nhiều cách.
Hướng dẫn này bao gồm các bước cần thiết để thực hiện những việc sau:
- Tạo nhãn theo phương thức lập trình bằng
LabelService
. - Chỉ định nhãn cho chiến dịch bằng cách sử dụng các yêu cầu
CampaignLabelService
. - Truy xuất và lọc kết quả báo cáo theo nhãn bằng truy vấn
GoogleAdsService
.
Hướng dẫn này tập trung vào các chiến dịch, nhưng bạn có thể sử dụng cùng một phương pháp cho nhóm quảng cáo, quảng cáo và từ khoá. Xin lưu ý rằng API này cũng cung cấp CustomerLabelService
, cho phép tài khoản người quản lý gán nhãn cho tài khoản con.
Trường hợp sử dụng
Sau đây là các trường hợp điển hình đối với việc sử dụng nhãn:
- Tài khoản của bạn có các chiến dịch bạn chỉ bật vào một số thời điểm nhất định trong năm và bạn muốn dễ dàng đưa vào hoặc loại trừ các chiến dịch đó khỏi báo cáo.
- Bạn đã thêm một tập hợp từ khoá mới vào nhóm quảng cáo của mình và bạn muốn so sánh số liệu thống kê của các từ khoá đó với các từ khoá khác trong nhóm quảng cáo của mình.
- Mỗi người dùng tài khoản Google Ads của bạn sẽ quản lý một nhóm nhỏ chiến dịch và bạn muốn xác định nhóm chiến dịch cho mỗi người dùng.
- Ứng dụng của bạn cần đánh dấu trạng thái của một số đối tượng.
Tạo nhãn
Tạo nhãn bằng đối tượng TextLabel
:
- Tạo một thực thể
TextLabel
. - Đặt màu nền cho
TextLabel
này. - Nhập văn bản cho
TextLabel
này bằng trường mô tả. - Gói
TextLabel
trong mộtLabelOperation
rồi gửi đếnLabelService.MutateLabels
.
Ghi lại mã nhận dạng của các nhãn mới cho các truy vấn sau này. Các mã nhận dạng được nhúng vào trường resource_name
của MutateLabelResults
được trả về trong MutateLabelsResponse
.
Bạn cũng có thể dùng yêu cầu LabelService.GetLabel
hoặc GoogleAdsService
Search
hay SearchStream
để truy xuất mã nhận dạng.
Gán nhãn
Bạn có thể gán nhãn cho các chiến dịch, khách hàng, nhóm quảng cáo, tiêu chí hoặc quảng cáo của mình.
Hãy dùng thao tác Mutate
trong dịch vụ thích hợp để gán nhãn.
Ví dụ: để chỉ định nhãn cho một chiến dịch, hãy chuyển một hoặc nhiều CampaignLabelOperation
sang CampaignLabelService.MutateCampaignLabels
.
Mỗi CampaignLabelOperation
bao gồm một thực thể CampaignLabel
, trong đó có các trường sau:
label
: Mã nhận dạng của một nhãncampaign
: Mã chiến dịch
Tạo một bản sao CampaignLabel
cho mỗi cặp nhãn-chiến dịch. Hãy gói đoạn mã đó trong CampaignLabelOperation
bằng thao tác create
rồi gửi đến CampaignService.MutateCampaignLabels
.
Thêm nhãn chiến dịch
Dưới đây là ví dụ về mã cho thấy cách thêm nhãn chiến dịch vào danh sách chiến dịch:
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.V16.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; } }
1.199
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::V16::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::V16::Resources::CampaignLabel->new({ campaign => Google::Ads::GoogleAds::V16::Utils::ResourceNames::campaign( $customer_id, $campaign_id ), label => $label_resource_name }); # Create a campaign label operation. my $campaign_label_operation = Google::Ads::GoogleAds::V16::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; }
Truy xuất đối tượng bằng cách sử dụng nhãn
Sau khi gán nhãn cho các chiến dịch, bạn có thể sử dụng trường nhãn để truy xuất đối tượng theo mã nhận dạng.
Truyền một truy vấn GAQL thích hợp đến yêu cầu GoogleAdsService
Search
hoặc SearchStream
. Ví dụ: truy vấn sau đây trả về mã nhận dạng, tên và nhãn cho từng chiến dịch được liên kết với một trong 3 mã nhận dạng nhãn bất kỳ:
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id IN (123456, 789012, 345678)
Xin lưu ý rằng bạn chỉ có thể lọc theo mã nhãn, chứ không thể lọc theo tên nhãn. Để lấy mã nhận dạng nhãn từ tên nhãn, bạn có thể sử dụng truy vấn sau:
SELECT
label.id,
label.name
FROM label
WHERE label.name = "LABEL_NAME"
Truy xuất các nhãn được áp dụng cho khách hàng
Khi nhận hệ thống phân cấp của các tài khoản trong tài khoản
người quản lý, bạn có thể truy xuất
danh sách nhãn áp dụng cho tài khoản khách hàng con bằng cách yêu cầu trường
applied_labels
từ đối tượng
CustomerClient
. Trường này chỉ truy xuất các nhãn thuộc sở hữu của khách hàng thực hiện lệnh gọi API.
Sử dụng nhãn trong báo cáo
Báo cáo nhãn
Tài nguyên báo cáo Nhãn trả về thông tin chi tiết về các nhãn được xác định trong một tài khoản. Thông tin chi tiết bao gồm tên, mã nhận dạng, tên tài nguyên, trạng thái, màu nền và nội dung mô tả, cũng như tài nguyên Khách hàng đại diện cho chủ sở hữu nhãn.
Báo cáo có chỉ số
Chế độ xem báo cáo Nhóm quảng cáo và Chiến dịch
chứa trường labels
. Dịch vụ báo cáo sẽ trả về tên tài nguyên nhãn ở định dạng customers/{customer_id}/labels/{label_id}
. Ví dụ: tên tài nguyên customers/123456789/labels/012345
đề cập đến nhãn có mã nhận dạng 012345
trong tài khoản có mã 123456789
.
Báo cáo không có chỉ số
Bạn có thể sử dụng mỗi tài nguyên báo cáo sau đây để tìm mối quan hệ giữa các tài nguyên và nhãn:
- Nhãn quảng cáo của nhóm quảng cáo
- Nhãn tiêu chí nhóm quảng cáo
- Nhãn nhóm quảng cáo
- Nhãn chiến dịch
- Nhãn khách hàng
Bạn có thể lọc các kết quả báo cáo ở trên bằng cách so sánh trường label.id
bằng bất kỳ toán tử so sánh số nào hoặc các toán tử BETWEEN
, IS NULL
, IS NOT NULL
, IN
hoặc NOT IN
.
Ví dụ: bạn có thể nhận được tất cả chiến dịch có một mã nhãn cụ thể như sau:
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id = LABEL_ID
ORDER BY campaign.id