تعدیل‌کننده‌های قیمت پیشنهادی

اصلاح‌کننده‌های قیمت پیشنهادی به شما امکان می‌دهند قیمت‌های پیشنهادی را برای معیاری خاص تعدیل کنید بدون اینکه هدف‌یابی پویش یا گروه آگهی‌تان را تغییر دهید. برای مثال، اصلاح‌کننده قیمت پیشنهادی گروه آگهی برای دستگاه‌های همراه، ظهورها را برای انواع دیگر دستگاه‌ها مستثنی نمی‌کند، اما به شما امکان می‌دهد قیمت‌های پیشنهادی‌تان را برای ظهورهای تلفن همراه افزایش یا کاهش دهید.

«اصلاح‌کننده‌ها» به‌عنوان ضرب‌کننده‌های ممیز شناور در فیلد bid_modifier تنظیم می‌شوند. برای مثال، مقدار 1.2 قیمت پیشنهادی را ۲۰٪ افزایش می‌دهد، درحالی‌که 0.8 آن را ۲۰٪ کاهش می‌دهد. برای معیارهای پشتیبانی‌شده (مثل کنار گذاشتن نوع دستگاه)، مقدار 0.0 (معادل با ‎-٪۱۰۰ تعدیل قیمت پیشنهادی در «میانای کاربری Google Ads») از معیار انصراف می‌دهد. وقتی چندین اصلاح قیمت پیشنهادی روی یک ظهور اعمال می‌شود، این اصلاح‌ها در هم ضرب می‌شوند تا تعدیل قیمت پیشنهادی نهایی محاسبه شود. برای اطلاع از محدوده‌های مقدار معتبر، به اسناد مرجع CampaignBidModifier و AdGroupBidModifier مراجعه کنید.

برای اطلاعات بیشتر درباره نحوه کار کردن پیشنهاد قیمت و نحوه تنظیم کردن اصلاح‌کننده‌های قیمت پیشنهادی، راهنماهای نمای کلی پیشنهاد قیمت و مدیریت اصلاح‌کننده‌های قیمت پیشنهادی را ببینید.

تعدیل‌کننده‌های قیمت پیشنهادی پویش

می‌توانید اصلاح‌کننده‌های قیمت پیشنهادی را در سطح پویش برای نوع معیار زیر بااستفاده از CampaignBidModifierService مشخص کنید:

InteractionTypeInfo
معیارهاInteractionTypeInfo را بااستفاده از یکی از شمارش‌های ازپیش تعریف‌شده InteractionType تعریف کنید. CALL تنها مقدار شمارشی پشتیبانی‌شده برای اصلاح‌کننده‌های قیمت پیشنهادی پویش است؛ اگر مقدار دیگری مشخص کنید، CriterionError برمی‌گرداند.

اصلاح‌کننده‌های قیمت پیشنهادی گروه آگهی

می‌توانید اصلاح‌کننده‌های قیمت پیشنهادی را در سطح گروه آگهی برای انواع معیارهای زیر بااستفاده از AdGroupBidModifierService مشخص کنید:

DeviceInfo
معیارهای DeviceInfo را بااستفاده از یکی از Device شمارش‌های ازپیش تعریف‌شده تعریف کنید.
معیارهای مختلف سفر
در نسخه ۲۶ و بالاتر، بااستفاده از معیارهای مستقل از حوزه، برای معیارهای برنامه سفر اصلاح‌کننده‌ها تنظیم کنید: UserSetDatesInfo، AdvanceBookingWindowInfo، LengthOfBookingInfo، StartDayOfWeekInfo، و StartDateRangeInfo. در نسخه ۲۵ و قدیمی‌تر، اصلاح‌کننده‌های مختص هتل را برای HotelDateSelectionTypeInfo، HotelAdvanceBookingWindowInfo، HotelLengthOfStayInfo، HotelCheckInDayInfo، و HotelCheckInDateRangeInfo تنظیم کنید. برای جزئیات، راهنمای اصلاح‌کننده پیشنهاد قیمت «آگهی‌های هتل» را ببینید.

تعدیل‌کننده‌های قیمت پیشنهادی سطح معیار

علاوه‌بر سرویس‌های اختصاصی اصلاح‌کننده پیشنهاد قیمت، معیارهای خاصی که در منابع CampaignCriterion یا AdGroupCriterion تنظیم شده‌اند از تنظیم مستقیم فیلد bid_modifier پشتیبانی می‌کنند (CampaignCriterion.bid_modifier یا AdGroupCriterion.bid_modifier، مثلاً برای معیارهای مکان، زمان‌بندی آگهی، یا جمعیت‌شناسی).

نمونه کد

نمونه کد زیر نحوه افزودن اصلاح‌کننده قیمت پیشنهادی دستگاه همراه در سطح گروه آگهی را نشان می‌دهد:

جاوا

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
      

پرل

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