Reklamlarınızı yalnızca belirli kitle segmentlerine veya seçtiğiniz belirli içeriklerde gösterilecek şekilde daraltıp daraltmayacağınızı belirtmek için reklam gruplarınızdaki veya kampanyalarınızdaki hedefleme ayarını kullanın.
Hedefleme ayarını belirleme
TargetingSetting alanını bir target_restrictions dizisiyle ayarlayarak (veya target_restriction_operations kullanarak artımlı güncellemeler uygulayarak) çeşitli ölçüt türlerinizin hedefleme için nasıl kullanılacağıyla ilgili ayrıntıları ayarlayabilirsiniz. Her bir TargetRestriction, bir TargetingDimension (AUDIENCE, TOPIC, GENDER, AGE_RANGE, PLACEMENT, PARENTAL_STATUS veya INCOME_RANGE) için bid_only seçeneğinin kullanılıp kullanılmayacağını kontrol etmenize olanak tanır.
bid_only ayarı true olarak ayarlandığında hedefleme ayarı "Gözlem" olarak belirlenir ve ölçütler trafiği kısıtlamak için kullanılmaz. Ancak bu ayar, listelerinizdeki farklı kullanıcılar için farklı teklifler vermenize olanak tanır. Ayarı
bid_only olarak ayarlamak, hedefleme ayarını false olarak ayarlar ve reklam grubu trafiğini yalnızca hedeflenen listedeki kullanıcılarla sınırlayan ölçütleri etkinleştirir.
Temel farklar aşağıdaki tabloda özetlenmiştir:
| Ayar | bid_only |
Erişim üzerindeki etki | Teklif verme üzerindeki etki |
|---|---|---|---|
| Hedefleme | false |
Erişimi yalnızca seçilen ölçütlerle sınırlar. | Ölçütlere özel teklifler belirleyebilir. |
| Gözlem | true |
Erişimi daraltmaz; reklamlar normal şekilde gösterilir. | Ölçütlere göre teklif ayarlamalarına izin verir. |
Pratik senaryolar
Gözlem modunu ve hedefleme modunu ne zaman kullanacağınıza dair kısa örnekleri aşağıda bulabilirsiniz:
- Gözlem
- Bir Arama Ağı kampanyası yayınlıyorsanız ve reklamlarınızı yalnızca belirli bir kitleyle sınırlamadan, belirli bir kitlenin (ör. "spor taraftarları") genel halka kıyasla ne kadar iyi dönüşüm sağladığını bilmek istiyorsanız gözlem modunu kullanın.
bid_only = true(Gözlem) ile "spor taraftarları"nı kitle ölçütü olarak ekleyebilir ve +% 10 teklif ayarlaması uygulayabilirsiniz. Bu sayede, söz konusu kitle için performans verileri toplayabilir ve iyi performans gösterirlerse bu kitleye daha rekabetçi teklifler verebilirsiniz. Ayrıca, bu kitle dışındaki kullanıcılardan trafik kaybetmezsiniz. - Hedefleme
- Daha önce web sitenizi ziyaret etmiş ancak dönüşüm gerçekleştirmemiş kullanıcılara yeniden pazarlama yapmak için bir Görüntülü Reklam Ağı kampanyası yayınlıyorsanız ve bu belirli reklamları yalnızca "Alışveriş sepetini terk edenler" kullanıcı listenizdeki kullanıcıların görmesini istiyorsanız hedefleme modunu kullanın. Bu durumda, "Alışveriş sepetini terk edenler" listesini
UserListölçütü olarakbid_only = false(Hedefleme) ile birlikte eklersiniz. Bu sayede reklam grubunuzun bütçesinin yalnızca yüksek dönüşüm potansiyeline sahip bu kitle segmentine ulaşmak için harcanması sağlanır.
En iyi uygulamalar
Varsayılan olarak bid_only, false olarak ayarlanır. Bu durumda hedefleme ayarı "Hedefleme" olarak belirlenir. Belirli bir hedefleme boyutu (ör. AUDIENCE) için hedef kısıtlama, bir TargetingSetting öğesinin target_restrictions dizisinde atlanırsa veya bulunmazsa sistem, bu boyut için varsayılan "Hedefleme" davranışını (bid_only, örtülü olarak false olur) benimser.
Bu düşük düzeyli API davranışı, kampanyalar veya reklam grupları oluşturulduğunda bazı hedefleme boyutları (ör. Arama Ağı kampanyaları için AUDIENCE) için varsayılan olarak "Gözlem"i (bid_only is true) otomatik olarak uygulayabilen Google Ads kullanıcı arayüzünden farklı olabilir. Örneğin, kullanıcı arayüzü üzerinden oluşturulan Alışveriş kampanyaları, API açısından varsayılan olarak AUDIENCE boyut ayarlarını atlayabilir. Bu da kampanyaların, "Hedefleme"nin varsayılan API davranışını (bid_only, false'dir) örtülü olarak devraldığı anlamına gelir.
Bir Arama Ağı veya Alışveriş kampanyasına kitle segmentleri ekliyorsanız bid_only hedefleme ayarını true olarak açıkça yapılandırarak "Gözlem" olarak ayarlamayı düşünebilirsiniz.
Arama ağı reklamları için kitle segmentlerine yönelik bir yinelenen kampanya oluşturuyorsanız bid_only hedeflemesini false olarak ayarlayın.
Kısıtlamalar
targeting_setting, üst kampanyada ayarlanmışsa AdGroup üzerinde targeting_setting ekleyemez veya güncelleyemezsiniz. targeting_setting, ebeveyn Campaign üzerinde ayarlanmışsa önce ebeveyn Campaign üzerindeki targeting_setting öğesini kaldırmanız gerekir. Aynı şekilde, öğesini Campaign üzerine
ayarlamak için önce AdGroup üzerindeki targeting_setting öğesini kaldırmanız gerekir.
Bir targeting_setting öğesini Campaign veya AdGroup öğesinden kaldırmak için targeting_setting.target_restrictions öğesinin temizlendiği (boş bir listeye ayarlandığı) bir update işlemi gönderin ve targeting_setting.target_restrictions öğesini update_mask içine ekleyin.
Hedefleme ayarını alma
Hedeflemenizin istediğiniz şekilde ayarlandığını doğrulamak için bir arama sorgusunda ad_group kaynağındaki ad_group.targeting_setting.target_restrictions alanını veya campaign kaynağındaki campaign.targeting_setting.target_restrictions alanını isteyerek reklam grupları veya kampanyalardaki targeting_setting simgesini kontrol edin.
Örnek
Bu örnekte, targeting_setting, bid_only
olacak şekilde bir reklam grubunda güncellenir. true, TargetRestriction örnekleri için targeting_dimension değeri AUDIENCE olur. Bu sayede, erişimi kısıtlamadan performansı gözlemleyebilir ve kitle segmentindeki kullanıcılar için teklif ayarlamaları belirleyebilirsiniz.
Öncelikle, sağlanan kimliğe sahip reklam grubundan tüm ad_group.targeting_setting.target_restrictions öğelerini alın.
Java
String searchQuery = "SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions " + "FROM ad_group " + "WHERE ad_group.id = " + adGroupId;
C#
string query = $@" SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions FROM ad_group WHERE ad_group.id = {adGroupId}";
PHP
$query = "SELECT ad_group.id, ad_group.name, " . "ad_group.targeting_setting.target_restrictions " . "FROM ad_group " . "WHERE ad_group.id = $adGroupId";
Python
query: str = f""" SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions FROM ad_group WHERE ad_group.id = {ad_group_id}"""
Ruby
query = <<~QUERY SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions FROM ad_group WHERE ad_group.id = #{ad_group_id} QUERY
Perl
my $query = "SELECT ad_group.id, ad_group.name, " . "ad_group.targeting_setting.target_restrictions FROM ad_group " . "WHERE ad_group.id = $ad_group_id";
curl
Ardından, hedef kısıtlamaları döngüye alın ve TargetingSetting nesnelerini yeniden oluşturun. Kod, AUDIENCE targeting_dimension'li ve false bid_only'lü bir TargetRestriction ile karşılaşırsa TargetRestriction nesnesinin bid_only alanını true (veya "Observation") olarak günceller ve TargetingSetting nesnesine ekler. Aksi takdirde, sunucudan döndürülen
TargetRestriction nesnesini
TargetingSetting öğesine ekleyin.
Java
for (TargetRestriction targetRestriction : targetRestrictions) { TargetingDimension targetingDimension = targetRestriction.getTargetingDimension(); boolean bidOnly = targetRestriction.getBidOnly(); System.out.printf( "- Targeting restriction with targeting dimension '%s' and bid only set to '%b'.%n", targetingDimension, bidOnly); // Adds the target restriction to the TargetingSetting object as is if the targeting // dimension has a value other than AUDIENCE because those should not change. if (!targetingDimension.equals(TargetingDimension.AUDIENCE)) { targetingSettingBuilder.addTargetRestrictions(targetRestriction); } else if (!bidOnly) { shouldUpdateTargetingSetting = true; // Adds an AUDIENCE target restriction with bid_only set to true to the targeting // setting object. This has the effect of setting the AUDIENCE target restriction to // "Observation". For more details about the targeting setting, visit // https://support.google.com/google-ads/answer/7365594. targetingSettingBuilder.addTargetRestrictions( TargetRestriction.newBuilder() .setTargetingDimensionValue(TargetingDimension.AUDIENCE_VALUE) .setBidOnly(true)); } }
C#
foreach (TargetRestriction targetRestriction in targetRestrictions) { TargetingDimension targetingDimension = targetRestriction.TargetingDimension; bool bidOnly = targetRestriction.BidOnly; Console.WriteLine("\tTargeting restriction with targeting dimension " + $"'{targetingDimension}' and bid only set to '{bidOnly}'."); // Add the target restriction to the TargetingSetting object as is if the // targeting dimension has a value other than AUDIENCE because those should // not change. if (targetingDimension != TargetingDimension.Audience) { targetingSetting.TargetRestrictions.Add(targetRestriction); } else if (!bidOnly) { shouldUpdateTargetingSetting = true; // Add an AUDIENCE target restriction with bid_only set to true to the // targeting setting object. This has the effect of setting the AUDIENCE // target restriction to "Observation". For more details about the // targeting setting, visit // https://support.google.com/google-ads/answer/7365594. targetingSetting.TargetRestrictions.Add(new TargetRestriction { TargetingDimension = TargetingDimension.Audience, BidOnly = true }); } }
PHP
foreach ( $adGroup->getTargetingSetting()->getTargetRestrictions() as $targetRestriction ) { // Prints the results. $targetingDimension = $targetRestriction->getTargetingDimension(); $bidOnly = $targetRestriction->getBidOnly(); printf( "- Targeting restriction with targeting dimension '%s' and bid only set to " . "'%s'.%s", TargetingDimension::name($targetingDimension), $bidOnly ? 'true' : 'false', PHP_EOL ); // Adds the target restriction to the TargetingSetting object as is if the targeting // dimension has a value other than AUDIENCE because those should not change. if ($targetingDimension !== TargetingDimension::AUDIENCE) { $targetRestrictions[] = $targetRestriction; } elseif (!$bidOnly) { $shouldUpdateTargetingSetting = true; // Adds an AUDIENCE target restriction with bid_only set to true to the // targeting setting object. This has the effect of setting the AUDIENCE // target restriction to "Observation". // For more details about the targeting setting, visit // https://support.google.com/google-ads/answer/7365594. $targetRestrictions[] = new TargetRestriction( [ 'targeting_dimension' => TargetingDimension::AUDIENCE, 'bid_only' => true ] ); } }
Python
target_restriction: TargetRestriction for target_restriction in target_restrictions: targeting_dimension: TargetingDimensionEnum.TargetingDimension = ( target_restriction.targeting_dimension ) bid_only: bool = target_restriction.bid_only print( "\tTargeting restriction with targeting dimension " f"'{targeting_dimension.name}' " f"and bid only set to '{bid_only}'." ) # Add the target restriction to the TargetingSetting object as # is if the targeting dimension has a value other than audience # because those should not change. if targeting_dimension != targeting_dimension_enum.AUDIENCE: targeting_setting.target_restrictions.append(target_restriction) elif not bid_only: should_update_targeting_setting: bool = True # Add an audience target restriction with bid_only set to # true to the targeting setting object. This has the effect # of setting the audience target restriction to # "Observation". For more details about the targeting # setting, visit # https://support.google.com/google-ads/answer/7365594. new_target_restriction: TargetRestriction = ( targeting_setting.target_restrictions.add() ) new_target_restriction.targeting_dimension = ( targeting_dimension_enum.AUDIENCE ) new_target_restriction.bid_only = True
Ruby
ad_group.targeting_setting.target_restrictions.each do |r| # Prints the results. targeting_dimension = r.targeting_dimension bid_only = r.bid_only puts "- Targeting restriction with targeting dimension " \ "#{targeting_dimension} and bid only set to #{bid_only}." # Adds the target restriction to the TargetingSetting object as is if the # targeting dimension has a value other than AUDIENCE because those should # not change. if targeting_dimension != :AUDIENCE target_restrictions << r elsif !bid_only should_update_targeting_setting = true # Adds an AUDIENCE target restriction with bid_only set to true to the # targeting setting object. This has the effect of setting the AUDIENCE # target restriction to "Observation". # For more details about the targeting setting, visit # https://support.google.com/google-ads/answer/7365594. target_restrictions << client.resource.target_restriction do |tr| tr.targeting_dimension = :AUDIENCE tr.bid_only = true end end end
Perl
foreach my $target_restriction (@target_restrictions) { my $targeting_dimension = $target_restriction->{targetingDimension}; printf "\tTargeting restriction with targeting dimension '%s' and bid " . "only set to '%s'.\n", $targeting_dimension, $target_restriction->{bidOnly} ? "TRUE" : "FALSE"; # Add the target restriction to the TargetingSetting object as is if the # targeting dimension has a value other than AUDIENCE because those # should not change. if ($targeting_dimension ne AUDIENCE) { $target_restriction->{bidOnly} = $target_restriction->{bidOnly} ? "true" : "false"; push @{$targeting_setting->{targetRestrictions}}, $target_restriction; } elsif (!$target_restriction->{bidOnly}) { $should_update_target_setting = 1; # Add an AUDIENCE target restriction with bid_only set to true to the # targeting setting object. This has the effect of setting the # AUDIENCE target restriction to "Observation". For more details about # the targeting setting, visit # https://support.google.com/google-ads/answer/7365594. my $new_restriction = Google::Ads::GoogleAds::V25::Common::TargetRestriction->new({ targetingDimension => AUDIENCE, bidOnly => "true" }); push @{$targeting_setting->{targetRestrictions}}, $new_restriction; } }
curl
Son olarak, kodun güncellenmesi gereken bir hedef kısıtlamasıyla karşılaşması durumunda reklam grubu yeni hedefleme ayarlarıyla güncellenir.
Java
private void updateTargetingSetting( GoogleAdsClient googleAdsClient, long customerId, long adGroupId, TargetingSetting targetingSetting) { // Creates the ad group service client. try (AdGroupServiceClient adGroupServiceClient = googleAdsClient.getLatestVersion().createAdGroupServiceClient()) { // Creates an ad group object with the proper resource name and updated targeting setting. AdGroup adGroup = AdGroup.newBuilder() .setResourceName(ResourceNames.adGroup(customerId, adGroupId)) .setTargetingSetting(targetingSetting) .build(); // Constructs an operation that will update the ad group, using the FieldMasks utility to // derive the update mask. This mask tells the Google Ads API which attributes of the // ad group you want to change. AdGroupOperation operation = AdGroupOperation.newBuilder() .setUpdate(adGroup) .setUpdateMask(FieldMasks.allSetFieldsOf(adGroup)) .build(); // Sends the operation in a mutate request. MutateAdGroupsResponse response = adGroupServiceClient.mutateAdGroups( Long.toString(customerId), ImmutableList.of(operation)); // Prints the resource name of the updated object. System.out.printf( "Updated targeting setting of ad group with resource name '%s'; set the AUDIENCE " + "target restriction to 'Observation'.%n", response.getResults(0).getResourceName()); } }
C#
private void UpdateTargetingSetting(GoogleAdsClient client, long customerId, long adGroupId, TargetingSetting targetingSetting) { // Get the AdGroupService client. AdGroupServiceClient adGroupServiceClient = client.GetService(Services.V25.AdGroupService); // Create an ad group object with the updated targeting setting. AdGroup adGroup = new AdGroup { ResourceName = ResourceNames.AdGroup(customerId, adGroupId), TargetingSetting = targetingSetting }; // Construct an operation that will update the ad group, using the FieldMasks utility // to derive the update mask. This mask tells the Google Ads API which attributes of the // ad group you want to change. AdGroupOperation operation = new AdGroupOperation { Update = adGroup, UpdateMask = FieldMasks.AllSetFieldsOf(adGroup) }; // Send the operation in a mutate request. MutateAdGroupsResponse response = adGroupServiceClient.MutateAdGroups(customerId.ToString(), new[] { operation }); // Print the resource name of the updated object. Console.WriteLine("Updated targeting setting of ad group with resource name " + $"'{response.Results.First().ResourceName}'; set the AUDIENCE target restriction " + "to 'Observation'."); }
PHP
private static function updateTargetingSetting( GoogleAdsClient $googleAdsClient, int $customerId, int $adGroupId, TargetingSetting $targetingSetting ) { // Creates an ad group object with the proper resource name and updated targeting setting. $adGroup = new AdGroup( [ 'resource_name' => ResourceNames::forAdGroup($customerId, $adGroupId), 'targeting_setting' => $targetingSetting ] ); // Constructs an operation that will update the ad group with the specified resource name, // using the FieldMasks utility to derive the update mask. This mask tells the Google Ads // API which attributes of the ad group you want to change. $adGroupOperation = new AdGroupOperation(); $adGroupOperation->setUpdate($adGroup); $adGroupOperation->setUpdateMask(FieldMasks::allSetFieldsOf($adGroup)); // Issues a mutate request to update the ad group. $adGroupServiceClient = $googleAdsClient->getAdGroupServiceClient(); $response = $adGroupServiceClient->mutateAdGroups( MutateAdGroupsRequest::build($customerId, [$adGroupOperation]) ); // Prints the resource name of the updated ad group. printf( "Updated targeting setting of ad group with resource name '%s'; set the AUDIENCE " . "target restriction to 'Observation'.%s", $response->getResults()[0]->getResourceName(), PHP_EOL ); }
Python
def update_targeting_setting( client: GoogleAdsClient, customer_id: str, ad_group_id: str, targeting_setting: TargetingSetting, ) -> None: """Updates the given TargetingSetting of an ad group. Args: client: The Google Ads client. customer_id: The Google Ads customer ID. ad_group_id: The ad group ID for which to update the audience targeting restriction. targeting_setting: The updated targeting setting. """ # Get the AdGroupService client. ad_group_service: AdGroupServiceClient = client.get_service( "AdGroupService" ) # Construct an operation that will update the ad group. ad_group_operation: AdGroupOperation = client.get_type("AdGroupOperation") # Populate the ad group object with the updated targeting setting. ad_group: AdGroup = ad_group_operation.update ad_group.resource_name = ad_group_service.ad_group_path( customer_id, ad_group_id ) ad_group.targeting_setting.target_restrictions.extend( targeting_setting.target_restrictions ) # Use the field_mask utility to derive the update mask. This mask tells the # Google Ads API which attributes of the ad group you want to change. client.copy_from( ad_group_operation.update_mask, protobuf_helpers.field_mask(None, ad_group._pb), ) # Send the operation in a mutate request and print the resource name of the # updated object. mutate_ad_groups_response: MutateAdGroupsResponse = ( ad_group_service.mutate_ad_groups( customer_id=customer_id, operations=[ad_group_operation] ) ) print( "Updated targeting setting of ad group with resource name " f"'{mutate_ad_groups_response.results[0].resource_name}'; set the " "audience target restriction to 'Observation'." )
Ruby
def update_targeting_setting( client, customer_id, ad_group_id, targeting_setting) # Constructs an operation that will update the ad group with the specified # resource name. ad_group_resource_name = client.path.ad_group(customer_id, ad_group_id) operation = client.operation.update_resource.ad_group(ad_group_resource_name) do |ag| ag.targeting_setting = targeting_setting end # Issues a mutate request to update the ad group. response = client.service.ad_group.mutate_ad_groups( customer_id: customer_id, operations: [operation], ) # Prints the resource name of the updated ad group. puts "Updated targeting setting of ad group with resource name " \ "#{response.results.first.resource_name}; set the AUDIENCE target " \ "restriction to 'Observation'." end
Perl
sub update_targeting_setting { my ($api_client, $customer_id, $ad_group_id, $targeting_setting) = @_; # Construct an ad group object with the updated targeting setting. my $ad_group = Google::Ads::GoogleAds::V25::Resources::AdGroup->new({ resourceName => Google::Ads::GoogleAds::V25::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), targetingSetting => $targeting_setting }); # Create an operation that will update the ad group, using the FieldMasks # utility to derive the update mask. This mask tells the Google Ads API which # attributes of the ad group you want to change. my $ad_group_operation = Google::Ads::GoogleAds::V25::Services::AdGroupService::AdGroupOperation-> new({ update => $ad_group, updateMask => all_set_fields_of($ad_group)}); # Send the operation in a mutate request and print the resource name of the # updated resource. my $ad_groups_response = $api_client->AdGroupService()->mutate({ customerId => $customer_id, operations => [$ad_group_operation]}); printf "Updated targeting setting of ad group with resourceName " . "'%s'; set the AUDIENCE target restriction to 'Observation'.\n", $ad_groups_response->{results}[0]{resourceName}; }
curl
Kampanyalar için bid_only alanını ayarlama süreci neredeyse aynıdır.
Sırada ne var?
- Desteklenen ölçüt türlerini Ölçüt kılavuzu'nda inceleyin.