במדריך הזה מוסבר מהו טירגוט למיקום גיאוגרפי ואיך אפשר להשתמש ב-Google Ads API כדי להוסיף, לאחזר ולעדכן את הטירגוט למיקום גיאוגרפי בקמפיינים.
מידע נוסף על מגבלות הטירגוט זמין בקטע "מגבלות טירגוט" במאמר מידע על מגבלות בחשבון Google Ads.
למה טירגוט גיאוגרפי חשוב?
טירגוט למיקום גיאוגרפי מאפשר לכם להציג מודעות למשתמשים באזור גיאוגרפי מסוים. לדוגמה, נניח שאתם מפרסמים רשת של סופרמרקטים. בלי טירגוט למיקום גיאוגרפי, המודעות יוצגו בכל האזורים בעולם, ויכול להיות שהן יקבלו קליקים ממשתמשים באזורים שבהם אין לכם סניפים של הסופרמרקט. הקליקים האלה מייצרים עלות, אבל אין סיכוי להחזר על ההשקעה. בעזרת טירגוט למיקום גיאוגרפי, המודעות בקמפיינים שלכם מוצגות רק באזורים שבהם יש לכם סופרמרקטים פתוחים. הגישה הזו גם מאפשרת לכם לטרגט ישירות לקוחות שמחפשים סופרמרקטים באזור שלהם.
Google Ads API מאפשר לכם לטרגט את המודעות לפי מדינה, אזור או קרבה לנקודה גיאוגרפית ספציפית.
קמפיינים עם טירגוט גיאוגרפי לאזור מסוים
אתם יכולים לטרגט קמפיינים לכל אזור גיאוגרפי ש-Google Ads תומכת בטירגוט למיקום שלו, כמו מדינה, עיר או אזור מיקוד. לכל מיקום שאפשר לטרגט יש מזהה קריטריון ייחודי. אפשר לחפש מזהה קריטריון באמצעות GeoTargetConstantService.SuggestGeoTargetConstants.
ה-resource_name של כל GeoTargetConstant הוא בפורמט geoTargetConstants/{Criterion ID}. לדוגמה, הערך של resource_name במדינת ניו יורק הוא geoTargetConstants/21167.
אפשר להוסיף מיקומים גיאוגרפיים לטירגוט לקמפיינים באמצעות CampaignCriterionService (או ברמת קבוצת המודעות באמצעות AdGroupCriterion בסוגי קמפיינים נתמכים, כמו קמפיינים ליצירת ביקוש שבהם מופעלת 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 עשויה להוציא משימוש קריטריונים מסוימים של מיקום מסיבות שונות: יכול להיות שהמיקום יחולק מחדש לאזורים קטנים או גדולים יותר, שינויים גיאופוליטיים וכו'. כדי לבדוק אם מיקום מסוים הוא ENABLED או REMOVAL_PLANNED, עיינו בשדה status של אובייקט GeoTargetConstant.
חיפוש לפי שם המיקום
אפשר גם לחפש את מזהה הקריטריון לפי שם המיקום באמצעות 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). אי אפשר להגדיר את שני השדות האלה ביחד, ואי אפשר לשלב אף אחד מהם עם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(כאשר מותר להשתמש לכל היותר במזהה קריטריון אחד, והשדות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. בדוגמה הבאה מוצג המבנה של עדכון 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, זה מונע מהמודעות שלכם להופיע למשתמשים במדינה הזו, אבל עדיין מאפשר להגיע למשתמשים מחוץ למדינה הזו שעשויים להתעניין במיקומים בארה"ב.
המאמרים הבאים
- במדריך להתאמות של הצעות מחיר מוסבר איך לשנות את הצעות המחיר לפי קריטריון.