Etykiety pozwalają dzielić kampanie, grupy reklam, reklamy i słowa kluczowe na kategorie i wykorzystaj te kategorie, aby na różne sposoby uprościć Ci pracę.
Z tego przewodnika dowiesz się, jak:
- Automatyczne tworzenie etykiet za pomocą
LabelService
- Przypisz etykiety do kampanii za pomocą:
Prośby:
CampaignLabelService
. - Pobierz i filtruj wyniki raportu według etykiety przy użyciu
GoogleAdsService
.
Ten przewodnik skupia się na kampaniach, ale możesz zastosować to samo podejście do reklam
grup, reklam i słów kluczowych. Pamiętaj, że interfejs API udostępnia też
CustomerLabelService
, która umożliwia
kont menedżera, aby przypisać etykiety do kont podrzędnych.
Przypadki użycia
Typowe scenariusze użycia etykiety to:
- Na Twoim koncie są kampanie, które włączysz tylko w określonych porach roku. i chcesz je łatwo uwzględnić w raportach lub z niego wykluczyć.
- Do grupy reklam został dodany nowy zestaw słów kluczowych i chcesz porównać ich statystyki do innych słów kluczowych w grupie reklam.
- Użytkownicy Twojego konta Google Ads zarządzają podzbiorem kampanii, więc chcesz aby określić zestaw kampanii dla każdego użytkownika.
- Aplikacja musi oznaczać stan określonych obiektów.
Utwórz etykiety
Utwórz etykiety za pomocą obiektu TextLabel
:
- Utwórz instancję
TextLabel
. - Ustaw kolor tła tego elementu (
TextLabel
). - Wpisz tekst elementu
TextLabel
w polu opisu. - Zapakuj
TextLabel
wLabelOperation
i wyślij doLabelService.MutateLabels
.
Zanotuj nowe etykiety Identyfikatory na potrzeby późniejszych zapytań. Identyfikatory są umieszczane w sekcji
resource_name
w polu
MutateLabelResults
zostało zwrócone w
MutateLabelsResponse
Możesz też użyć żądania LabelService.GetLabel
albo GoogleAdsService
Search
albo
SearchStream
, aby pobrać identyfikatory.
Przypisywanie etykiet
Etykiety możesz przypisywać do kampanii, klientów, grup reklam, kryteriów lub reklam.
Aby przypisać etykiety, użyj operacji Mutate
w odpowiedniej usłudze.
Aby np. przypisać etykiety do kampanii, przekaż co najmniej jedną
CampaignLabelOperation
do
CampaignLabelService.MutateCampaignLabels
Każdy element CampaignLabelOperation
obejmuje
instancji CampaignLabel
, która zawiera te
pola:
label
: identyfikator etykietycampaign
: identyfikator kampanii
Utwórz wystąpienie CampaignLabel
dla każdej pary etykiety i kampanii. Zapakuj go w
CampaignLabelOperation
za pomocą operacji create
i wyślij do:
CampaignService.MutateCampaignLabels
Dodaj etykiety kampanii
Oto przykładowy kod pokazujący, jak dodać etykietę kampanii do listy kampanie:
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; }
Pobieranie obiektów za pomocą ich etykiet
Po przypisaniu etykiet do kampanii możesz używać etykiet pola, aby pobierać obiekty według identyfikatora.
Przekaż odpowiednie zapytanie GAQL do
GoogleAdsService
Search
lub SearchStream
użytkownika. Na przykład to zapytanie zwraca identyfikator, nazwę i etykiety obiektu
każdej kampanii powiązanej z dowolnym z trzech identyfikatorów etykiet:
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id IN (123456, 789012, 345678)
Pamiętaj, że możesz filtrować tylko według identyfikatora etykiety, a nie jej nazwy. Aby uzyskać identyfikator etykiety z nazwy etykiety, możesz użyć tego zapytania:
SELECT
label.id,
label.name
FROM label
WHERE label.name = "LABEL_NAME"
Pobieranie etykiet zastosowanych do klienta
Podczas uzyskiwania hierarchii kont podlegających danemu menedżerowi
, możesz pobrać
listę etykiet zastosowanych do podrzędnego konta klienta przez żądanie
applied_labels
z sekcji
Obiekt CustomerClient
. To pole pobiera
tylko etykiety należące do klienta wywołującego interfejs API.
Używanie etykiet w raportach
Raportowanie etykiet
Zasób raportu Etykieta zwraca szczegółowe informacje o etykietach. zdefiniowane na koncie. Szczegóły obejmują nazwę, identyfikator, nazwę zasobu, stan, koloru tła i opisu, a także informacji o kliencie reprezentujący właściciela etykiety.
Raporty z danymi
Raporty Grupa reklam i Kampania
widoki zawierają pole labels
. Usługa raportowania zwraca etykietę
nazwy zasobów w formacie customers/{customer_id}/labels/{label_id}
. Dla:
na przykład nazwa zasobu customers/123456789/labels/012345
odnosi się do
etykietę o identyfikatorze 012345
na koncie o identyfikatorze 123456789
.
Raporty bez danych
Za pomocą każdego z poniższych zasobów raportu można znaleźć relacje między zasoby i etykiety:
- Etykieta reklamy grupy reklam
- Etykieta kryterium grupy reklam
- Etykieta grupy reklam
- Etykieta kampanii
- Etykieta klienta
Możesz przefiltrować powyższe wyniki raportu, porównując pole label.id
za pomocą funkcji
dowolny liczbowy operator porównania lub BETWEEN
, IS NULL
, IS NOT NULL
,
Operator IN
lub NOT IN
.
Możesz na przykład wyświetlić wszystkie kampanie z określonym identyfikatorem etykiety w ten sposób:
SELECT
campaign.id,
campaign.name,
label.id,
label.name
FROM campaign_label
WHERE label.id = LABEL_ID
ORDER BY campaign.id