از تنظیمات هدفیابی در گروههای آگهی یا پویشهایتان استفاده کنید تا مشخص کنید که آیا آگهیهایتان را محدود کنید تا فقط به بخشهای مخاطب خاص یا روی محتوای خاصی که انتخاب کردهاید نمایش داده شوند.
تنظیمات هدفیابی را راهاندازی کنید
با تنظیم کردن فیلد TargetingSetting با آرایهای از target_restrictions (یا با اعمال کردن بهروزرسانیهای افزایشی بااستفاده از target_restriction_operations)، میتوانید جزئیات مربوط به نحوه استفاده از انواع معیارهای مختلف برای هدفیابی را تنظیم کنید.
هر TargetRestriction به شما امکان میدهد کنترل کنید که آیا TargetingDimension (AUDIENCE، TOPIC، GENDER،
AGE_RANGE، PLACEMENT، PARENTAL_STATUS، یا INCOME_RANGE) از گزینه bid_only استفاده میکند یا نه.
وقتی bid_only را روی true تنظیم میکنید، تنظیم هدفیابی روی «مشاهده» تنظیم میشود و از معیارها برای محدود کردن ترافیک استفاده نخواهد شد، اما به شما امکان میدهد برای کاربران مختلف در فهرستهایتان بهطور متفاوتی پیشنهاد قیمت دهید. تنظیم
bid_only به false تنظیم هدفیابی را روی «هدفیابی» تنظیم میکند و
معیارها را فعال میکند تا ترافیک گروه آگهی را فقط به کاربران فهرست هدف محدود کند.
تفاوتهای کلیدی در جدول زیر خلاصه شده است:
| تنظیم | bid_only |
تأثیر بر دسترسی | تأثیر پیشنهاد قیمت |
|---|---|---|---|
| هدفگیری | false |
دسترسی را به فقط معیارهای انتخابشده محدود میکند | میتواند قیمتهای پیشنهادی خاصی را برای معیارها تنظیم کند |
| مشاهده | true |
دسترسی را محدود نمیکند؛ آگهیها بهطور عادی نشان داده میشوند | امکان تعدیل قیمت پیشنهادی براساس معیارها را فراهم میکند |
سناریوهای عملی
در اینجا نمونههای کوتاهی از زمان استفاده از «حالت مشاهده» در مقابل «حالت هدفیابی» آورده شده است:
- مشاهده
- اگر کمپین «جستجو» اجرا میکنید و میخواهید بدانید مخاطب خاصی (برای مثال، «طرفداران ورزش») درمقایسه با عموم مردم چقدر خوب تبدیل میشود، بدون اینکه آگهیهایتان را فقط به آن مخاطب محدود کنید، از حالت «مشاهده» استفاده کنید. میتوانید
«طرفداران ورزش» را بهعنوان معیار «مخاطب» با
bid_only = true(مشاهده) اضافه کنید و تعدیل قیمت پیشنهادی ۱۰٪+ را اعمال کنید. این کار به شما امکان میدهد دادههای عملکرد را برای آن مخاطب جمعآوری کنید و اگر عملکرد خوبی داشتند، بهصورت رقابتیتری برای آنها پیشنهاد قیمت دهید، بدون اینکه ترافیک کاربران خارج از آن مخاطب را ازدست بدهید. - هدفگیری
- اگر پویش «شبکه تبلیغات» را برای بازاریابی مجدد به کاربرانی که قبلاً از وبسایتتان بازدید کردهاند اما تبدیل نداشتهاند اجرا میکنید، و فقط میخواهید کاربران فهرست کاربر «ترککنندگان سبد خرید» شما این آگهیهای ویژه را ببینند، از «حالت هدفیابی» استفاده کنید. در این مورد،
فهرست «رهاکنندگان سبد خرید» را بهعنوان معیار
UserListباbid_only = false(هدفیابی) اضافه میکنید. این کار تضمین میکند که بودجه گروه آگهیتان فقط برای دسترسی به این بخش مخاطب با قصد بالا صرف شود.
روالهای مطلوب
بهطور پیشفرض، bid_only روی false تنظیم شده است، یعنی تنظیم هدفیابی روی «هدفیابی» تنظیم خواهد شد. اگر محدودیت هدف برای بُعد هدفیابی خاصی (مثل AUDIENCE) در آرایه target_restrictions از TargetingSetting حذف شده باشد یا وجود نداشته باشد، سیستم رفتار پیشفرض «هدفیابی» (bid_only بهطور ضمنی false است) را برای آن بُعد اتخاذ میکند.
این رفتار سطح پایین «میانای برنامهسازی کاربردی» میتواند با «میانای کاربر Google Ads» متفاوت باشد، زیرا «میانای کاربر Google Ads» ممکن است بهطور خودکار «مشاهده» (bid_only true است) را بهطور پیشفرض برای برخیاز ابعاد هدفیابی (مثل AUDIENCE برای پویشهای «جستجو») هنگام ایجاد پویشها یا گروههای آگهی اعمال کند. برای مثال، پویشهای Shopping ایجادشده ازطریق میانای کاربری
ممکن است بهطور پیشفرض تنظیمات بُعد AUDIENCE را از دیدگاه میانای برنامهسازی کاربردی
حذف کنند، یعنی بهطور ضمنی رفتار پیشفرض میانای برنامهسازی کاربردی
«هدفیابی» (bid_only برابر با false است) را به ارث میبرند.
اگر بخشهای مخاطب را به پویش «جستجو» یا Shopping اضافه میکنید،
تنظیمات هدفیابی bid_only را بهطور صریح روی true پیکربندی کنید تا آن را
روی «مشاهده» تنظیم کنید.
اگر پویش تکراری برای بخشهای مخاطب برای آگهیهای جستجو راهاندازی میکنید،
هدفیابی bid_only را روی false تنظیم کنید.
محدودیتها
اگر targeting_setting در پویش اصلی تنظیم شده باشد، نمیتوانید targeting_setting را در AdGroup اضافه یا بهروز کنید. اگر targeting_setting روی Campaign اصلی تنظیم شده باشد،
باید ابتدا targeting_setting را از روی Campaign اصلی بردارید. بههمین ترتیب،
ابتدا باید targeting_setting را از AdGroup بردارید تا بتوانید
آن را روی Campaign تنظیم کنید.
برای برداشتن targeting_setting از Campaign یا AdGroup، update
عملیاتی ارسال کنید که در آن targeting_setting.target_restrictions پاک شده باشد (روی
فهرست خالی تنظیم شده باشد) و targeting_setting.target_restrictions را در
update_mask بگنجانید.
بازیابی کردن تنظیم هدفیابی
برای اینکه مطمئن شوید هدفیابیتان همانطور که میخواهید راهاندازی شده است، با درخواست کردن فیلد
ad_group.targeting_setting.target_restrictions
از منبع ad_group یا فیلد
campaign.targeting_setting.target_restrictions
از منبع campaign در پُرسمان جستجو،
targeting_setting را در گروههای آگهی یا پویشها بررسی کنید.
مثال
این مثال targeting_setting را در گروه آگهی بهروز میکند تا bid_only
برای TargetRestriction نمونه با targeting_dimension
AUDIENCE true باشد، که به شما امکان میدهد عملکرد را مشاهده کنید و
بدون محدود کردن دسترسی، تعدیلهای قیمت پیشنهادی را برای کاربران در بخش مخاطب تنظیم کنید.
ابتدا، همه ad_group.targeting_setting.target_restrictions را از
گروه آگهی با شناسه ارائهشده بازیابی کنید.
جاوا
String searchQuery = "SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions " + "FROM ad_group " + "WHERE ad_group.id = " + adGroupId;
C#
string query = $@" SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions FROM ad_group WHERE ad_group.id = {adGroupId}";
PHP
$query = "SELECT ad_group.id, ad_group.name, " . "ad_group.targeting_setting.target_restrictions " . "FROM ad_group " . "WHERE ad_group.id = $adGroupId";
Python
query: str = f""" SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions FROM ad_group WHERE ad_group.id = {ad_group_id}"""
Ruby
query = <<~QUERY SELECT ad_group.id, ad_group.name, ad_group.targeting_setting.target_restrictions FROM ad_group WHERE ad_group.id = #{ad_group_id} QUERY
پرل
my $query = "SELECT ad_group.id, ad_group.name, " . "ad_group.targeting_setting.target_restrictions FROM ad_group " . "WHERE ad_group.id = $ad_group_id";
curl
سپس، محدودیتهای هدف را حلقه بزنید و
TargetingSetting شیء را بازسازی کنید. اگر کد با TargetRestriction با
targeting_dimension از AUDIENCE و مقدار bid_only از false مواجه شود،
فیلد bid_only شیء TargetRestriction را به true (یا
"Observation") بهروزرسانی میکند و آن را به شیء TargetingSetting اضافه میکند. درغیراینصورت، شیء
TargetRestriction را که از سرور برگردانده شده است به
TargetingSetting اضافه کنید.
جاوا
for (TargetRestriction targetRestriction : targetRestrictions) { TargetingDimension targetingDimension = targetRestriction.getTargetingDimension(); boolean bidOnly = targetRestriction.getBidOnly(); System.out.printf( "- Targeting restriction with targeting dimension '%s' and bid only set to '%b'.%n", targetingDimension, bidOnly); // Adds the target restriction to the TargetingSetting object as is if the targeting // dimension has a value other than AUDIENCE because those should not change. if (!targetingDimension.equals(TargetingDimension.AUDIENCE)) { targetingSettingBuilder.addTargetRestrictions(targetRestriction); } else if (!bidOnly) { shouldUpdateTargetingSetting = true; // Adds an AUDIENCE target restriction with bid_only set to true to the targeting // setting object. This has the effect of setting the AUDIENCE target restriction to // "Observation". For more details about the targeting setting, visit // https://support.google.com/google-ads/answer/7365594. targetingSettingBuilder.addTargetRestrictions( TargetRestriction.newBuilder() .setTargetingDimensionValue(TargetingDimension.AUDIENCE_VALUE) .setBidOnly(true)); } }
C#
foreach (TargetRestriction targetRestriction in targetRestrictions) { TargetingDimension targetingDimension = targetRestriction.TargetingDimension; bool bidOnly = targetRestriction.BidOnly; Console.WriteLine("\tTargeting restriction with targeting dimension " + $"'{targetingDimension}' and bid only set to '{bidOnly}'."); // Add the target restriction to the TargetingSetting object as is if the // targeting dimension has a value other than AUDIENCE because those should // not change. if (targetingDimension != TargetingDimension.Audience) { targetingSetting.TargetRestrictions.Add(targetRestriction); } else if (!bidOnly) { shouldUpdateTargetingSetting = true; // Add an AUDIENCE target restriction with bid_only set to true to the // targeting setting object. This has the effect of setting the AUDIENCE // target restriction to "Observation". For more details about the // targeting setting, visit // https://support.google.com/google-ads/answer/7365594. targetingSetting.TargetRestrictions.Add(new TargetRestriction { TargetingDimension = TargetingDimension.Audience, BidOnly = true }); } }
PHP
foreach ( $adGroup->getTargetingSetting()->getTargetRestrictions() as $targetRestriction ) { // Prints the results. $targetingDimension = $targetRestriction->getTargetingDimension(); $bidOnly = $targetRestriction->getBidOnly(); printf( "- Targeting restriction with targeting dimension '%s' and bid only set to " . "'%s'.%s", TargetingDimension::name($targetingDimension), $bidOnly ? 'true' : 'false', PHP_EOL ); // Adds the target restriction to the TargetingSetting object as is if the targeting // dimension has a value other than AUDIENCE because those should not change. if ($targetingDimension !== TargetingDimension::AUDIENCE) { $targetRestrictions[] = $targetRestriction; } elseif (!$bidOnly) { $shouldUpdateTargetingSetting = true; // Adds an AUDIENCE target restriction with bid_only set to true to the // targeting setting object. This has the effect of setting the AUDIENCE // target restriction to "Observation". // For more details about the targeting setting, visit // https://support.google.com/google-ads/answer/7365594. $targetRestrictions[] = new TargetRestriction( [ 'targeting_dimension' => TargetingDimension::AUDIENCE, 'bid_only' => true ] ); } }
Python
target_restriction: TargetRestriction for target_restriction in target_restrictions: targeting_dimension: TargetingDimensionEnum.TargetingDimension = ( target_restriction.targeting_dimension ) bid_only: bool = target_restriction.bid_only print( "\tTargeting restriction with targeting dimension " f"'{targeting_dimension.name}' " f"and bid only set to '{bid_only}'." ) # Add the target restriction to the TargetingSetting object as # is if the targeting dimension has a value other than audience # because those should not change. if targeting_dimension != targeting_dimension_enum.AUDIENCE: targeting_setting.target_restrictions.append(target_restriction) elif not bid_only: should_update_targeting_setting: bool = True # Add an audience target restriction with bid_only set to # true to the targeting setting object. This has the effect # of setting the audience target restriction to # "Observation". For more details about the targeting # setting, visit # https://support.google.com/google-ads/answer/7365594. new_target_restriction: TargetRestriction = ( targeting_setting.target_restrictions.add() ) new_target_restriction.targeting_dimension = ( targeting_dimension_enum.AUDIENCE ) new_target_restriction.bid_only = True
Ruby
ad_group.targeting_setting.target_restrictions.each do |r| # Prints the results. targeting_dimension = r.targeting_dimension bid_only = r.bid_only puts "- Targeting restriction with targeting dimension " \ "#{targeting_dimension} and bid only set to #{bid_only}." # Adds the target restriction to the TargetingSetting object as is if the # targeting dimension has a value other than AUDIENCE because those should # not change. if targeting_dimension != :AUDIENCE target_restrictions << r elsif !bid_only should_update_targeting_setting = true # Adds an AUDIENCE target restriction with bid_only set to true to the # targeting setting object. This has the effect of setting the AUDIENCE # target restriction to "Observation". # For more details about the targeting setting, visit # https://support.google.com/google-ads/answer/7365594. target_restrictions << client.resource.target_restriction do |tr| tr.targeting_dimension = :AUDIENCE tr.bid_only = true end end end
پرل
foreach my $target_restriction (@target_restrictions) { my $targeting_dimension = $target_restriction->{targetingDimension}; printf "\tTargeting restriction with targeting dimension '%s' and bid " . "only set to '%s'.\n", $targeting_dimension, $target_restriction->{bidOnly} ? "TRUE" : "FALSE"; # Add the target restriction to the TargetingSetting object as is if the # targeting dimension has a value other than AUDIENCE because those # should not change. if ($targeting_dimension ne AUDIENCE) { $target_restriction->{bidOnly} = $target_restriction->{bidOnly} ? "true" : "false"; push @{$targeting_setting->{targetRestrictions}}, $target_restriction; } elsif (!$target_restriction->{bidOnly}) { $should_update_target_setting = 1; # Add an AUDIENCE target restriction with bid_only set to true to the # targeting setting object. This has the effect of setting the # AUDIENCE target restriction to "Observation". For more details about # the targeting setting, visit # https://support.google.com/google-ads/answer/7365594. my $new_restriction = Google::Ads::GoogleAds::V25::Common::TargetRestriction->new({ targetingDimension => AUDIENCE, bidOnly => "true" }); push @{$targeting_setting->{targetRestrictions}}, $new_restriction; } }
curl
درنهایت، اگر کد با محدودیت هدفی مواجه شود که نیاز به بهروزرسانی دارد، گروه آگهی را با تنظیمات هدفیابی جدید بهروز میکند.
جاوا
private void updateTargetingSetting( GoogleAdsClient googleAdsClient, long customerId, long adGroupId, TargetingSetting targetingSetting) { // Creates the ad group service client. try (AdGroupServiceClient adGroupServiceClient = googleAdsClient.getLatestVersion().createAdGroupServiceClient()) { // Creates an ad group object with the proper resource name and updated targeting setting. AdGroup adGroup = AdGroup.newBuilder() .setResourceName(ResourceNames.adGroup(customerId, adGroupId)) .setTargetingSetting(targetingSetting) .build(); // Constructs an operation that will update the ad group, using the FieldMasks utility to // derive the update mask. This mask tells the Google Ads API which attributes of the // ad group you want to change. AdGroupOperation operation = AdGroupOperation.newBuilder() .setUpdate(adGroup) .setUpdateMask(FieldMasks.allSetFieldsOf(adGroup)) .build(); // Sends the operation in a mutate request. MutateAdGroupsResponse response = adGroupServiceClient.mutateAdGroups( Long.toString(customerId), ImmutableList.of(operation)); // Prints the resource name of the updated object. System.out.printf( "Updated targeting setting of ad group with resource name '%s'; set the AUDIENCE " + "target restriction to 'Observation'.%n", response.getResults(0).getResourceName()); } }
C#
private void UpdateTargetingSetting(GoogleAdsClient client, long customerId, long adGroupId, TargetingSetting targetingSetting) { // Get the AdGroupService client. AdGroupServiceClient adGroupServiceClient = client.GetService(Services.V25.AdGroupService); // Create an ad group object with the updated targeting setting. AdGroup adGroup = new AdGroup { ResourceName = ResourceNames.AdGroup(customerId, adGroupId), TargetingSetting = targetingSetting }; // Construct an operation that will update the ad group, using the FieldMasks utility // to derive the update mask. This mask tells the Google Ads API which attributes of the // ad group you want to change. AdGroupOperation operation = new AdGroupOperation { Update = adGroup, UpdateMask = FieldMasks.AllSetFieldsOf(adGroup) }; // Send the operation in a mutate request. MutateAdGroupsResponse response = adGroupServiceClient.MutateAdGroups(customerId.ToString(), new[] { operation }); // Print the resource name of the updated object. Console.WriteLine("Updated targeting setting of ad group with resource name " + $"'{response.Results.First().ResourceName}'; set the AUDIENCE target restriction " + "to 'Observation'."); }
PHP
private static function updateTargetingSetting( GoogleAdsClient $googleAdsClient, int $customerId, int $adGroupId, TargetingSetting $targetingSetting ) { // Creates an ad group object with the proper resource name and updated targeting setting. $adGroup = new AdGroup( [ 'resource_name' => ResourceNames::forAdGroup($customerId, $adGroupId), 'targeting_setting' => $targetingSetting ] ); // Constructs an operation that will update the ad group with the specified resource name, // using the FieldMasks utility to derive the update mask. This mask tells the Google Ads // API which attributes of the ad group you want to change. $adGroupOperation = new AdGroupOperation(); $adGroupOperation->setUpdate($adGroup); $adGroupOperation->setUpdateMask(FieldMasks::allSetFieldsOf($adGroup)); // Issues a mutate request to update the ad group. $adGroupServiceClient = $googleAdsClient->getAdGroupServiceClient(); $response = $adGroupServiceClient->mutateAdGroups( MutateAdGroupsRequest::build($customerId, [$adGroupOperation]) ); // Prints the resource name of the updated ad group. printf( "Updated targeting setting of ad group with resource name '%s'; set the AUDIENCE " . "target restriction to 'Observation'.%s", $response->getResults()[0]->getResourceName(), PHP_EOL ); }
Python
def update_targeting_setting( client: GoogleAdsClient, customer_id: str, ad_group_id: str, targeting_setting: TargetingSetting, ) -> None: """Updates the given TargetingSetting of an ad group. Args: client: The Google Ads client. customer_id: The Google Ads customer ID. ad_group_id: The ad group ID for which to update the audience targeting restriction. targeting_setting: The updated targeting setting. """ # Get the AdGroupService client. ad_group_service: AdGroupServiceClient = client.get_service( "AdGroupService" ) # Construct an operation that will update the ad group. ad_group_operation: AdGroupOperation = client.get_type("AdGroupOperation") # Populate the ad group object with the updated targeting setting. ad_group: AdGroup = ad_group_operation.update ad_group.resource_name = ad_group_service.ad_group_path( customer_id, ad_group_id ) ad_group.targeting_setting.target_restrictions.extend( targeting_setting.target_restrictions ) # Use the field_mask utility to derive the update mask. This mask tells the # Google Ads API which attributes of the ad group you want to change. client.copy_from( ad_group_operation.update_mask, protobuf_helpers.field_mask(None, ad_group._pb), ) # Send the operation in a mutate request and print the resource name of the # updated object. mutate_ad_groups_response: MutateAdGroupsResponse = ( ad_group_service.mutate_ad_groups( customer_id=customer_id, operations=[ad_group_operation] ) ) print( "Updated targeting setting of ad group with resource name " f"'{mutate_ad_groups_response.results[0].resource_name}'; set the " "audience target restriction to 'Observation'." )
Ruby
def update_targeting_setting( client, customer_id, ad_group_id, targeting_setting) # Constructs an operation that will update the ad group with the specified # resource name. ad_group_resource_name = client.path.ad_group(customer_id, ad_group_id) operation = client.operation.update_resource.ad_group(ad_group_resource_name) do |ag| ag.targeting_setting = targeting_setting end # Issues a mutate request to update the ad group. response = client.service.ad_group.mutate_ad_groups( customer_id: customer_id, operations: [operation], ) # Prints the resource name of the updated ad group. puts "Updated targeting setting of ad group with resource name " \ "#{response.results.first.resource_name}; set the AUDIENCE target " \ "restriction to 'Observation'." end
پرل
sub update_targeting_setting { my ($api_client, $customer_id, $ad_group_id, $targeting_setting) = @_; # Construct an ad group object with the updated targeting setting. my $ad_group = Google::Ads::GoogleAds::V25::Resources::AdGroup->new({ resourceName => Google::Ads::GoogleAds::V25::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), targetingSetting => $targeting_setting }); # Create an operation that will update the ad group, using the FieldMasks # utility to derive the update mask. This mask tells the Google Ads API which # attributes of the ad group you want to change. my $ad_group_operation = Google::Ads::GoogleAds::V25::Services::AdGroupService::AdGroupOperation-> new({ update => $ad_group, updateMask => all_set_fields_of($ad_group)}); # Send the operation in a mutate request and print the resource name of the # updated resource. my $ad_groups_response = $api_client->AdGroupService()->mutate({ customerId => $customer_id, operations => [$ad_group_operation]}); printf "Updated targeting setting of ad group with resourceName " . "'%s'; set the AUDIENCE target restriction to 'Observation'.\n", $ad_groups_response->{results}[0]{resourceName}; }
curl
فرایند تنظیم فیلد bid_only برای پویشها تقریباً یکسان است.
قدم بعدی چیست
- انواع معیارهای پشتیبانیشده را در راهنمای معیارها کاوش کنید.