Chỉ định ngân sách cho chiến dịch
Sau khi tạo CampaignBudget
bằng CampaignBudgetService
hoặc xác định một URL hiện có, bạn cần sử dụng giá trị trường resource_name
trong lệnh gọi tiếp theo đến CampaignService
. Xin lưu ý rằng bạn có thể bị thiếu ngân sách (ngân sách không liên kết với chiến dịch nào) khi hoạt động chỉ định chiến dịch không thành công nhưng hoạt động tạo ngân sách vẫn thành công. Bạn nên sử dụng lại hoặc xoá ngân sách như vậy.
Chiến dịch mới
Đối với chiến dịch mới, trong
CampaignOperation.create
,
hãy đặt trường
campaign_budget
của đối tượng
Campaign
thành tên tài nguyên ngân sách, như minh hoạ trong mã ví dụ bên dưới.
Java
// 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) // Optional: Sets the start & end dates. .setStartDate(new DateTime().plusDays(1).toString("yyyyMMdd")) .setEndDate(new DateTime().plusDays(30).toString("yyyyMMdd")) .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 }, // Optional: Set the start date. StartDate = DateTime.Now.AddDays(1).ToString("yyyyMMdd"), // Optional: Set the end date. EndDate = DateTime.Now.AddYears(1).ToString("yyyyMMdd"), };
1.199
$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, // Optional: Sets the start and end dates. 'start_date' => date('Ymd', strtotime('+1 day')), 'end_date' => date('Ymd', strtotime('+1 month')) ]);
Python
# Create campaign. campaign_operation = client.get_type("CampaignOperation") 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.enhanced_cpc_enabled = True 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
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 # Optional: Set the start date. c.start_date = DateTime.parse((Date.today + 1).to_s).strftime('%Y%m%d') # Optional: Set the end date. c.end_date = DateTime.parse((Date.today.next_year).to_s).strftime('%Y%m%d') end
Perl
# Create a campaign. my $campaign = Google::Ads::GoogleAds::V17::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::V17::Common::ManualCpc->new( {enhancedCpcEnabled => "true"} ), campaignBudget => $campaign_budgets_response->{results}[0]{resourceName}, # Set the campaign network options. networkSettings => Google::Ads::GoogleAds::V17::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" } ), # Optional: Set the start date. The campaign starts tomorrow. startDate => strftime("%Y%m%d", localtime(time + 60 * 60 * 24)), # Optional: Set the end date. The campaign runs for 30 days. endDate => strftime("%Y%m%d", localtime(time + 60 * 60 * 24 * 30)), });
Chiến dịch hiện tại
Để thay thế ngân sách của một chiến dịch hiện có, trong
CampaignOperation.update
,
hãy đặt trường campaign_budget
của đối tượng Campaign
thành
tên tài nguyên của ngân sách hiện có (cùng với mọi trường chiến dịch khác
mà bạn có thể muốn đặt). Xin lưu ý rằng thao tác này sẽ thay thế ngân sách
hiện tại được chỉ định cho chiến dịch bằng ngân sách do trường campaign_budget
chỉ định, vì mỗi chiến dịch chỉ có thể liên kết với một ngân sách mỗi lần.
Huỷ liên kết ngân sách khỏi chiến dịch
Chiến dịch phải luôn được liên kết với ngân sách. Bạn có thể xoá ngân sách khỏi một chiến dịch bằng cách thay đổi ngân sách liên kết với chiến dịch, sau đó thay thế ngân sách đó bằng một ngân sách khác. Để xác định các chiến dịch đang sử dụng ngân sách cụ thể, hãy chuyển sang phần tiếp theo.
Truy xuất chiến dịch được chỉ định cho ngân sách
Việc thu thập danh sách các chiến dịch sử dụng cùng một ngân sách có thể hữu ích trong việc cân bằng việc sử dụng ngân sách. Truy vấn GAQL sau đây sẽ trả về tất cả chiến dịch cho mã ngân sách đã chỉ định:
SELECT campaign.id FROM campaign WHERE campaign_budget.id = campaign_budget_id