Hệ số điều chỉnh giá thầu

Hệ số điều chỉnh giá thầu cho phép bạn điều chỉnh giá thầu cho một tiêu chí cụ thể mà không thay đổi tiêu chí nhắm mục tiêu của chiến dịch hoặc nhóm quảng cáo. Ví dụ: hệ số điều chỉnh giá thầu nhóm quảng cáo cho thiết bị di động không loại trừ lượt hiển thị cho các loại thiết bị khác, nhưng hệ số này cho phép bạn tăng hoặc giảm giá thầu cho lượt hiển thị trên thiết bị di động.

Hệ số sửa đổi được đặt làm hệ số nhân dấu phẩy động trên trường bid_modifier. Ví dụ: giá trị 1.2 sẽ tăng giá thầu thêm 20%, trong khi 0.8 sẽ giảm giá thầu 20%. Đối với các tiêu chí được hỗ trợ (chẳng hạn như loại trừ một loại thiết bị), giá trị 0.0 (tương đương với hệ số điều chỉnh giá thầu -100% trong giao diện người dùng Google Ads) sẽ chọn không sử dụng tiêu chí. Khi nhiều hệ số điều chỉnh giá thầu áp dụng cho một lượt hiển thị, các hệ số này sẽ được nhân với nhau để tính mức điều chỉnh giá thầu cuối cùng. Tham khảo tài liệu tham khảo CampaignBidModifier và AdGroupBidModifier để biết các dải giá trị hợp lệ.

Để biết thêm thông tin về cách hoạt động của chiến lược đặt giá thầu và cách đặt hệ số điều chỉnh giá thầu, hãy xem hướng dẫn Tổng quan về chiến lược đặt giá thầu và Quản lý hệ số điều chỉnh giá thầu.

Hệ số điều chỉnh giá thầu cấp chiến dịch

Bạn có thể chỉ định hệ số điều chỉnh giá thầu ở cấp chiến dịch cho loại tiêu chí sau bằng cách sử dụng CampaignBidModifierService:

InteractionTypeInfo
Xác định tiêu chí InteractionTypeInfo bằng cách sử dụng một trong các enum InteractionType được xác định trước. CALL là giá trị enum duy nhất được hỗ trợ cho hệ số điều chỉnh giá thầu của chiến dịch; việc chỉ định bất kỳ giá trị nào khác sẽ trả về CriterionError.

Hệ số điều chỉnh giá thầu nhóm quảng cáo

Bạn có thể chỉ định hệ số điều chỉnh giá thầu ở cấp nhóm quảng cáo cho các loại tiêu chí sau bằng cách sử dụng AdGroupBidModifierService:

DeviceInfo
Xác định tiêu chí DeviceInfo bằng cách sử dụng một trong các enum Device được xác định trước.
Nhiều tiêu chí của Quảng cáo khách sạn
Đặt đối tượng sửa đổi cho HotelDateSelectionTypeInfo, HotelAdvanceBookingWindowInfo, HotelLengthOfStayInfo, HotelCheckInDayInfo và HotelCheckInDateRangeInfo. Hãy xem hướng dẫn về hệ số điều chỉnh giá thầu của quảng cáo khách sạn để biết thông tin chi tiết.

Hệ số điều chỉnh giá thầu ở cấp tiêu chí

Ngoài các dịch vụ hệ số điều chỉnh giá thầu chuyên dụng, một số tiêu chí được đặt trên tài nguyên CampaignCriterion hoặc AdGroupCriterion hỗ trợ việc đặt trực tiếp trường bid_modifier (CampaignCriterion.bid_modifier hoặc AdGroupCriterion.bid_modifier, chẳng hạn như đối với tiêu chí về vị trí, lịch quảng cáo hoặc nhân khẩu học).

Ví dụ về mã

Ví dụ về mã sau đây minh hoạ cách thêm hệ số điều chỉnh giá thầu thiết bị di động ở cấp nhóm quảng cáo:

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;
}
      

curl