本指南对地理位置定位进行了说明,并介绍了如何使用 Google Ads API 为您的广告系列添加、获取及更新地理位置定位。
如需了解定位限制,请参阅关于 Google Ads 账号限制中的“定位限制”部分。
地理位置定位为何至关重要?
通过地理位置定位,您可以向特定地理区域的用户投放广告。例如,假设您要为一家连锁超市投放广告。如果不设置地理位置定位,您的广告会在全球所有地区展示,并且可能会收到您没有超市的地区的用户点击。这除了浪费您的预算之外,还不会带来任何投资回报。但采用了地理位置定位后,您的广告系列就只会在开设了该连锁超市的区域展示广告。此方法还可让您直接定位在本地搜索超市的客户。
借助 Google Ads API,您可以按国家/地区或特定地理位置周围的邻近区域来定位广告。
针对某个区域的地理位置定位广告系列
您可以将广告系列定位到 Google Ads 支持地理位置定位的任何地理区域,例如国家/地区、州、城市或邮政编码区域。每个可定位到的地理位置都由一个唯一的 Criterion ID 标识。您可以使用 GeoTargetConstantService.SuggestGeoTargetConstants 查找条件 ID。
每个 GeoTargetConstant 的 resource_name 格式为 geoTargetConstants/{Criterion ID}。例如,纽约州的 resource_name 值为 geoTargetConstants/21167。
您可以使用 CampaignCriterionService 为广告系列添加地理位置定位(或使用 AdGroupCriterion 为广告组添加地理位置定位,但仅适用于支持的广告系列类型,例如启用了 upgraded_targeting 的需求开发广告系列)。以下代码段展示了如何使用条件 ID 定位广告系列。
Java
private static CampaignCriterion buildLocationIdCriterion( long locationId, String campaignResourceName) { Builder criterionBuilder = CampaignCriterion.newBuilder().setCampaign(campaignResourceName); criterionBuilder .getLocationBuilder() .setGeoTargetConstant(ResourceNames.geoTargetConstant(locationId)); return criterionBuilder.build(); }
C#
private CampaignCriterion buildLocationCriterion(long locationId, string campaignResourceName) { GeoTargetConstantName location = new GeoTargetConstantName(locationId.ToString()); return new CampaignCriterion() { Campaign = campaignResourceName, Location = new LocationInfo() { GeoTargetConstant = location.ToString() } }; }
PHP
private static function createLocationCampaignCriterionOperation( int $locationId, string $campaignResourceName ) { // Constructs a campaign criterion for the specified campaign ID using the specified // location ID. $campaignCriterion = new CampaignCriterion([ // Creates a location using the specified location ID. 'location' => new LocationInfo([ // Besides using location ID, you can also search by location names using // GeoTargetConstantServiceClient::suggestGeoTargetConstants() and directly // apply GeoTargetConstant::$resourceName here. An example can be found // in GetGeoTargetConstantByNames.php. 'geo_target_constant' => ResourceNames::forGeoTargetConstant($locationId) ]), 'campaign' => $campaignResourceName ]); return new CampaignCriterionOperation(['create' => $campaignCriterion]); }
Python
def create_location_op( client: GoogleAdsClient, customer_id: str, campaign_id: str, location_id: str, ) -> CampaignCriterionOperation: campaign_service: CampaignServiceClient = client.get_service( "CampaignService" ) geo_target_constant_service: GeoTargetConstantServiceClient = ( client.get_service("GeoTargetConstantService") ) # Create the campaign criterion. campaign_criterion_operation: CampaignCriterionOperation = client.get_type( "CampaignCriterionOperation" ) campaign_criterion: CampaignCriterion = campaign_criterion_operation.create campaign_criterion.campaign = campaign_service.campaign_path( customer_id, campaign_id ) # Besides using location_id, you can also search by location names from # GeoTargetConstantService.suggest_geo_target_constants() and directly # apply GeoTargetConstant.resource_name here. An example can be found # in get_geo_target_constant_by_names.py. campaign_criterion.location.geo_target_constant = ( geo_target_constant_service.geo_target_constant_path(location_id) ) return campaign_criterion_operation
Ruby
def create_location(client, customer_id, campaign_id, location_id) client.operation.create_resource.campaign_criterion do |criterion| criterion.campaign = client.path.campaign(customer_id, campaign_id) criterion.location = client.resource.location_info do |li| # Besides using location_id, you can also search by location names from # GeoTargetConstantService.suggest_geo_target_constants() and directly # apply GeoTargetConstant.resource_name here. An example can be found # in get_geo_target_constant_by_names.rb. li.geo_target_constant = client.path.geo_target_constant(location_id) end end end
Perl
sub create_location_campaign_criterion_operation { my ($location_id, $campaign_resource_name) = @_; # Construct a campaign criterion for the specified campaign using the # specified location ID. my $campaign_criterion = Google::Ads::GoogleAds::V25::Resources::CampaignCriterion->new({ # Create a location using the specified location ID. location => Google::Ads::GoogleAds::V25::Common::LocationInfo->new({ # Besides using location ID, you can also search by location names # using GeoTargetConstantService::suggest() and directly apply # GeoTargetConstant->{resourceName} here. An example can be found # in get_geo_target_constants_by_names.pl. geoTargetConstant => Google::Ads::GoogleAds::V25::Utils::ResourceNames::geo_target_constant( $location_id)} ), campaign => $campaign_resource_name }); return Google::Ads::GoogleAds::V25::Services::CampaignCriterionService::CampaignCriterionOperation ->new({ create => $campaign_criterion }); }
curl
Google 可能会因各种原因而偶尔停用某些位置条件:位置可能会重组为更小或更大的区域、地缘政治变化等。请参阅 GeoTargetConstant 对象的 status 字段,以确定某个位置是 ENABLED 还是 REMOVAL_PLANNED。
按地理位置名称查找
您还可以使用 GeoTargetConstantService.SuggestGeoTargetConstants 按位置名称查找条件 ID。
以下代码示例展示了如何按地理位置名称查找地理位置条件 ID。
Java
private void runExample(GoogleAdsClient googleAdsClient) { try (GeoTargetConstantServiceClient geoTargetClient = googleAdsClient.getLatestVersion().createGeoTargetConstantServiceClient()) { SuggestGeoTargetConstantsRequest.Builder requestBuilder = SuggestGeoTargetConstantsRequest.newBuilder(); // Locale is using ISO 639-1 format. If an invalid locale is given, 'en' is used by default. requestBuilder.setLocale("en"); // A list of country codes can be referenced here: // https://developers.google.com/google-ads/api/reference/data/geotargets requestBuilder.setCountryCode("FR"); requestBuilder .getLocationNamesBuilder() .addAllNames(ImmutableList.of("Paris", "Quebec", "Spain", "Deutschland")); SuggestGeoTargetConstantsResponse response = geoTargetClient.suggestGeoTargetConstants(requestBuilder.build()); for (GeoTargetConstantSuggestion suggestion : response.getGeoTargetConstantSuggestionsList()) { System.out.printf( "%s (%s,%s,%s,%s) is found in locale (%s) with reach (%d) for search term (%s).%n", suggestion.getGeoTargetConstant().getResourceName(), suggestion.getGeoTargetConstant().getName(), suggestion.getGeoTargetConstant().getCountryCode(), suggestion.getGeoTargetConstant().getTargetType(), suggestion.getGeoTargetConstant().getStatus().name(), suggestion.getLocale(), suggestion.getReach(), suggestion.getSearchTerm()); } } }
C#
public void Run(GoogleAdsClient client) { // Get the GeoTargetConstantServiceClient. GeoTargetConstantServiceClient geoService = client.GetService(Services.V25.GeoTargetConstantService); // Locale is using ISO 639-1 format. If an invalid locale is given, // 'en' is used by default. string locale = "en"; // A list of country codes can be referenced here: // https://developers.google.com/google-ads/api/reference/data/geotargets string countryCode = "FR"; string[] locations = { "Paris", "Quebec", "Spain", "Deutschland" }; SuggestGeoTargetConstantsRequest request = new SuggestGeoTargetConstantsRequest() { Locale = locale, CountryCode = countryCode, LocationNames = new SuggestGeoTargetConstantsRequest.Types.LocationNames() }; request.LocationNames.Names.AddRange(locations); try { SuggestGeoTargetConstantsResponse response = geoService.SuggestGeoTargetConstants(request); foreach (GeoTargetConstantSuggestion suggestion in response.GeoTargetConstantSuggestions) { Console.WriteLine( $"{suggestion.GeoTargetConstant.ResourceName} " + $"({suggestion.GeoTargetConstant.Name}, " + $"{suggestion.GeoTargetConstant.CountryCode}, " + $"{suggestion.GeoTargetConstant.TargetType}, " + $"{suggestion.GeoTargetConstant.Status}) is found in locale " + $"({suggestion.Locale}) with reach ({suggestion.Reach}) " + $"for search term ({suggestion.SearchTerm})."); } } 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, array $locationNames, string $locale, string $countryCode ) { $geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants( new SuggestGeoTargetConstantsRequest([ 'locale' => $locale, 'country_code' => $countryCode, 'location_names' => new LocationNames(['names' => $locationNames]) ]) ); // Iterates over all geo target constant suggestion objects and prints the requested field // values for each one. foreach ($response->getGeoTargetConstantSuggestions() as $geoTargetConstantSuggestion) { /** @var GeoTargetConstantSuggestion $geoTargetConstantSuggestion */ printf( "Found '%s' ('%s','%s','%s',%s) in locale '%s' with reach %d" . " for the search term '%s'.%s", $geoTargetConstantSuggestion->getGeoTargetConstant()->getResourceName(), $geoTargetConstantSuggestion->getGeoTargetConstant()->getName(), $geoTargetConstantSuggestion->getGeoTargetConstant()->getCountryCode(), $geoTargetConstantSuggestion->getGeoTargetConstant()->getTargetType(), GeoTargetConstantStatus::name( $geoTargetConstantSuggestion->getGeoTargetConstant()->getStatus() ), $geoTargetConstantSuggestion->getLocale(), $geoTargetConstantSuggestion->getReach(), $geoTargetConstantSuggestion->getSearchTerm(), PHP_EOL ); } }
Python
def main(client: GoogleAdsClient) -> None: gtc_service: GeoTargetConstantServiceClient = client.get_service( "GeoTargetConstantService" ) gtc_request: SuggestGeoTargetConstantsRequest = client.get_type( "SuggestGeoTargetConstantsRequest" ) gtc_request.locale = LOCALE gtc_request.country_code = COUNTRY_CODE # The location names to get suggested geo target constants. # Type hint for gtc_request.location_names.names is not straightforward # as it's part of a complex protobuf object. gtc_request.location_names.names.extend( ["Paris", "Quebec", "Spain", "Deutschland"] ) results: SuggestGeoTargetConstantsResponse = ( gtc_service.suggest_geo_target_constants(gtc_request) ) suggestion: GeoTargetConstantSuggestion for suggestion in results.geo_target_constant_suggestions: geo_target_constant: GeoTargetConstant = suggestion.geo_target_constant print( f"{geo_target_constant.resource_name} " f"({geo_target_constant.name}, " f"{geo_target_constant.country_code}, " f"{geo_target_constant.target_type}, " f"{geo_target_constant.status.name}) " f"is found in locale ({suggestion.locale}) " f"with reach ({suggestion.reach}) " f"from search term ({suggestion.search_term})." )
Ruby
def get_geo_target_constants_by_names # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new gtc_service = client.service.geo_target_constant location_names = client.resource.location_names do |ln| ['Paris', 'Quebec', 'Spain', 'Deutschland'].each do |name| ln.names << name end end # Locale is using ISO 639-1 format. If an invalid locale is given, # 'en' is used by default. locale = 'en' # A list of country codes can be referenced here: # https://developers.google.com/google-ads/api/reference/data/geotargets country_code = 'FR' response = gtc_service.suggest_geo_target_constants( locale: locale, country_code: country_code, location_names: location_names ) response.geo_target_constant_suggestions.each do |suggestion| puts sprintf("%s (%s,%s,%s,%s) is found in locale (%s) with reach (%d)" \ " from search term (%s).", suggestion.geo_target_constant.resource_name, suggestion.geo_target_constant.name, suggestion.geo_target_constant.country_code, suggestion.geo_target_constant.target_type, suggestion.geo_target_constant.status, suggestion.locale, suggestion.reach, suggestion.search_term) end end
Perl
sub get_geo_target_constants_by_names { my ($api_client, $location_names, $locale, $country_code) = @_; my $suggest_response = $api_client->GeoTargetConstantService()->suggest({ locale => $locale, countryCode => $country_code, locationNames => Google::Ads::GoogleAds::V25::Services::GeoTargetConstantService::LocationNames ->new({ names => $location_names })}); # Iterate over all geo target constant suggestion objects and print the requested # field values for each one. foreach my $geo_target_constant_suggestion ( @{$suggest_response->{geoTargetConstantSuggestions}}) { printf "Found '%s' ('%s','%s','%s',%s) in locale '%s' with reach %d" . " for the search term '%s'.\n", $geo_target_constant_suggestion->{geoTargetConstant}{resourceName}, $geo_target_constant_suggestion->{geoTargetConstant}{name}, $geo_target_constant_suggestion->{geoTargetConstant}{countryCode}, $geo_target_constant_suggestion->{geoTargetConstant}{targetType}, $geo_target_constant_suggestion->{geoTargetConstant}{status}, $geo_target_constant_suggestion->{locale}, $geo_target_constant_suggestion->{reach}, $geo_target_constant_suggestion->{searchTerm}; } return 1; }
curl
将广告系列定位到地理位置的邻近区域
有时候,您可能想要定位到一个比城市或国家/地区更具体的地方。例如,您可能想在自己商店周边 10 公里的范围内投放超市广告。在这种情况下,您可以使用邻近区域定位。创建邻近位置定位的代码与添加位置定位的代码类似,不同之处在于您必须创建 ProximityInfo 对象,而不是 LocationInfo 对象。
Java
private static CampaignCriterion buildProximityLocation(String campaignResourceName) { Builder builder = CampaignCriterion.newBuilder().setCampaign(campaignResourceName); ProximityInfo.Builder proximityBuilder = builder.getProximityBuilder(); proximityBuilder.setRadius(10.0).setRadiusUnits(ProximityRadiusUnits.MILES); AddressInfo.Builder addressBuilder = proximityBuilder.getAddressBuilder(); addressBuilder .setStreetAddress("38 avenue de l'Opéra") .setCityName("Paris") .setPostalCode("75002") .setCountryCode("FR"); return builder.build(); }
C#
private CampaignCriterion buildProximityCriterion(string campaignResourceName) { ProximityInfo proximity = new ProximityInfo() { Address = new AddressInfo() { StreetAddress = "38 avenue de l'Opéra", CityName = "Paris", PostalCode = "75002", CountryCode = "FR" }, Radius = 10d, // Default is kilometers. RadiusUnits = ProximityRadiusUnits.Miles }; return new CampaignCriterion() { Campaign = campaignResourceName, Proximity = proximity }; }
PHP
private static function createProximityCampaignCriterionOperation(string $campaignResourceName) { // Constructs a campaign criterion as a proximity. $campaignCriterion = new CampaignCriterion([ 'proximity' => new ProximityInfo([ 'address' => new AddressInfo([ 'street_address' => '38 avenue de l\'Opéra', 'city_name' => 'Paris', 'postal_code' => '75002', 'country_code' => 'FR', ]), 'radius' => 10.0, // Default is kilometers. 'radius_units' => ProximityRadiusUnits::MILES ]), 'campaign' => $campaignResourceName ]); return new CampaignCriterionOperation(['create' => $campaignCriterion]); }
Python
def create_proximity_op( client: GoogleAdsClient, customer_id: str, campaign_id: str ) -> CampaignCriterionOperation: campaign_service: CampaignServiceClient = client.get_service( "CampaignService" ) # Create the campaign criterion. campaign_criterion_operation: CampaignCriterionOperation = client.get_type( "CampaignCriterionOperation" ) campaign_criterion: CampaignCriterion = campaign_criterion_operation.create campaign_criterion.campaign = campaign_service.campaign_path( customer_id, campaign_id ) campaign_criterion.proximity.address.street_address = "38 avenue de l'Opera" campaign_criterion.proximity.address.city_name = "Paris" campaign_criterion.proximity.address.postal_code = "75002" campaign_criterion.proximity.address.country_code = "FR" campaign_criterion.proximity.radius = 10 # Default is kilometers. campaign_criterion.proximity.radius_units = ( client.enums.ProximityRadiusUnitsEnum.MILES ) return campaign_criterion_operation
Ruby
def create_proximity(client, customer_id, campaign_id) client.operation.create_resource.campaign_criterion do |criterion| criterion.campaign = client.path.campaign(customer_id, campaign_id) criterion.proximity = client.resource.proximity_info do |proximity| proximity.address = client.resource.address_info do |address| address.street_address = "38 avenue de l'Opéra" address.city_name = "Paris" address.postal_code = "75002" address.country_code = "FR" end proximity.radius = 10 proximity.radius_units = :MILES end end end
Perl
sub create_proximity_campaign_criterion_operation { my ($campaign_resource_name) = @_; # Construct a campaign criterion as a proximity. my $campaign_criterion = Google::Ads::GoogleAds::V25::Resources::CampaignCriterion->new({ proximity => Google::Ads::GoogleAds::V25::Common::ProximityInfo->new({ address => Google::Ads::GoogleAds::V25::Common::AddressInfo->new({ streetAddress => "38 avenue de l'Opéra", cityName => "cityName", postalCode => "75002", countryCode => "FR" } ), radius => 10.0, # Default is kilometers. radiusUnits => MILES } ), campaign => $campaign_resource_name }); return Google::Ads::GoogleAds::V25::Services::CampaignCriterionService::CampaignCriterionOperation ->new({ create => $campaign_criterion }); }
curl
检索地理位置定位
您可以使用 GoogleAdsService.SearchStream 检索广告系列的地理位置定位。在 SELECT 子句中包含 campaign_criterion.type 和 campaign_criterion.resource_name 可让您区分 LOCATION 和 PROXIMITY 条件,并记录资源名称以供后续更新或移除操作使用。
SELECT
campaign_criterion.resource_name,
campaign_criterion.campaign,
campaign_criterion.type,
campaign_criterion.location.geo_target_constant,
campaign_criterion.proximity.geo_point.longitude_in_micro_degrees,
campaign_criterion.proximity.geo_point.latitude_in_micro_degrees,
campaign_criterion.proximity.radius,
campaign_criterion.proximity.radius_units,
campaign_criterion.proximity.address.street_address,
campaign_criterion.proximity.address.city_name,
campaign_criterion.proximity.address.postal_code,
campaign_criterion.proximity.address.country_code,
campaign_criterion.negative
FROM campaign_criterion
WHERE
campaign_criterion.campaign = 'customers/{customer_id}/campaigns/{campaign_id}'
AND campaign_criterion.type IN ('LOCATION', 'PROXIMITY')
更新地理位置定位范围
广告系列中的地理位置条件在创建后便无法更改,因此更新广告系列的地理位置定位需要在一个原子性 CampaignCriterionService.MutateCampaignCriteria 请求中将过时的定位替换为新的定位:
- 使用检索地理位置定位条件中的 GAQL 查询,查询广告系列现有的
LOCATION和PROXIMITY条件。 - 将现有条件与您的预期目标名单进行比较。
- 对于每个过时的条件,请构建一个
CampaignCriterionOperation,并将remove设置为现有条件的resource_name。 - 对于每个新的地理位置定位目标或邻近区域定位目标,请构建一个
CampaignCriterionOperation,其中create填充了新的LocationInfo或ProximityInfo条件。 - 在单个
MutateCampaignCriteria调用中同时传递remove和create操作,以便以原子方式进行转换。
排除地理位置定位目标
您还可以排除 LocationInfo,但不能排除 ProximityInfo。如果您想定位某个区域,但排除某个子区域(例如,定位整个美国,但排除纽约市),此功能会非常有用。如需排除某个区域,请将 CampaignCriterion 中的 negative 字段设置为 true。
定位多个地理位置区域
如果您使用 LocationGroupInfo,则可以启用广告系列,以定位到多个地理区域(以附加地址信息定义的地理位置为中心),或按地理区域进行过滤:
- 地址素材资源集:设置
enable_customer_level_location_asset_set = true(定位到客户的地址素材资源集)或location_group_asset_sets(定位到特定的AssetSet资源名称)。这两个字段不能同时设置,也不能与geo_target_constants结合使用。 - 半径和单位:
LocationGroupInfo上的半径用于定义每个位置周围的圆形区域,并且需要同时指定radius和radius_units(LocationGroupRadiusUnitsEnum):- 使用“地址素材资源组”(
enable_customer_level_location_asset_set或location_group_asset_sets)时,支持的radius_units值包括MILLI_MILES和METERS。 - 按
geo_target_constants进行过滤时(最多允许一个条件 ID,且未设置AssetSet字段),支持的radius_units值为MILES和METERS。
- 使用“地址素材资源组”(
GeoTargetTypeSetting 的高级地理位置选项
除了指定要定位或排除的地理位置之外,您还可以使用高级地理位置选项来细化 Google Ads 将用户与这些地理位置匹配的方式。这些设置通过 Campaign.GeoTargetTypeSetting 进行管理。
此设置包含两个字段:
positive_geo_target_type:确定如何将用户与您定位的地理位置进行匹配。negative_geo_target_type:确定如何针对您排除的位置匹配用户。
肯定性定位设置 (positive_geo_target_type)
您可以从以下选项中选择正向地理位置定位,使用 PositiveGeoTargetTypeEnum 中的值:
PRESENCE_OR_INTEREST(建议的默认值):- 覆盖可能位于或经常出现在您定位到的地理位置的用户,以及对您定位到的地理位置表现出兴趣的用户。
- 用户可以通过搜索字词、过往访问记录或与该位置相关的内容来表明自己对该位置感兴趣。
- 此选项可实现最广泛的覆盖面。
PRESENCE:- 仅覆盖可能身处或经常前往您定位到的地理位置的用户。
- 如果您的服务或产品仅限于某个区域内的用户使用,那么此选项会更加严格,也更加实用。
排除性定位设置 (negative_geo_target_type)
对于您希望排除的地理位置,请使用 NegativeGeoTargetTypeEnum:
PRESENCE(推荐的默认值):- 排除可能身处您排除的地理位置的用户。
- 即使是排除区域之外的用户,只要符合您的积极定位条件,仍可能会看到您的广告,即使他们对排除区域感兴趣也是如此。
管理高级地理位置选项
您可以通过更新 Campaign.geo_target_type_setting 对象来控制这些设置。以下示例展示了将 positive_geo_target_type 设置为 PRESENCE 的 CampaignOperation 更新的结构:
// Conceptual structure for a Campaign update operation
operations {
update {
resource_name: "customers/{customer_id}/campaigns/{campaign_id}"
geo_target_type_setting {
positive_geo_target_type: PRESENCE
// negative_geo_target_type remains at its default PRESENCE
}
}
update_mask {
paths: "geo_target_type_setting.positive_geo_target_type"
}
}
如需提取当前设置,请在 GoogleAdsService 搜索查询中添加 campaign.geo_target_type_setting.positive_geo_target_type 和 campaign.geo_target_type_setting.negative_geo_target_type。
通过配置这些设置,您可以根据用户与您指定的地理位置的关系,更精细地控制哪些用户会看到您的广告,从而更贴近您的业务目标。
最佳做法
- 如果您的产品或服务严格限制为仅供位于特定地理位置的人员使用,请选择
PRESENCE。例如,假设您要求用户到实体店购买或要求本地配送。 - 如果您的产品或服务也能让对某个地理位置感兴趣的用户受益,即使他们不在该地理位置,也请选择
PRESENCE_OR_INTEREST。例如,计划度假的用户可能对目的地城市的酒店感兴趣。 - 使用排除的地理位置定位来优化覆盖面。如果您使用
PRESENCE_OR_INTEREST将美国作为定位目标,但未向特定州发货,则可以在LocationInfo条件中使用negative=true排除该州。如果将此设置与negative_geo_target_type设置为PRESENCE结合使用,则可以防止向该州的用户展示广告,同时仍能覆盖该州以外可能对美国境内地理位置感兴趣的用户。
后续步骤
- 如需了解如何按条件调整出价,请参阅出价调节系数指南。