Teklif değiştiriciler, kampanyanızın veya reklam grubunuzun hedeflemesini değiştirmeden belirli bir ölçüt için teklifleri ayarlamanıza olanak tanır. Örneğin, mobil cihazlar için bir reklam grubu teklif değiştiricisi, diğer cihaz türlerindeki gösterimleri hariç tutmaz ancak mobil gösterimler için tekliflerinizi yükseltmenize veya düşürmenize olanak tanır.
Değiştiriciler, bid_modifier alanında kayan noktalı çarpanlar olarak ayarlanır. Örneğin, 1.2 değeri teklifi %20 artırırken 0.8 değeri %20 azaltır. Desteklenen ölçütler (ör. cihaz türünü hariç tutma) için 0.0 değeri (Google Ads kullanıcı arayüzünde -%100 teklif ayarlamasına eşdeğer) ölçütün kapsamı dışında kalır. Bir gösterime birden fazla teklif değiştirici uygulandığında, nihai teklif ayarlaması hesaplanırken bu değiştiriciler birbiriyle çarpılır. Geçerli değer aralıkları için CampaignBidModifier ve AdGroupBidModifier referans belgelerine bakın.
Tekliflerin işleyiş şekli ve teklif değiştiricilerin nasıl ayarlanacağı hakkında daha fazla bilgi için Tekliflere genel bakış ve Teklif değiştiricileri yönetme kılavuzlarına bakın.
Kampanya teklif değiştiricileri
Aşağıdaki ölçüt türü için CampaignBidModifierService kullanarak teklif değiştiricileri kampanya düzeyinde belirtebilirsiniz:
InteractionTypeInfo- Önceden tanımlanmış
InteractionTypenumaralandırmalardan birini kullanarakInteractionTypeInfoölçütlerini tanımlayın.CALL, kampanya teklifi değiştiricileri için desteklenen tek enum değeridir. Başka bir değer belirtmekCriterionErrordöndürür.
Reklam grubu teklif değiştiricileri
AdGroupBidModifierService kullanarak aşağıdaki ölçüt türleri için reklam grubu düzeyinde teklif değiştiriciler belirleyebilirsiniz:
DeviceInfo- Önceden tanımlanmış
DeviceInfonumaralandırmalarından birini kullanarakDeviceölçütlerini tanımlayın. - Çeşitli Otel Reklamları ölçütleri
HotelDateSelectionTypeInfo,HotelAdvanceBookingWindowInfo,HotelLengthOfStayInfo,HotelCheckInDayInfoveHotelCheckInDateRangeInfoiçin değiştiriciler ayarlayın. Ayrıntılar için Otel reklamları teklif değiştirici kılavuzuna göz atın.
Ölçüt düzeyinde teklif değiştiriciler
Özel teklif değiştirici hizmetlere ek olarak, CampaignCriterion veya AdGroupCriterion kaynaklarında belirlenen belirli ölçütler, bid_modifier alanının doğrudan ayarlanmasını destekler (CampaignCriterion.bid_modifier veya AdGroupCriterion.bid_modifier, örneğin konum, reklam zaman planlaması veya demografik ölçütler için).
Kod örneği
Aşağıdaki kod örneğinde, reklam grubu düzeyinde bir mobil cihaz teklif değiştiricisinin nasıl ekleneceği gösterilmektedir:
Java
private void runExample( GoogleAdsClient googleAdsClient, long customerId, long adGroupId, double bidModifier) { // Creates an ad group bid modifier for mobile devices with the specified ad group ID and // bid modifier value. AdGroupBidModifier adGroupBidModifier = AdGroupBidModifier.newBuilder() .setAdGroup(ResourceNames.adGroup(customerId, adGroupId)) .setBidModifier(bidModifier) .setDevice(DeviceInfo.newBuilder().setType(Device.MOBILE)) .build(); // Creates an ad group bid modifier operation for creating an ad group bid modifier. AdGroupBidModifierOperation adGroupBidModifierOperation = AdGroupBidModifierOperation.newBuilder().setCreate(adGroupBidModifier).build(); // Issues a mutate request to add the ad group bid modifier. try (AdGroupBidModifierServiceClient adGroupBidModifierServiceClient = googleAdsClient.getLatestVersion().createAdGroupBidModifierServiceClient()) { MutateAdGroupBidModifiersResponse response = adGroupBidModifierServiceClient.mutateAdGroupBidModifiers( Long.toString(customerId), ImmutableList.of(adGroupBidModifierOperation)); System.out.printf("Added %d ad group bid modifiers:%n", response.getResultsCount()); for (MutateAdGroupBidModifierResult mutateAdGroupBidModifierResult : response.getResultsList()) { System.out.printf("\t%s%n", mutateAdGroupBidModifierResult.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId, long adGroupId, double bidModifierValue) { // Get the AdGroupBidModifierService. AdGroupBidModifierServiceClient adGroupBidModifierService = client.GetService(Services.V25.AdGroupBidModifierService); // Creates an ad group bid modifier for mobile devices with the specified ad group // ID and bid modifier value. AdGroupBidModifier adGroupBidModifier = new AdGroupBidModifier() { AdGroup = ResourceNames.AdGroup(customerId, adGroupId), BidModifier = bidModifierValue, Device = new DeviceInfo() { Type = Device.Mobile } }; // Creates an ad group bid modifier operation for creating an ad group bid modifier. AdGroupBidModifierOperation adGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = adGroupBidModifier }; // Send the operation in a mutate request. try { MutateAdGroupBidModifiersResponse response = adGroupBidModifierService.MutateAdGroupBidModifiers(customerId.ToString(), new AdGroupBidModifierOperation[] { adGroupBidModifierOperation }); Console.WriteLine("Added {0} ad group bid modifiers:", response.Results.Count); foreach (MutateAdGroupBidModifierResult result in response.Results) { Console.WriteLine($"\t{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, int $adGroupId, float $bidModifierValue ) { // Creates an ad group bid modifier for mobile devices with the specified ad group ID and // bid modifier value. $adGroupBidModifier = new AdGroupBidModifier( [ 'ad_group' => ResourceNames::forAdGroup($customerId, $adGroupId), 'bid_modifier' => $bidModifierValue, 'device' => new DeviceInfo(['type' => Device::MOBILE]) ] ); // Creates an ad group bid modifier operation for creating an ad group bid modifier. $adGroupBidModifierOperation = new AdGroupBidModifierOperation(); $adGroupBidModifierOperation->setCreate($adGroupBidModifier); // Issues a mutate request to add the ad group bid modifier. $adGroupBidModifierServiceClient = $googleAdsClient->getAdGroupBidModifierServiceClient(); $response = $adGroupBidModifierServiceClient->mutateAdGroupBidModifiers( MutateAdGroupBidModifiersRequest::build($customerId, [$adGroupBidModifierOperation]) ); printf("Added %d ad group bid modifier:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedAdGroupBidModifier) { /** * @var AdGroupBidModifier $addedAdGroupBidModifier */ print $addedAdGroupBidModifier->getResourceName() . PHP_EOL; } }
Python
def main( client: GoogleAdsClient, customer_id: str, ad_group_id: str, bid_modifier_value: float, ) -> None: ad_group_service: AdGroupServiceClient = client.get_service( "AdGroupService" ) ad_group_bm_service: AdGroupBidModifierServiceClient = client.get_service( "AdGroupBidModifierService" ) # Create ad group bid modifier for mobile devices with the specified ad # group ID and bid modifier value. ad_group_bid_modifier_operation: AdGroupBidModifierOperation = ( client.get_type("AdGroupBidModifierOperation") ) ad_group_bid_modifier: AdGroupBidModifier = ( ad_group_bid_modifier_operation.create ) # Set the ad group. ad_group_bid_modifier.ad_group = ad_group_service.ad_group_path( customer_id, ad_group_id ) # Set the bid modifier. ad_group_bid_modifier.bid_modifier = bid_modifier_value # Sets the device. device_enum: DeviceEnum = client.enums.DeviceEnum ad_group_bid_modifier.device.type_ = device_enum.MOBILE # Add the ad group bid modifier. ad_group_bm_response: MutateAdGroupBidModifiersResponse = ( ad_group_bm_service.mutate_ad_group_bid_modifiers( customer_id=customer_id, operations=[ad_group_bid_modifier_operation], ) )
Ruby
def add_ad_group_bid_modifier(customer_id, ad_group_id, bid_modifier_value) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new # Creates an ad group bid modifier for mobile devices with the specified # ad group ID and bid modifier value. ad_group_bid_modifier = client.resource.ad_group_bid_modifier do |mod| # Sets the ad group. mod.ad_group = client.path.ad_group(customer_id, ad_group_id) # Sets the Bid Modifier. mod.bid_modifier = bid_modifier_value # Sets the Device. mod.device = client.resource.device_info do |device| device.type = :MOBILE end end # Create the operation. operation = client.operation.create_resource.ad_group_bid_modifier(ad_group_bid_modifier) # Add the ad group ad. response = client.service.ad_group_bid_modifier.mutate_ad_group_bid_modifiers( customer_id: customer_id, operations: [operation] ) puts "Added #{response.results.size} ad group bid modifiers:" response.results.each do |added_ad_group_bid_modifier| puts "\t#{added_ad_group_bid_modifier.resource_name}" end end
Perl
sub add_ad_group_bid_modifier { my ($api_client, $customer_id, $ad_group_id, $bid_modifier_value) = @_; # Create an ad group bid modifier for mobile devices with the specified ad group ID and # bid modifier value. my $ad_group_bid_modifier = Google::Ads::GoogleAds::V25::Resources::AdGroupBidModifier->new({ adGroup => Google::Ads::GoogleAds::V25::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), bidModifier => $bid_modifier_value, device => Google::Ads::GoogleAds::V25::Common::DeviceInfo->new({ type => MOBILE })}); # Create an ad group bid modifier operation. my $ad_group_bid_modifier_operation = Google::Ads::GoogleAds::V25::Services::AdGroupBidModifierService::AdGroupBidModifierOperation ->new({ create => $ad_group_bid_modifier }); # Add the ad group bid modifier. my $ad_group_bid_modifiers_response = $api_client->AdGroupBidModifierService()->mutate({ customerId => $customer_id, operations => [$ad_group_bid_modifier_operation]}); printf "Created ad group bid modifier '%s'.\n", $ad_group_bid_modifiers_response->{results}[0]{resourceName}; return 1; }