การกำหนดสถานที่เป้าหมาย

คู่มือนี้จะอธิบายเกี่ยวกับการกำหนดเป้าหมายตามสถานที่ และวิธีที่คุณสามารถใช้ Google Ads API เพื่อเพิ่ม เรียกดู และอัปเดตการกำหนดสถานที่เป้าหมายสำหรับแคมเปญ

เหตุใดการกำหนดเป้าหมายตามภูมิศาสตร์จึงมีความสำคัญ

การกำหนดสถานที่เป้าหมายช่วยให้คุณแสดงโฆษณาไปยังผู้ใช้ในภูมิภาคทางภูมิศาสตร์ที่เจาะจงได้ เช่น สมมติว่าคุณโฆษณาเครือซูเปอร์มาร์เก็ต หากไม่มีการกำหนดสถานที่เป้าหมาย โฆษณาของคุณจะแสดงในทุกภูมิภาคทั่วโลก และโฆษณาของคุณอาจได้รับการคลิกจากผู้ใช้ในภูมิภาคที่ไม่มีสถานที่ตั้งของซูเปอร์มาร์เก็ต วิธีนี้สร้างค่าใช้จ่าย ในขณะเดียวกันก็ไม่ให้ ผลตอบแทนจากการลงทุน ด้วยการกำหนดสถานที่เป้าหมาย แคมเปญของคุณจะแสดงโฆษณาเฉพาะ ในภูมิภาคที่คุณมีซูเปอร์มาร์เก็ตเปิด วิธีนี้ยังทำให้คุณกำหนดเป้าหมายลูกค้า ที่ค้นหาซูเปอร์มาร์เก็ตในพื้นที่ได้โดยตรงอีกด้วย

Google Ads API ช่วยให้คุณกำหนดเป้าหมายโฆษณาตามประเทศ ภูมิภาค หรือสถานที่ใกล้เคียงรอบๆ จุดทางภูมิศาสตร์ที่เฉพาะเจาะจงได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดเป้าหมายโฆษณาตามสถานที่ตั้งทางภูมิศาสตร์

แคมเปญเป้าหมายทางภูมิศาสตร์สําหรับภูมิภาคหนึ่งๆ

คุณสามารถกำหนดเป้าหมายแคมเปญไปยังภูมิภาคทางภูมิศาสตร์ใดก็ได้ที่ Google Ads รองรับการกำหนดสถานที่เป้าหมาย เช่น ประเทศ รัฐ เมือง หรือภูมิภาค สถานที่ที่กำหนดเป้าหมายได้แต่ละแห่งจะได้รับการระบุโดยไม่ซ้ำกันตามรหัสเกณฑ์ คุณค้นหารหัสเกณฑ์ได้โดยใช้ GeoTargetConstantService.SuggestGeoTargetConstants resource_name ของ GeoTargetConstant แต่ละรายการจะอยู่ในรูปแบบ geoTargetConstants/{Criterion ID} เช่น ค่า resource_name ของรัฐนิวยอร์กคือ geoTargetConstants/21167

คุณสามารถเพิ่มเป้าหมายทางภูมิศาสตร์ลงในแคมเปญได้โดยใช้ CampaignCriterionService ข้อมูลโค้ดต่อไปนี้แสดงวิธีกำหนดเป้าหมายแคมเปญด้วยรหัสเกณฑ์

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, customer_id, campaign_id, location_id):
    campaign_service = client.get_service("CampaignService")
    geo_target_constant_service = client.get_service("GeoTargetConstantService")

    # Create the campaign criterion.
    campaign_criterion_operation = client.get_type("CampaignCriterionOperation")
    campaign_criterion = 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::V16::Resources::CampaignCriterion->new({
      # Create a location using the specified location ID.
      location => Google::Ads::GoogleAds::V16::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::V16::Utils::ResourceNames::geo_target_constant(
            $location_id)}
      ),
      campaign => $campaign_resource_name
    });

  return
    Google::Ads::GoogleAds::V16::Services::CampaignCriterionService::CampaignCriterionOperation
    ->new({
      create => $campaign_criterion
    });
}
      

บางครั้ง Google อาจเลิกใช้เกณฑ์สถานที่บางอย่างด้วยเหตุผลหลายประการ เช่น อาจมีการปรับโครงสร้างสถานที่ให้เป็นพื้นที่เล็กลงหรือใหญ่ขึ้น การเปลี่ยนแปลงด้านภูมิศาสตร์การเมือง ฯลฯ โปรดดูช่อง status ของออบเจ็กต์ GeoTargetConstant เพื่อระบุว่าสถานที่หนึ่งๆ เป็น ENABLED หรือ REMOVAL_PLANNED อ่านเพิ่มเติมเกี่ยวกับวิธีที่เราเลิกใช้พื้นที่เป้าหมาย

ค้นหาตามชื่อสถานที่

