دو نوع بودجه وجود دارد: بودجه میانگین روزانه و بودجه کل پویش. میتوانید هرکدام از این دو نوع را بااستفاده از
CampaignBudgetService ایجاد کنید.
ساختن بودجه میانگین روزانه
این مقدار میانگینی است که مایلید روزانه برای پویشی هزینه کنید.
میتوانید بودجه میانگین روزانه را با فیلد
amount_micros از
CampaignBudget تنظیم کنید. بودجه
period بهطور پیشفرض
DAILY است.
چون explicitly_shared
درصورت حذف شدن در عملیات create، بهطور پیشفرض روی true تنظیم میشود، باید
explicitly_shared را بهطور صریح روی false تنظیم کنید تا بودجه غیرمشترک تکپویشی ایجاد کنید، همانطور که
در مثال زیر نشان داده شده است:
جاوا
private static String addCampaignBudget(GoogleAdsClient googleAdsClient, long customerId) { CampaignBudget budget = CampaignBudget.newBuilder() .setName("Interplanetary Cruise Budget #" + getPrintableDateTime()) .setDeliveryMethod(BudgetDeliveryMethod.STANDARD) .setAmountMicros(500_000) .build(); CampaignBudgetOperation op = CampaignBudgetOperation.newBuilder().setCreate(budget).build(); try (CampaignBudgetServiceClient campaignBudgetServiceClient = googleAdsClient.getLatestVersion().createCampaignBudgetServiceClient()) { MutateCampaignBudgetsResponse response = campaignBudgetServiceClient.mutateCampaignBudgets( Long.toString(customerId), ImmutableList.of(op)); String budgetResourceName = response.getResults(0).getResourceName(); System.out.printf("Added budget: %s%n", budgetResourceName); return budgetResourceName; } }
C#
private static string CreateBudget(GoogleAdsClient client, long customerId) { // Get the BudgetService. CampaignBudgetServiceClient budgetService = client.GetService( Services.V26.CampaignBudgetService); // Create the campaign budget. CampaignBudget budget = new CampaignBudget() { Name = "Interplanetary Cruise Budget #" + ExampleUtilities.GetRandomString(), DeliveryMethod = BudgetDeliveryMethod.Standard, AmountMicros = 500000 }; // Create the operation. CampaignBudgetOperation budgetOperation = new CampaignBudgetOperation() { Create = budget }; // Create the campaign budget. MutateCampaignBudgetsResponse response = budgetService.MutateCampaignBudgets( customerId.ToString(), new CampaignBudgetOperation[] { budgetOperation }); return response.Results[0].ResourceName; }
PHP
private static function addCampaignBudget(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a campaign budget. $budget = new CampaignBudget([ 'name' => 'Interplanetary Cruise Budget #' . Helper::getPrintableDatetime(), 'delivery_method' => BudgetDeliveryMethod::STANDARD, 'amount_micros' => 500000 ]); // Creates a campaign budget operation. $campaignBudgetOperation = new CampaignBudgetOperation(); $campaignBudgetOperation->setCreate($budget); // Issues a mutate request. $campaignBudgetServiceClient = $googleAdsClient->getCampaignBudgetServiceClient(); $response = $campaignBudgetServiceClient->mutateCampaignBudgets( MutateCampaignBudgetsRequest::build($customerId, [$campaignBudgetOperation]) ); /** @var CampaignBudget $addedBudget */ $addedBudget = $response->getResults()[0]; printf("Added budget named '%s'%s", $addedBudget->getResourceName(), PHP_EOL); return $addedBudget->getResourceName(); }
Python
# Create a budget, which can be shared by multiple campaigns. campaign_budget_operation: CampaignBudgetOperation = client.get_type( "CampaignBudgetOperation" ) campaign_budget: CampaignBudget = campaign_budget_operation.create campaign_budget.name = f"Interplanetary Budget {uuid.uuid4()}" campaign_budget.delivery_method = ( client.enums.BudgetDeliveryMethodEnum.STANDARD ) campaign_budget.amount_micros = 500000 # Add budget. campaign_budget_response: MutateCampaignBudgetsResponse try: budget_operations: List[CampaignBudgetOperation] = [ campaign_budget_operation ] campaign_budget_response = ( campaign_budget_service.mutate_campaign_budgets( customer_id=customer_id, operations=budget_operations, ) ) except GoogleAdsException as ex: handle_googleads_exception(ex)
Ruby
# Create a budget, which can be shared by multiple campaigns. campaign_budget = client.resource.campaign_budget do |cb| cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}" cb.delivery_method = :STANDARD cb.amount_micros = 500000 end operation = client.operation.create_resource.campaign_budget(campaign_budget) # Add budget. return_budget = client.service.campaign_budget.mutate_campaign_budgets( customer_id: customer_id, operations: [operation], )
پرل
# Create a campaign budget, which can be shared by multiple campaigns. my $campaign_budget = Google::Ads::GoogleAds::V26::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V26::Services::CampaignBudgetService::CampaignBudgetOperation ->new({create => $campaign_budget}); # Add the campaign budget. my $campaign_budgets_response = $api_client->CampaignBudgetService()->mutate({ customerId => $customer_id, operations => [$campaign_budget_operation]});
curl
ایجاد بودجه کل پویش
این کل مبلغی است که مایلید در کل مدت پویش هزینه کنید. برای ایجاد بودجه کل پویش، بودجه را روی
period
CUSTOM_PERIOD
تنظیم کنید و
total_amount_micros
را تنظیم کنید.
بودجههای کل پویش نمیتوانند در پویشها همرسانی شوند، بنابراین باید
explicitly_shared را روی false
تنظیم کنید
وقتی بودجهای با period CUSTOM_PERIOD ایجاد میکنید.
هنگام کدنویسی، فیلدها همانند بودجه میانگین روزانه هستند،
بهجز period و total_amount_micros.
توصیههای بودجه پویش
Google Ads API چندین نوع توصیه ارائه میدهد تا به شما کمک کند بودجههای پویش خود را بهینهسازی کنید:
CAMPAIGN_BUDGETمقدار بودجه جدیدی را برای پویشهای با بودجه محدود پیشنهاد میدهد.MOVE_UNUSED_BUDGETفرصتهای تخصیص مجدد بودجه اضافی از یک پویش به پویش دیگر با بودجه محدود را برجسته میکند.MARGINAL_ROI_CAMPAIGN_BUDGETمبلغ بودجه جدیدی را برای پویشهایی پیشنهاد میکند که پیشبینی میشود با اصلاح بودجه، «نرخ بازگشت سرمایه» آنها افزایش یابد.FORECASTING_CAMPAIGN_BUDGETمبلغ بودجه جدیدی را برای پویشهایی پیشنهاد میکند که انتظار میرود در آینده با محدودیت بودجه مواجه شوند.
برای انواع توصیههای بیشتر و راهنمایی درباره کار با توصیهها در Google Ads API، به راهنمای امتیاز بهینهسازی و توصیهها مراجعه کنید.