คู่มือนี้อธิบายการกำหนดเป้าหมายตามสถานที่ และวิธีใช้ Google Ads API เพื่อเพิ่ม เรียกข้อมูล และอัปเดตการกำหนดเป้าหมายตามสถานที่สำหรับแคมเปญ
ดูข้อมูลเกี่ยวกับขีดจํากัดการกําหนดเป้าหมายได้ที่ส่วนขีดจํากัดการกําหนดเป้าหมายในเกี่ยวกับขีดจํากัดบัญชี Google Ads
เหตุใดการกำหนดเป้าหมายทางภูมิศาสตร์จึงสำคัญ
การกำหนดเป้าหมายตามสถานที่ช่วยให้คุณแสดงโฆษณาต่อผู้ใช้ในภูมิภาคทางภูมิศาสตร์ที่เฉพาะเจาะจงได้ ตัวอย่างเช่น สมมติว่าคุณกำลังโฆษณาเครือซูเปอร์มาร์เก็ต หากไม่มีการกำหนดเป้าหมายตามสถานที่ โฆษณาจะแสดงในทุกภูมิภาคทั่วโลก และอาจได้รับการคลิกจากผู้ใช้ในภูมิภาคที่คุณไม่มีซูเปอร์มาร์เก็ต ซึ่งทำให้เกิดค่าใช้จ่ายโดยไม่มีโอกาสได้รับผลตอบแทนจากการลงทุน การกำหนดเป้าหมายตามสถานที่ช่วยให้แคมเปญแสดงโฆษณาเฉพาะในภูมิภาคที่คุณมีซูเปอร์มาร์เก็ตเปิดให้บริการเท่านั้น นอกจากนี้ วิธีนี้ยังช่วยให้คุณกำหนดเป้าหมายลูกค้าที่ค้นหาซูเปอร์มาร์เก็ตในพื้นที่ได้โดยตรง
Google Ads API ช่วยให้คุณกำหนดเป้าหมายโฆษณาตามประเทศ ภูมิภาค หรือพื้นที่ใกล้เคียงรอบจุดทางภูมิศาสตร์ที่เฉพาะเจาะจงได้
กำหนดเป้าหมายแคมเปญทางภูมิศาสตร์สำหรับภูมิภาค
คุณสามารถกำหนดเป้าหมายแคมเปญไปยังภูมิภาคทางภูมิศาสตร์ใดก็ได้ที่ Google Ads รองรับการกำหนดเป้าหมายตามสถานที่ เช่น ประเทศ รัฐ เมือง หรือภูมิภาคตามรหัสไปรษณีย์ สถานที่ตั้งที่กำหนดเป้าหมายได้แต่ละแห่งจะได้รับการระบุโดยไม่ซ้ำกันด้วยรหัสเกณฑ์ คุณสามารถค้นหารหัสเกณฑ์ได้โดยใช้ GeoTargetConstantService.SuggestGeoTargetConstants
resource_name ของ GeoTargetConstant แต่ละรายการจะอยู่ในรูปแบบ geoTargetConstants/{Criterion ID} ตัวอย่างเช่น ค่า resource_name ของรัฐนิวยอร์กคือ geoTargetConstants/21167
คุณเพิ่มเป้าหมายทางภูมิศาสตร์ลงในแคมเปญได้โดยใช้ CampaignCriterionService (หรือที่ระดับกลุ่มโฆษณาโดยใช้ AdGroupCriterion สำหรับประเภทแคมเปญที่รองรับ เช่น แคมเปญ Demand Gen ที่เปิดใช้ upgraded_targeting) ข้อมูลโค้ดต่อไปนี้แสดงวิธีกำหนดเป้าหมายแคมเปญด้วยรหัสเกณฑ์
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::V26::Resources::CampaignCriterion->new({ # Create a location using the specified location ID. location => Google::Ads::GoogleAds::V26::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::V26::Utils::ResourceNames::geo_target_constant( $location_id)} ), campaign => $campaign_resource_name }); return Google::Ads::GoogleAds::V26::Services::CampaignCriterionService::CampaignCriterionOperation ->new({ create => $campaign_criterion }); }
curl
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.V26.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::V26::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::V26::Resources::CampaignCriterion->new({ proximity => Google::Ads::GoogleAds::V26::Common::ProximityInfo->new({ address => Google::Ads::GoogleAds::V26::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::V26::Services::CampaignCriterionService::CampaignCriterionOperation ->new({ create => $campaign_criterion }); }
curl
ดึงข้อมูลเป้าหมายทางภูมิศาสตร์
คุณสามารถเรียกข้อมูลเป้าหมายทางภูมิศาสตร์ของแคมเปญได้โดยใช้ GoogleAdsService.SearchStream การรวม campaign_criterion.type และ campaign_criterion.resource_name ไว้ในส่วนคำสั่ง SELECT จะช่วยให้คุณแยกความแตกต่างระหว่างเกณฑ์ 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 แบบอะตอมเดียว
- ค้นหาเกณฑ์
LOCATIONและPROXIMITYที่มีอยู่ของแคมเปญโดยใช้การค้นหา GAQL ในดึงข้อมูลเป้าหมายทางภูมิศาสตร์ - เปรียบเทียบเกณฑ์ที่มีอยู่กับรายการเป้าหมายที่ต้องการ
- สำหรับเกณฑ์ที่ล้าสมัยแต่ละรายการ ให้สร้าง
CampaignCriterionOperationโดยตั้งค่าremoveเป็นresource_nameของเกณฑ์ที่มีอยู่ - สำหรับสถานที่ตั้งหรือเป้าหมายตามระยะใกล้เคียงใหม่แต่ละรายการ ให้สร้าง
CampaignCriterionOperationโดยมีcreateที่ป้อนเกณฑ์LocationInfoหรือProximityInfoใหม่ไว้ - ส่งทั้งการดำเนินการ
removeและcreateในการเรียกMutateCampaignCriteriaครั้งเดียวเพื่อให้การเปลี่ยนผ่านเกิดขึ้นแบบอะตอมมิก
ยกเว้นเป้าหมายทางภูมิศาสตร์
นอกจากนี้ คุณยังยกเว้น LocationInfo ได้ แต่ยกเว้น ProximityInfo ไม่ได้ ฟีเจอร์นี้มีประโยชน์มากที่สุดหากคุณต้องการกำหนดเป้าหมายภูมิภาค แต่ยกเว้นภูมิภาคย่อย (เช่น กำหนดเป้าหมายทั้งสหรัฐอเมริกา ยกเว้นนครนิวยอร์ก) หากต้องการยกเว้นภูมิภาค ให้ตั้งค่าช่อง negative ใน CampaignCriterion เป็น true
กำหนดเป้าหมายภูมิภาคทางภูมิศาสตร์หลายแห่ง
หากใช้ LocationGroupInfo คุณสามารถเปิดใช้แคมเปญเพื่อกําหนดเป้าหมายหลายภูมิภาคทางภูมิศาสตร์โดยอิงตามสถานที่ตั้งที่กําหนดโดยชิ้นงานสถานที่ตั้งหรือกรองตามภูมิภาคทางภูมิศาสตร์ได้ ดังนี้
- ชุดชิ้นงานสถานที่ตั้ง: ตั้งค่าเป็น
enable_customer_level_location_asset_set = true(เพื่อกำหนดเป้าหมายชุดชิ้นงานสถานที่ตั้งของลูกค้า) หรือlocation_group_asset_sets(เพื่อกำหนดเป้าหมายชื่อทรัพยากรAssetSetที่เฉพาะเจาะจง) คุณไม่สามารถตั้งค่า 2 ช่องนี้ร่วมกันได้ และไม่สามารถรวมช่องใดช่องหนึ่งกับ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(ซึ่งอนุญาตให้ใช้รหัสเกณฑ์ได้ไม่เกิน 1 รายการ และไม่ได้ตั้งค่าช่องAssetSet) ค่าradius_unitsที่รองรับคือMILESและMETERS
- เมื่อใช้ชุดชิ้นงานสถานที่ตั้ง (
ตัวเลือกสถานที่ตั้งขั้นสูงที่มี GeoTargetTypeSetting
นอกจากการระบุสถานที่ตั้งที่จะกำหนดเป้าหมายหรือยกเว้นแล้ว คุณยังปรับแต่งวิธีที่ Google Ads จับคู่ผู้ใช้กับสถานที่ตั้งเหล่านี้ได้โดยใช้ตัวเลือกสถานที่ตั้งขั้นสูง การตั้งค่าเหล่านี้ได้รับการจัดการผ่าน Campaign.GeoTargetTypeSetting
การตั้งค่านี้ประกอบด้วย 2 ช่อง ดังนี้
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 ตัวอย่างต่อไปนี้แสดงโครงสร้างของการอัปเดต CampaignOperation ที่ตั้งค่า positive_geo_target_type เป็น PRESENCE
// 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"
}
}
หากต้องการดึงข้อมูลการตั้งค่าปัจจุบัน ให้ใส่ campaign.geo_target_type_setting.positive_geo_target_type และ campaign.geo_target_type_setting.negative_geo_target_type ในคำค้นหา GoogleAdsService
การกำหนดการตั้งค่าเหล่านี้ช่วยให้คุณควบคุมผู้ที่เห็นโฆษณาได้ละเอียดยิ่งขึ้น โดยอิงตามความสัมพันธ์ของผู้ใช้กับสถานที่ตั้งทางภูมิศาสตร์ที่คุณระบุ ซึ่งสอดคล้องกับเป้าหมายทางธุรกิจของคุณมากขึ้น
แนวทางปฏิบัติแนะนำ
- เลือก
PRESENCEหากผลิตภัณฑ์หรือบริการของคุณจำกัดไว้เฉพาะผู้ที่อยู่ในสถานที่ตั้งนั้นๆ เท่านั้น ตัวอย่างเช่น สมมติว่าคุณกำหนดให้ผู้ใช้ต้องอยู่ในร้านค้าหรือกำหนดให้มีการจัดส่งในพื้นที่ - เลือก
PRESENCE_OR_INTERESTหากผลิตภัณฑ์หรือบริการของคุณเป็นประโยชน์ต่อผู้ที่สนใจสถานที่ตั้งหนึ่งๆ ด้วย แม้ว่าจะไม่ได้อยู่ในสถานที่ตั้งนั้นก็ตาม เช่น ผู้ใช้ที่วางแผนจะไปเที่ยวพักผ่อนอาจสนใจโรงแรมในเมืองที่เป็นจุดหมายปลายทาง - ใช้การกำหนดเป้าหมายตามสถานที่เชิงลบเพื่อปรับแต่งการเข้าถึง หากคุณกำหนดเป้าหมายไปยังสหรัฐอเมริกาด้วย
PRESENCE_OR_INTERESTแต่ไม่ได้จัดส่งไปยังรัฐใดรัฐหนึ่ง คุณสามารถยกเว้นรัฐนั้นได้โดยใช้negative=trueในเกณฑ์LocationInfoเมื่อใช้ร่วมกับnegative_geo_target_typeที่ตั้งค่าเป็นPRESENCEการตั้งค่านี้จะป้องกันไม่ให้โฆษณาแสดงต่อผู้ใช้ในรัฐนั้น แต่ยังคงเข้าถึงผู้ใช้นอกรัฐที่อาจสนใจสถานที่ตั้งในสหรัฐอเมริกาได้
ขั้นตอนถัดไป
- ปรับราคาเสนอตามเกณฑ์ในคู่มือตัวปรับราคาเสนอ