คุณยังค้นหารหัสเกณฑ์ตามชื่อสถานที่ได้โดยใช้ GeoTargetConstantService.SuggestGeoTargetConstants ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหารหัสเกณฑ์สถานที่ตั้งตามชื่อสถานที่ตั้ง

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.V16.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):
    gtc_service = client.get_service("GeoTargetConstantService")

    gtc_request = client.get_type("SuggestGeoTargetConstantsRequest")

    gtc_request.locale = LOCALE
    gtc_request.country_code = COUNTRY_CODE

    # The location names to get suggested geo target constants.
    gtc_request.location_names.names.extend(
        ["Paris", "Quebec", "Spain", "Deutschland"]
    )

    results = gtc_service.suggest_geo_target_constants(gtc_request)

    for suggestion in results.geo_target_constant_suggestions:
        geo_target_constant = 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::V16::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;
}
      

กำหนดเป้าหมายแคมเปญสำหรับความใกล้กับสถานที่ตั้ง

บางครั้งคุณอาจต้องการกำหนดเป้าหมายให้แม่นยำมากกว่าเมืองหรือประเทศ เช่น คุณอาจต้องการโฆษณาซูเปอร์มาร์เก็ตภายในระยะ 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, customer_id, campaign_id):
    campaign_service = client.get_service("CampaignService")

    # Create the campaign criterion.
    campaign_criterion_operation = client.get_type("CampaignCriterionOperation")
    campaign_criterion = 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::V16::Resources::CampaignCriterion->new({
      proximity => Google::Ads::GoogleAds::V16::Common::ProximityInfo->new({
          address => Google::Ads::GoogleAds::V16::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::V16::Services::CampaignCriterionService::CampaignCriterionOperation
    ->new({
      create => $campaign_criterion
    });
}
      

ดึงข้อมูลเป้าหมายทางภูมิศาสตร์

คุณดึงข้อมูลเป้าหมายทางภูมิศาสตร์สำหรับแคมเปญได้โดยใช้GoogleAdsService.SearchStream คุณกรองผลลัพธ์ในวลี WHERE ได้

SELECT
  campaign_criterion.campaign,
  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.negative
FROM campaign_criterion
WHERE
  campaign_criterion.campaign = 'customers/{customer_id}/campaigns/{campaign_id}'
  AND campaign_criterion.type IN (LOCATION, PROXIMITY)

อัปเดตเป้าหมายทางภูมิศาสตร์

หากต้องการอัปเดตพื้นที่เป้าหมายสำหรับแคมเปญ คุณต้องดึงรายการเป้าหมายทางภูมิศาสตร์ที่มีอยู่มาเปรียบเทียบกับรายการเป้าหมายใหม่ จากนั้นคุณจะใช้การดำเนินการ remove เพื่อนำเป้าหมายที่ไม่ต้องการออก และการดำเนินการ create เพื่อเพิ่มเป้าหมายทางภูมิศาสตร์ใหม่ที่ต้องการได้ (แต่ไม่มีในแคมเปญที่มีอยู่แล้ว)

ยกเว้นเป้าหมายทางภูมิศาสตร์

คุณสามารถยกเว้น LocationInfo ได้ด้วย แต่ยกเว้น ProximityInfo ไม่ได้ ฟีเจอร์นี้มีประโยชน์มากที่สุดหากคุณต้องการกำหนดเป้าหมายภูมิภาค แต่ยกเว้นภูมิภาคย่อย (เช่น เพื่อกำหนดเป้าหมายทั้งสหรัฐอเมริกา ยกเว้นนิวยอร์กซิตี้) หากต้องการยกเว้นภูมิภาค ให้ตั้งค่าช่อง negative ใน CampaignCriterion เป็น true

กำหนดเป้าหมายหลายพื้นที่ทางภูมิศาสตร์

การใช้LocationGroupInfoจะช่วยให้คุณเปิดใช้แคมเปญเพื่อกำหนดเป้าหมายไปยังพื้นที่ทางภูมิศาสตร์หลายแห่งได้ ภูมิภาคหนึ่งๆ จะมีศูนย์กลางอยู่ที่สถานที่ตั้ง ที่กำหนดโดยส่วนขยายสถานที่ตั้งของแคมเปญ

รัศมีที่กำหนดไว้ใน LocationGroupInfo อธิบายถึงพื้นที่ที่เป็นวงกลมรอบสถานที่ตั้งแต่ละแห่ง และประกอบด้วยวัตถุ radius ความยาว และ radius_units ซึ่งอาจเป็นเมตรหรือไมล์ก็ได้ (LocationGroupRadiusUnitsEnum)

สถานที่ตั้งใน LocationGroupInfo จะกรองตามรายการรหัสเกณฑ์การกำหนดเป้าหมายตามภูมิศาสตร์ที่ระบุในช่อง geo_target_constant ได้ หากกำหนดไว้ ระบบจะไม่กำหนดเป้าหมายสถานที่ตั้งนอกรหัสเกณฑ์ที่กำหนด