Label memungkinkan Anda mengategorikan kampanye, grup iklan, iklan, dan kata kunci, dan menggunakan kategori tersebut untuk menyederhanakan alur kerja Anda dengan berbagai cara.
Panduan ini membahas langkah-langkah yang diperlukan untuk melakukan hal berikut:
- Buat label secara terprogram menggunakan
LabelService
- Tetapkan label ke kampanye Anda menggunakan
Permintaan
CampaignLabelService
. - Ambil dan filter hasil laporan menurut label menggunakan
Kueri
GoogleAdsService
.
Panduan ini berfokus pada kampanye, tetapi Anda dapat menggunakan pendekatan yang sama untuk iklan
grup, iklan, dan kata kunci. Perhatikan bahwa API ini juga menyediakan
CustomerLabelService
, yang memungkinkan
akun pengelola untuk menetapkan label ke akun turunan.
Kasus penggunaan
Skenario umum untuk menggunakan label meliputi hal berikut:
- Akun Anda memiliki kampanye yang hanya diaktifkan selama waktu-waktu tertentu dalam setahun, dan Anda ingin dengan mudah menyertakan atau mengecualikan kampanye tersebut dari laporan.
- Anda menambahkan kumpulan kata kunci baru ke grup iklan dan ingin membandingkannya statistiknya ke kata kunci lain di grup iklan Anda.
- Pengguna akun Google Ads Anda masing-masing mengelola subkumpulan kampanye dan Anda ingin cara mengidentifikasi seperangkat kampanye untuk setiap pengguna.
- Aplikasi Anda perlu menandai status objek tertentu.
Buat label
Buat label dengan objek TextLabel
:
- Buat instance
TextLabel
. - Setel warna latar belakang untuk
TextLabel
ini. - Masukkan teks untuk
TextLabel
ini menggunakan kolom deskripsi. - Gabungkan
TextLabel
dalamLabelOperation
dan kirimkan keLabelService.MutateLabels
Catat label baru ini' ID untuk kueri berikutnya. ID tersebut tertanam di
Kolom resource_name
di
MutateLabelResults
ditampilkan di
MutateLabelsResponse
.
Anda juga dapat menggunakan permintaan LabelService.GetLabel
atau GoogleAdsService
Search
atau
SearchStream
untuk mengambil ID.
Tetapkan label
Anda dapat menetapkan label ke kampanye, pelanggan, grup iklan, kriteria, atau iklan.
Gunakan operasi Mutate
di layanan yang sesuai untuk menetapkan label.
Misalnya, untuk menetapkan label ke kampanye, teruskan satu atau beberapa
CampaignLabelOperation
ke
CampaignLabelService.MutateCampaignLabels
.
Setiap CampaignLabelOperation
menyertakan
Instance CampaignLabel
, yang berisi
bidang:
label
: ID labelcampaign
: ID kampanye
Buat instance CampaignLabel
untuk setiap pasangan kampanye label. Kemas dalam
CampaignLabelOperation
dengan operasi create
dan mengirimkannya ke
CampaignService.MutateCampaignLabels
.
Tambahkan label kampanye
Berikut adalah contoh kode yang menunjukkan cara menambahkan label kampanye ke daftar kampanye:
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; }
Mengambil objek menggunakan labelnya
Setelah menetapkan label ke kampanye, Anda dapat menggunakan label kolom untuk mengambil objek berdasarkan ID.
Teruskan kueri GAQL yang sesuai ke
GoogleAdsService
Search
atau SearchStream
permintaan. Misalnya, kueri berikut mengembalikan ID, nama, dan label untuk
setiap kampanye yang terkait dengan salah satu dari tiga ID label:
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id IN (123456, 789012, 345678)
Perhatikan bahwa Anda hanya dapat memfilter menurut ID label, bukan nama label. Untuk mendapatkan ID label dari nama label, Anda dapat menggunakan kueri ini:
SELECT
label.id,
label.name
FROM label
WHERE label.name = "LABEL_NAME"
Mengambil label yang diterapkan ke pelanggan
Saat mendapatkan hierarki akun di bawah pengelola
akun, Anda dapat mengambil
daftar label yang diterapkan ke akun pelanggan turunan dengan meminta
kolom applied_labels
dari kolom
Objek CustomerClient
. Kolom ini mengambil
label yang dimiliki oleh pelanggan yang melakukan panggilan API saja.
Menggunakan label dalam laporan
Pelaporan label
Resource laporan Label menampilkan detail tentang label yang ditentukan dalam suatu akun. Detailnya meliputi nama, ID, nama resource, status, warna latar belakang, dan deskripsi, serta nama Pelanggan resource yang mewakili pemilik label.
Laporan dengan metrik
Laporan Grup Iklan dan Kampanye
berisi kolom labels
. Layanan pelaporan menampilkan label
nama resource dalam format customers/{customer_id}/labels/{label_id}
. Sebagai
contoh, nama resource customers/123456789/labels/012345
mengacu pada
label dengan ID 012345
di akun dengan ID 123456789
.
Laporan tanpa metrik
Setiap referensi laporan berikut ini dapat digunakan untuk menemukan hubungan antara resource dan label:
Anda dapat memfilter hasil laporan di atas dengan membandingkan kolom label.id
menggunakan
operator perbandingan numerik apa pun atau
BETWEEN
, IS NULL
, IS NOT NULL
,
operator IN
, atau NOT IN
.
Sebagai contoh, Anda bisa mendapatkan semua kampanye dengan ID label spesifik seperti berikut:
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id = LABEL_ID
ORDER BY campaign.id