میتوانید بودجهای را به پویشی اختصاص دهید، بودجهای را از پویشی جدا کنید، یا پویشهایی را که به بودجه خاصی اختصاص داده شدهاند بازیابی کنید.
اختصاص دادن بودجه به پویش
پساز اینکه
CampaignBudget را
با CampaignBudgetService ایجاد کردید
یا مورد موجودی را شناسایی کردید،
از مقدار فیلد resource_name آن
در فراخوانی CampaignService استفاده کنید. اگر
عمل ساختن بودجه در یک درخواست جداگانه موفقیتآمیز باشد، اما
تخصیص پویش بعدی ناموفق باشد، بودجهای بدون صاحب خواهید داشت (بودجهای که
با هیچ پویشی مرتبط نیست). با ایجاد کردن
هم CampaignBudget (بااستفاده از شناسه منبع موقت) و هم Campaign
بهصورت اتمی در یک درخواست GoogleAdsService.Mutate،
یا با استفاده مجدد یا برداشتن بودجههای
استفادهنشده میتوانید از بودجههای بدون صاحب جلوگیری کنید.
کمپین جدید
برای پویش جدید، در
CampaignOperation.create،
فیلد campaign_budget
شیء Campaign را روی نام منبع بودجه
تنظیم کنید، همانطور که در نمونه کد زیر نشان داده شده است:
جاوا
// Creates the campaign. Campaign campaign = Campaign.newBuilder() .setName("Interplanetary Cruise #" + getPrintableDateTime()) .setAdvertisingChannelType(AdvertisingChannelType.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 .setStatus(CampaignStatus.PAUSED) // Sets the bidding strategy and budget. .setManualCpc(ManualCpc.newBuilder().build()) .setCampaignBudget(budgetResourceName) // Adds the networkSettings configured above. .setNetworkSettings(networkSettings) // Declares whether this campaign serves political ads targeting the EU. .setContainsEuPoliticalAdvertising(DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING) // Optional: Sets the start & end dates. .setStartDateTime(new DateTime().plusDays(1).toString("yyyy-MM-dd 00:00:00")) .setEndDateTime(new DateTime().plusDays(30).toString("yyyy-MM-dd 23:59:59")) .build();
C#
// Create the campaign. Campaign campaign = new Campaign() { Name = "Interplanetary Cruise #" + ExampleUtilities.GetRandomString(), AdvertisingChannelType = AdvertisingChannelType.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 Status = CampaignStatus.Paused, // Set the bidding strategy and budget. ManualCpc = new ManualCpc(), CampaignBudget = budget, // Set the campaign network options. NetworkSettings = new NetworkSettings { TargetGoogleSearch = true, TargetSearchNetwork = true, // Enable Display Expansion on Search campaigns. See // https://support.google.com/google-ads/answer/7193800 to learn more. TargetContentNetwork = true, TargetPartnerSearchNetwork = false }, // Declare whether or not this campaign contains political ads targeting the EU. ContainsEuPoliticalAdvertising = EuPoliticalAdvertisingStatus.DoesNotContainEuPoliticalAdvertising, // Optional: Set the start date. StartDateTime = DateTime.Now.AddDays(1).ToString("yyyyMMdd 00:00:00"), // Optional: Set the end date. EndDateTime = DateTime.Now.AddYears(1).ToString("yyyyMMdd 23:59:59"), };
PHP
$campaign = new Campaign([ 'name' => 'Interplanetary Cruise #' . Helper::getPrintableDatetime(), 'advertising_channel_type' => AdvertisingChannelType::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. 'status' => CampaignStatus::PAUSED, // Sets the bidding strategy and budget. 'manual_cpc' => new ManualCpc(), 'campaign_budget' => $budgetResourceName, // Adds the network settings configured above. 'network_settings' => $networkSettings, // Declare whether or not this campaign serves political ads targeting the EU. 'contains_eu_political_advertising' => EuPoliticalAdvertisingStatus::DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING, // Optional: Sets the start and end dates. 'start_date_time' => date('Y-m-d 00:00:00', strtotime('+1 day')), 'end_date_time' => date('Y-m-d 23:59:59', strtotime('+1 month')) ]);
Python
# Create campaign. campaign_operation: CampaignOperation = client.get_type("CampaignOperation") campaign: Campaign = campaign_operation.create campaign.name = f"Interplanetary Cruise {uuid.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 # Set the bidding strategy and budget. campaign.manual_cpc = client.get_type("ManualCpc") campaign.campaign_budget = campaign_budget_response.results[0].resource_name # Set the campaign network options. campaign.network_settings.target_google_search = True campaign.network_settings.target_search_network = True campaign.network_settings.target_partner_search_network = False # Enable Display Expansion on Search campaigns. For more details see: # https://support.google.com/google-ads/answer/7193800 campaign.network_settings.target_content_network = True # Declare whether or not this campaign serves political ads targeting the # EU. Valid values are: # CONTAINS_EU_POLITICAL_ADVERTISING # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING campaign.contains_eu_political_advertising = ( client.enums.EuPoliticalAdvertisingStatusEnum.DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING ) # Optional: Set the start date. start_time: datetime.date = datetime.date.today() + datetime.timedelta( days=1 ) campaign.start_date_time = datetime.date.strftime( start_time, _START_DATE_FORMAT ) # Optional: Set the end date. end_time: datetime.date = start_time + datetime.timedelta(weeks=4) campaign.end_date_time = datetime.date.strftime(end_time, _END_DATE_FORMAT)
Ruby
# Create campaign. campaign = client.resource.campaign do |c| c.name = "Interplanetary Cruise #{(Time.new.to_f * 1000).to_i}" c.advertising_channel_type = :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. c.status = :PAUSED # Set the bidding strategy and budget. c.manual_cpc = client.resource.manual_cpc c.campaign_budget = return_budget.results.first.resource_name # Set the campaign network options. c.network_settings = client.resource.network_settings do |ns| ns.target_google_search = true ns.target_search_network = true # Enable Display Expansion on Search campaigns. See # https://support.google.com/google-ads/answer/7193800 to learn more. ns.target_content_network = true ns.target_partner_search_network = false end # Declare whether or not this campaign serves political ads targeting the EU. # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING. c.contains_eu_political_advertising = :DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING # Optional: Set the start date. c.start_date_time = DateTime.parse((Date.today + 1).to_s).strftime('%Y%m%d %H:%M:%S') # Optional: Set the end date. c.end_date_time = DateTime.parse((Date.today.next_year).to_s).strftime('%Y%m%d %H:%M:%S') end
پرل
# Create a campaign. my $campaign = Google::Ads::GoogleAds::V26::Resources::Campaign->new({ name => "Interplanetary Cruise #" . uniqid(), advertisingChannelType => SEARCH, # Recommendation: Set the campaign to PAUSED when creating it to stop # the ads from immediately serving. Set to ENABLED once you've added # targeting and the ads are ready to serve. status => PAUSED, # Set the bidding strategy and budget. manualCpc => Google::Ads::GoogleAds::V26::Common::ManualCpc->new(), campaignBudget => $campaign_budgets_response->{results}[0]{resourceName}, # Set the campaign network options. networkSettings => Google::Ads::GoogleAds::V26::Resources::NetworkSettings->new({ targetGoogleSearch => "true", targetSearchNetwork => "true", # Enable Display Expansion on Search campaigns. See # https://support.google.com/google-ads/answer/7193800 to learn more. targetContentNetwork => "true", targetPartnerSearchNetwork => "false" } ), # Declare whether or not this campaign serves political ads targeting the EU. # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING. containsEuPoliticalAdvertising => DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING, # Optional: Set the start datetime. The campaign starts tomorrow. startDateTime => strftime("%Y%m%d 00:00:00", localtime(time + 60 * 60 * 24)), # Optional: Set the end datetime. The campaign runs for 30 days. endDateTime => strftime("%Y%m%d 23:59:59", localtime(time + 60 * 60 * 24 * 30)), });
curl
پویش موجود
برای جایگزین کردن بودجه پویش موجود، در
CampaignOperation.update،
فیلد campaign_budget
شیء Campaign را روی
نام منبع بودجه موجود (همراه با هر فیلد پویش دیگری که ممکن است بخواهید تنظیم کنید) تنظیم کنید. این کار بودجه موجود اختصاصدادهشده به پویش را با بودجهای که در فیلد campaign_budget مشخص شده است جایگزین میکند، زیرا هر پویش در هر زمان فقط میتواند با یک بودجه مرتبط باشد.
جدا کردن بودجه از پویش
پویش همیشه باید با بودجهای مرتبط باشد. میتوانید با تغییر دادن بودجه مرتبط با پویش، بودجه را از پویش بردارید و درنتیجه آن را با بودجه دیگری جایگزین کنید. برای شناسایی پویشهایی که از بودجه خاصی استفاده میکنند، بخش بعدی را ببینید.
بازیابی پویشهای اختصاصدادهشده به بودجه
دریافت فهرست پویشهایی که از بودجه یکسانی استفاده میکنند میتواند در متعادل کردن استفاده از بودجه مفید باشد. پرسمان GAQL زیر همه پویشهای مربوط به شناسه بودجه مشخصشده را برمیگرداند:
SELECT campaign.id FROM campaign WHERE campaign_budget.id = campaign_budget_id