دو نوع بودجه وجود دارد: بودجه میانگین روزانه و بودجه کل پویش. میتوانید هرکدام از این انواع را بااستفاده از
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، به راهنمای امتیاز بهینهسازی و توصیهها مراجعه کنید.