برای راهاندازی تبلیغات جستجوی پویا (DSA) با Google Ads API، این مراحل را دنبال کنید:
- یک کمپین ایجاد کنید و دامنه آن را مشخص کنید.
- یک گروه تبلیغاتی برای ویژگی های مربوط به DSA ایجاد کنید.
- یک یا چند DSA ایجاد کنید.
- یک یا چند معیار برای نمایش DSA ها در کمپین مشخص کنید.
کمپین را ایجاد کنید
برای اینکه به Google Ads بگویید قرار است از DSA در کمپین خود استفاده کنید، ابتدا باید یک Campaign
ایجاد کنید که فیلد advertising_channel_type
روی AdvertisingChannelType.SEARCH
تنظیم شده است. همچنین دامنه ای را مشخص کنید که DSA ها روی آن کار کنند. این کار با تنظیم فیلد dynamic_search_ads_setting
Campaign
با استفاده از DynamicSearchAdsSetting
انجام می شود.
مثال زیر یک کمپین DSA ایجاد می کند.
جاوا
private static String addCampaign( GoogleAdsClient googleAdsClient, long customerId, String budgetResourceName) { // Creates the campaign. Campaign campaign = Campaign.newBuilder() .setName("Interplanetary Cruise #" + getPrintableDateTime()) .setAdvertisingChannelType(AdvertisingChannelType.SEARCH) .setStatus(CampaignStatus.PAUSED) .setManualCpc(ManualCpc.newBuilder().build()) .setCampaignBudget(budgetResourceName) // Enables the campaign for DSAs. .setDynamicSearchAdsSetting( DynamicSearchAdsSetting.newBuilder() .setDomainName("example.com") .setLanguageCode("en") .build()) .setStartDate(new DateTime().plusDays(1).toString("yyyyMMdd")) .setEndDate(new DateTime().plusDays(30).toString("yyyyMMdd")) .build(); // Creates the operation. CampaignOperation operation = CampaignOperation.newBuilder().setCreate(campaign).build(); // Creates the campaign service client. try (CampaignServiceClient campaignServiceClient = googleAdsClient.getLatestVersion().createCampaignServiceClient()) { // Adds the campaign. MutateCampaignsResponse response = campaignServiceClient.mutateCampaigns( Long.toString(customerId), ImmutableList.of(operation)); String campaignResourceName = response.getResults(0).getResourceName(); // Displays the results. System.out.printf("Added campaign with resource name '%s'.%n", campaignResourceName); return campaignResourceName; } }
سی شارپ
private static string AddCampaign(GoogleAdsClient client, long customerId, string budgetResourceName) { // Get the CampaignService. CampaignServiceClient campaignService = client.GetService(Services.V18.CampaignService); // Create the campaign. Campaign campaign = new Campaign() { Name = "Interplanetary Cruise #" + ExampleUtilities.GetRandomString(), AdvertisingChannelType = AdvertisingChannelType.Search, Status = CampaignStatus.Paused, ManualCpc = new ManualCpc(), CampaignBudget = budgetResourceName, // Enable the campaign for DSAs. DynamicSearchAdsSetting = new DynamicSearchAdsSetting() { DomainName = "example.com", LanguageCode = "en" }, StartDate = DateTime.Now.AddDays(1).ToString("yyyyMMdd"), EndDate = DateTime.Now.AddDays(30).ToString("yyyyMMdd") }; // Create the operation. CampaignOperation operation = new CampaignOperation() { Create = campaign }; // Add the campaign. MutateCampaignsResponse response = campaignService.MutateCampaigns(customerId.ToString(), new CampaignOperation[] { operation }); // Displays the result. string campaignResourceName = response.Results[0].ResourceName; Console.WriteLine($"Added campaign with resource name '{campaignResourceName}'."); return campaignResourceName; }
PHP
private static function createCampaign( GoogleAdsClient $googleAdsClient, int $customerId, string $campaignBudgetResourceName ) { $campaign = new Campaign([ 'name' => 'Interplanetary Cruise #' . Helper::getPrintableDatetime(), 'advertising_channel_type' => AdvertisingChannelType::SEARCH, 'status' => CampaignStatus::PAUSED, 'manual_cpc' => new ManualCpc(), 'campaign_budget' => $campaignBudgetResourceName, // Enables the campaign for DSAs. 'dynamic_search_ads_setting' => new DynamicSearchAdsSetting([ 'domain_name' => 'example.com', 'language_code' => 'en' ]), // Optional: Sets the start and end dates for the campaign, beginning one day from // now and ending a month from now. 'start_date' => date('Ymd', strtotime('+1 day')), 'end_date' => date('Ymd', strtotime('+1 month')) ]); // Creates a campaign operation. $campaignOperation = new CampaignOperation(); $campaignOperation->setCreate($campaign); // Issues a mutate request to add campaigns. $campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); /** @var MutateCampaignsResponse $campaignResponse */ $campaignResponse = $campaignServiceClient->mutateCampaigns( MutateCampaignsRequest::build($customerId, [$campaignOperation]) ); $campaignResourceName = $campaignResponse->getResults()[0]->getResourceName(); printf("Added campaign named '%s'.%s", $campaignResourceName, PHP_EOL); return $campaignResourceName; }
پایتون
def create_campaign(client, customer_id, budget_resource_name): """Creates a Dynamic Search Ad Campaign under the given customer ID. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID str. budget_resource_name: a resource_name str for a Budget Returns: A resource_name str for the newly created Campaign. """ # Retrieve a new campaign operation object. campaign_operation = client.get_type("CampaignOperation") campaign = campaign_operation.create campaign.name = f"Interplanetary Cruise #{uuid4()}" campaign.advertising_channel_type = ( client.enums.AdvertisingChannelTypeEnum.SEARCH ) # Recommendation: Set the campaign to PAUSED when creating it to prevent the # ads from immediately serving. Set to ENABLED once you've added targeting # and the ads are ready to serve. campaign.status = client.enums.CampaignStatusEnum.PAUSED campaign.manual_cpc.enhanced_cpc_enabled = True campaign.campaign_budget = budget_resource_name # Required: Enable the campaign for DSAs by setting the campaign's dynamic # search ads setting domain name and language. campaign.dynamic_search_ads_setting.domain_name = "example.com" campaign.dynamic_search_ads_setting.language_code = "en" # Optional: Sets the start and end dates for the campaign, beginning one day # from now and ending a month from now. campaign.start_date = (datetime.now() + timedelta(days=1)).strftime( "%Y%m%d" ) campaign.end_date = (datetime.now() + timedelta(days=30)).strftime("%Y%m%d") # Retrieve the campaign service. campaign_service = client.get_service("CampaignService") # Issues a mutate request to add campaign. response = campaign_service.mutate_campaigns( customer_id=customer_id, operations=[campaign_operation] ) resource_name = response.results[0].resource_name print(f'Created campaign with resource_name: "{resource_name}"')
روبی
def create_campaign(client, customer_id, budget_resource_name) campaign = client.resource.campaign do |c| c.name = "Interplanetary Cruise #{(Time.now.to_f * 1000).to_i}" c.advertising_channel_type = :SEARCH c.status = :PAUSED c.manual_cpc = client.resource.manual_cpc c.campaign_budget = budget_resource_name c.dynamic_search_ads_setting = client.resource.dynamic_search_ads_setting do |s| s.domain_name = "example.com" s.language_code = "en" end c.start_date = DateTime.parse((Date.today + 1).to_s).strftime('%Y%m%d') c.end_date = DateTime.parse(Date.today.next_year.to_s).strftime('%Y%m%d') end operation = client.operation.create_resource.campaign(campaign) response = client.service.campaign.mutate_campaigns( customer_id: customer_id, operations: [operation], ) puts("Created campaign with ID: #{response.results.first.resource_name}") response.results.first.resource_name end
پرل
sub create_campaign { my ($api_client, $customer_id, $campaign_budget_resource_name) = @_; # Create a campaign. my $campaign = Google::Ads::GoogleAds::V18::Resources::Campaign->new({ name => "Interplanetary Cruise #" . uniqid(), advertisingChannelType => SEARCH, status => Google::Ads::GoogleAds::V18::Enums::CampaignStatusEnum::PAUSED, manualCpc => Google::Ads::GoogleAds::V18::Common::ManualCpc->new(), campaignBudget => $campaign_budget_resource_name, # Enable the campaign for DSAs. dynamicSearchAdsSetting => Google::Ads::GoogleAds::V18::Resources::DynamicSearchAdsSetting->new({ domainName => "example.com", languageCode => "en" } ), # Optional: Set the start and end dates for the campaign, beginning one day from # now and ending a month from now. startDate => strftime("%Y%m%d", localtime(time + 60 * 60 * 24)), endDate => strftime("%Y%m%d", localtime(time + 60 * 60 * 24 * 30)), }); # Create a campaign operation. my $campaign_operation = Google::Ads::GoogleAds::V18::Services::CampaignService::CampaignOperation-> new({create => $campaign}); # Add the campaign. my $campaigns_response = $api_client->CampaignService()->mutate({ customerId => $customer_id, operations => [$campaign_operation]}); my $campaign_resource_name = $campaigns_response->{results}[0]{resourceName}; printf "Created campaign '%s'.\n", $campaign_resource_name; return $campaign_resource_name; }
ایجاد گروه تبلیغاتی
برای استفاده از ویژگیهای DSA، باید یک AdGroup
با type
فیلد تنظیم شده روی SEARCH_DYNAMIC_ADS
ایجاد کنید. این نوع گروه تبلیغاتی محدودیتهای زیر را اعمال میکند:
- این نوع گروه تبلیغاتی را می توان فقط به کمپین های جستجو اضافه کرد.
- باید یک مجموعه
DynamicSearchAdsSetting
معتبر در سطح کمپین وجود داشته باشد - برای گروه تبلیغاتی که قرار است اضافه شود. اگر این تنظیم وجود نداشته باشد، یک خطای
AdGroupError.CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING
نشان داده می شود. - هیچ کلمه کلیدی مثبتی در این نوع گروه تبلیغاتی مجاز نیست. مخاطبان، اهداف تبلیغات پویا و کلمات کلیدی منفی مجاز هستند.
- مانند همه گروه های تبلیغاتی،
type
فیلد را نمی توان پس از ساخت تغییر داد. - فقط قالبهای تبلیغاتی مرتبط با DSA در این گروه تبلیغاتی مجاز است.
مثال کد زیر نحوه ایجاد یک گروه تبلیغاتی SEARCH_DYNAMIC_ADS
را نشان می دهد.
جاوا
private static String addAdGroup( GoogleAdsClient googleAdsClient, long customerId, String campaignResourceName) { // Creates the ad group. AdGroup adGroup = AdGroup.newBuilder() .setName("Earth to Mars Cruises #" + getPrintableDateTime()) .setCampaign(campaignResourceName) .setType(AdGroupType.SEARCH_DYNAMIC_ADS) .setStatus(AdGroupStatus.PAUSED) .setTrackingUrlTemplate("http://tracker.examples.com/traveltracker/{escapedlpurl}") .setCpcBidMicros(50_000) .build(); // Creates the operation. AdGroupOperation operation = AdGroupOperation.newBuilder().setCreate(adGroup).build(); // Creates the ad group service client. try (AdGroupServiceClient adGroupServiceClient = googleAdsClient.getLatestVersion().createAdGroupServiceClient()) { MutateAdGroupsResponse response = adGroupServiceClient.mutateAdGroups( Long.toString(customerId), ImmutableList.of(operation)); String adGroupResourceName = response.getResults(0).getResourceName(); // Displays the results. System.out.printf("Added ad group with resource name '%s'.%n", adGroupResourceName); return adGroupResourceName; } }
سی شارپ
private static string AddAdGroup(GoogleAdsClient client, long customerId, string campaignResourceName) { // Get the AdGroupService. AdGroupServiceClient adGroupService = client.GetService(Services.V18.AdGroupService); // Create the ad group. AdGroup adGroup = new AdGroup() { Name = "Earth to Mars Cruises #" + ExampleUtilities.GetRandomString(), Campaign = campaignResourceName, Type = AdGroupType.SearchDynamicAds, Status = AdGroupStatus.Paused, TrackingUrlTemplate = "http://tracker.examples.com/traveltracker/{escapedlpurl}", CpcBidMicros = 50_000 }; // Create the operation. AdGroupOperation operation = new AdGroupOperation() { Create = adGroup }; // Add the ad group. MutateAdGroupsResponse response = adGroupService.MutateAdGroups(customerId.ToString(), new AdGroupOperation[] { operation }); // Display the results. string adGroupResourceName = response.Results[0].ResourceName; Console.WriteLine($"Added ad group with resource name '{adGroupResourceName}'."); return adGroupResourceName; }
PHP
private static function createAdGroup( GoogleAdsClient $googleAdsClient, int $customerId, string $campaignResourceName ) { // Constructs an ad group and sets an optional CPC value. $adGroup = new AdGroup([ 'name' => 'Earth to Mars Cruises #' . Helper::getPrintableDatetime(), 'campaign' => $campaignResourceName, 'status' => AdGroupStatus::PAUSED, 'type' => AdGroupType::SEARCH_DYNAMIC_ADS, 'tracking_url_template' => 'http://tracker.examples.com/traveltracker/{escapedlpurl}', 'cpc_bid_micros' => 10000000 ]); // Creates an ad group operation. $adGroupOperation = new AdGroupOperation(); $adGroupOperation->setCreate($adGroup); // Issues a mutate request to add the ad groups. $adGroupServiceClient = $googleAdsClient->getAdGroupServiceClient(); /** @var MutateAdGroupsResponse $adGroupResponse */ $adGroupResponse = $adGroupServiceClient->mutateAdGroups( MutateAdGroupsRequest::build($customerId, [$adGroupOperation]) ); $adGroupResourceName = $adGroupResponse->getResults()[0]->getResourceName(); printf("Added ad group named '%s'.%s", $adGroupResourceName, PHP_EOL); return $adGroupResourceName; }
پایتون
def create_ad_group(client, customer_id, campaign_resource_name): """Creates a Dynamic Search Ad Group under the given Campaign. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID str. campaign_resource_name: a resource_name str for a Campaign. Returns: A resource_name str for the newly created Ad Group. """ # Retrieve a new ad group operation object. ad_group_operation = client.get_type("AdGroupOperation") # Create an ad group. ad_group = ad_group_operation.create # Required: set the ad group's type to Dynamic Search Ads. ad_group.type_ = client.enums.AdGroupTypeEnum.SEARCH_DYNAMIC_ADS ad_group.name = f"Earth to Mars Cruises {uuid4()}" ad_group.campaign = campaign_resource_name ad_group.status = client.enums.AdGroupStatusEnum.PAUSED # Recommended: set a tracking URL template for your ad group if you want to # use URL tracking software. ad_group.tracking_url_template = ( "http://tracker.example.com/traveltracker/{escapedlpurl}" ) # Optional: Set the ad group bid value. ad_group.cpc_bid_micros = 10000000 # Retrieve the ad group service. ad_group_service = client.get_service("AdGroupService") # Issues a mutate request to add the ad group. response = ad_group_service.mutate_ad_groups( customer_id=customer_id, operations=[ad_group_operation] ) resource_name = response.results[0].resource_name print(f'Created Ad Group with resource_name: "{resource_name}"')
روبی
def create_ad_group(client, customer_id, campaign_resource_name) ad_group = client.resource.ad_group do |ag| ag.type = :SEARCH_DYNAMIC_ADS ag.name = "Earth to Mars Cruises #{(Time.now.to_f * 1000).to_i}" ag.campaign = campaign_resource_name ag.status = :PAUSED ag.tracking_url_template = "http://tracker.example.com/traveltracker/{escapedlpurl}" ag.cpc_bid_micros = 3_000_000 end operation = client.operation.create_resource.ad_group(ad_group) response = client.service.ad_group.mutate_ad_groups( customer_id: customer_id, operations: [operation], ) puts("Created ad group with ID: #{response.results.first.resource_name}") response.results.first.resource_name end
پرل
sub create_ad_group { my ($api_client, $customer_id, $campaign_resource_name) = @_; # Construct an ad group and set an optional CPC value. my $ad_group = Google::Ads::GoogleAds::V18::Resources::AdGroup->new({ name => "Earth to Mars Cruises #" . uniqid(), campaign => $campaign_resource_name, status => Google::Ads::GoogleAds::V18::Enums::AdGroupStatusEnum::PAUSED, type => SEARCH_DYNAMIC_ADS, trackingUrlTemplate => "http://tracker.examples.com/traveltracker/{escapedlpurl}", cpcBidMicros => 3000000 }); # Create an ad group operation. my $ad_group_operation = Google::Ads::GoogleAds::V18::Services::AdGroupService::AdGroupOperation-> new({create => $ad_group}); # Add the ad group. my $ad_groups_response = $api_client->AdGroupService()->mutate({ customerId => $customer_id, operations => [$ad_group_operation]}); my $ad_group_resource_name = $ad_groups_response->{results}[0]{resourceName}; printf "Created ad group '%s'.\n", $ad_group_resource_name; return $ad_group_resource_name; }
DSA را ایجاد کنید
برای ایجاد DSA واقعی، باید از یک شی ExpandedDynamicSearchAdInfo
استفاده کنید و فیلدهای زیر را تنظیم کنید:
- مورد نیاز :
description
- اختیاری :
description2
این آگهی با توجه به اطلاعات مربوط به نام دامنه ارائه شده توسط DynamicSearchAdsSetting
در سطح کمپین، سرفصل، نشانی اینترنتی نمایش و نشانی اینترنتی نهایی آن به طور خودکار تولید می شود.
جاوا
private static void addExpandedDSA( GoogleAdsClient googleAdsClient, long customerId, String adGroupResourceName) { // Creates an ad group ad. AdGroupAd adGroupAd = AdGroupAd.newBuilder() .setAdGroup(adGroupResourceName) .setStatus(AdGroupAdStatus.PAUSED) // Sets the ad as an expanded dynamic search ad .setAd( Ad.newBuilder() .setExpandedDynamicSearchAd( ExpandedDynamicSearchAdInfo.newBuilder() .setDescription("Buy tickets now!") .build()) .build()) .build(); // Creates the operation. AdGroupAdOperation operation = AdGroupAdOperation.newBuilder().setCreate(adGroupAd).build(); // Creates the ad group ad service client. try (AdGroupAdServiceClient adGroupAdServiceClient = googleAdsClient.getLatestVersion().createAdGroupAdServiceClient()) { // Adds the dynamic search ad. MutateAdGroupAdsResponse response = adGroupAdServiceClient.mutateAdGroupAds( Long.toString(customerId), ImmutableList.of(operation)); // Displays the response. System.out.printf( "Added ad group ad with resource name '%s'.%n", response.getResults(0).getResourceName()); } }
سی شارپ
private static void AddExpandedDSA(GoogleAdsClient client, long customerId, string adGroupResourceName) { // Get the AdGroupAdService. AdGroupAdServiceClient adGroupAdService = client.GetService(Services.V18.AdGroupAdService); // Create an ad group ad. AdGroupAd adGroupAd = new AdGroupAd() { AdGroup = adGroupResourceName, Status = AdGroupAdStatus.Paused, // Set the ad as an expanded dynamic search ad. Ad = new Ad() { ExpandedDynamicSearchAd = new ExpandedDynamicSearchAdInfo() { Description = "Buy tickets now!" } } }; // Create the operation. AdGroupAdOperation operation = new AdGroupAdOperation() { Create = adGroupAd }; // Add the dynamic search ad. MutateAdGroupAdsResponse response = adGroupAdService.MutateAdGroupAds( customerId.ToString(), new AdGroupAdOperation[] { operation }); // Display the response. Console.WriteLine($"Added ad group ad with resource name " + $"'{response.Results[0].ResourceName}'."); }
PHP
private static function createExpandedDSA( GoogleAdsClient $googleAdsClient, int $customerId, string $adGroupResourceName ) { $adGroupAd = new AdGroupAd([ 'ad_group' => $adGroupResourceName, 'status' => AdGroupAdStatus::PAUSED, 'ad' => new Ad([ 'expanded_dynamic_search_ad' => new ExpandedDynamicSearchAdInfo([ 'description' => 'Buy tickets now!' ]) ]) ]); $adGroupAdOperation = new AdGroupAdOperation(); $adGroupAdOperation->setCreate($adGroupAd); // Issues a mutate request to add the ad group ads. $adGroupAdServiceClient = $googleAdsClient->getAdGroupAdServiceClient(); /** @var MutateAdGroupAdsResponse $adGroupAdResponse */ $adGroupAdResponse = $adGroupAdServiceClient->mutateAdGroupAds( MutateAdGroupAdsRequest::build($customerId, [$adGroupAdOperation]) ); $adGroupAdResourceName = $adGroupAdResponse->getResults()[0]->getResourceName(); printf("Added ad group ad named '%s'.%s", $adGroupAdResourceName, PHP_EOL); return $adGroupAdResourceName; }
پایتون
def create_expanded_dsa(client, customer_id, ad_group_resource_name): """Creates a dynamic search ad under the given ad group. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID str. ad_group_resource_name: a resource_name str for an Ad Group. """ # Retrieve a new ad group ad operation object. ad_group_ad_operation = client.get_type("AdGroupAdOperation") # Create and expanded dynamic search ad. This ad will have its headline, # display URL and final URL auto-generated at serving time according to # domain name specific information provided by DynamicSearchAdSetting at # the campaign level. ad_group_ad = ad_group_ad_operation.create # Optional: set the ad status. ad_group_ad.status = client.enums.AdGroupAdStatusEnum.PAUSED # Set the ad description. ad_group_ad.ad.expanded_dynamic_search_ad.description = "Buy tickets now!" ad_group_ad.ad_group = ad_group_resource_name # Retrieve the ad group ad service. ad_group_ad_service = client.get_service("AdGroupAdService") # Submit the ad group ad operation to add the ad group ad. response = ad_group_ad_service.mutate_ad_group_ads( customer_id=customer_id, operations=[ad_group_ad_operation] ) resource_name = response.results[0].resource_name print(f'Created Ad Group Ad with resource_name: "{resource_name}"')
روبی
def create_expanded_dsa(client, customer_id, ad_group_resource_name) ad_group_ad = client.resource.ad_group_ad do |aga| aga.status = :PAUSED aga.ad = client.resource.ad do |ad| ad.expanded_dynamic_search_ad = client.resource.expanded_dynamic_search_ad_info do |info| info.description = "Buy tickets now!" end end aga.ad_group = ad_group_resource_name end operation = client.operation.create_resource.ad_group_ad(ad_group_ad) response = client.service.ad_group_ad.mutate_ad_group_ads( customer_id: customer_id, operations: [operation], ) puts("Created ad group ad with ID: #{response.results.first.resource_name}") end
پرل
sub create_expanded_dsa { my ($api_client, $customer_id, $ad_group_resource_name) = @_; # Create an ad group ad. my $ad_group_ad = Google::Ads::GoogleAds::V18::Resources::AdGroupAd->new({ adGroup => $ad_group_resource_name, status => Google::Ads::GoogleAds::V18::Enums::AdGroupAdStatusEnum::PAUSED, ad => Google::Ads::GoogleAds::V18::Resources::Ad->new({ expandedDynamicSearchAd => Google::Ads::GoogleAds::V18::Common::ExpandedDynamicSearchAdInfo-> new({ description => "Buy tickets now!" })})}); # Create an ad group ad operation. my $ad_group_ad_operation = Google::Ads::GoogleAds::V18::Services::AdGroupAdService::AdGroupAdOperation ->new({create => $ad_group_ad}); # Add the ad group ad. my $ad_group_ads_response = $api_client->AdGroupAdService()->mutate({ customerId => $customer_id, operations => [$ad_group_ad_operation]}); my $ad_group_ad_resource_name = $ad_group_ads_response->{results}[0]{resourceName}; printf "Created ad group ad '%s'.\n", $ad_group_ad_resource_name; return $ad_group_ad_resource_name; }
فیلد final_urls
توسط Google Ads هنگام ایجاد DSA محاسبه می شود. در نتیجه، هنگام ایجاد DSA نمی توانید این فیلد را تنظیم کنید. برای استفاده از نرمافزار ردیابی URL، میتوانید با استفاده از قسمت tracking_url_template
مشخص کنید به کدام پارامترهای ردیابی اضافی یا تغییر مسیرها نیاز است. هنگام تعیین این فیلد، باید یکی از پارامترهای زیر را در نظر بگیرید تا به Google Ads اجازه دهید در URL نهایی منطبق شده قرار دهد:
پارامتر | توضیح |
---|---|
{unescapedlpurl} | URL صفحه فرود بدون فرار — اگر می خواهید چیزی را به انتها اضافه کنید، به عنوان مثال: |
{escapedlpurl} | URL صفحه فرود Escaped (با کد URL)—برای مثال اگر می خواهید به یک ردیاب هدایت شوید: |
{lpurlpath} | فقط پارامترهای مسیر و پرس و جو از URL محاسبه شده، به عنوان مثال: |
{lpurl} | رمز می کند
|
به عنوان مثال:
جاوا
dsa.setTrackingUrlTemplate(
StringValue.of("http://example.com/traveltracker/{escapedlpurl}"));
معیارهای DSA را مشخص کنید
در نهایت، شما می خواهید معیارهایی را برای راه اندازی سرویس دهی DSA تنظیم کنید. این کار با استفاده از webpage
فیلد AdGroupCriterion
انجام می شود. این فیلد webpage
به عنوان یک شی WebpageInfo
تنظیم شده است که بین یک تا سه conditions
مجاز می کند.
این conditions
موارد WebpageConditionInfo
هستند که به شما امکان می دهند دقیقاً در دامنه ای که قبلاً در تنظیمات کمپین مشخص شده است، فیلتر یا جستجو کنید. پنج مورد وجود دارد که می توانید در یک دامنه فیلتر کنید:
WebpageConditionOperand | توضیحات |
---|---|
URL | رشته ای که با URL جزئی یک صفحه مطابقت دارد. |
CATEGORY | رشته ای با دسته ای که دقیقاً با آن مطابقت دارد. |
PAGE_TITLE | رشته ای که با عنوان جزئی صفحه مطابقت دارد. |
PAGE_CONTENT | رشته ای که با محتوایی در هر صفحه نمایه شده مشخص مطابقت دارد. |
CUSTOM_LABEL | رشته ای که با شرایط هدف گذاری برچسب سفارشی صفحه وب مطابقت دارد. نشانیهای اینترنتی فید صفحه هدف را با استفاده از برچسبهای سفارشی ببینید. |
به عنوان مثال، می توانید یک معیار صفحه وب ایجاد کنید که همه چیزهایی را که در شاخه /children
یک سایت تعطیلات قرار دارد (شرایط URL
)، اما فقط آن صفحاتی را که "پیشنهاد ویژه" در عنوان (شرایط PAGE_TITLE
) دارند هدف قرار دهد.
کشف دسته های سایت
می توانید با انتخاب فیلدهای منبع domain_category
در پرس و جوی GAQL، لیستی از DomainCategory
هایی را که گوگل فکر می کند برای سایت شما اعمال می شود، بازیابی و فیلتر کنید.
پرس و جوی GAQL زیر لیستی از دسته های دامنه را برای یک سایت خاص و یک کمپین خاص بازیابی می کند و روی شناسه آن فیلتر می شود:
SELECT
domain_category.category,
domain_category.language_code,
domain_category.recommended_cpc_bid_micros
FROM domain_category
WHERE domain_category.domain = 'example.com'
AND campaign.id = campaign_id
بدون احتساب قطعات سایت
همچنین می توانید از AdGroupCriterionService
برای تنظیم معیارهای صفحه وب منفی استفاده کنید. برای مثال میتوانید از این برای حذف صفحاتی با عنوان خاصی که میخواهید با کمپین یا گروه تبلیغاتی دیگری مدیریت کنید، استفاده کنید.
معیارهای دیگر
کمپین ها و گروه های تبلیغاتی DSA فقط به معیارهای صفحه وب محدود نمی شوند. می توانید به استفاده از انواع معیارهای دیگر برای اصلاح بیشتر و بهبود کیفیت تبلیغات خود ادامه دهید. با این حال، باید در استفاده از معیارهای اضافی عاقلانه عمل کنید، زیرا اضافه کردن بیش از حد می تواند اثربخشی هدف گیری خودکار DSA را کاهش دهد.