هناك نوعان من الميزانيات: متوسط الميزانيات اليومية والميزانيات الإجمالية للحملة. يمكنك إنشاء أيّ من النوعَين باستخدام
CampaignBudgetService.
إنشاء متوسط ميزانية يومية
هذا هو متوسط المبلغ الذي تريد إنفاقه يوميًا على هذه الحملة.
يمكنك تحديد متوسط ميزانية يومية باستخدام
amount_micros من
CampaignBudget. تكون الميزانية
period تلقائيًا
DAILY.
ينشئ المثال التالي متوسط ميزانية يومية جديدًا لإحدى الحملات.
جافا
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.V23.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], )
Perl
# Create a campaign budget, which can be shared by multiple campaigns. my $campaign_budget = Google::Ads::GoogleAds::V23::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V23::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]});
إنشاء ميزانية إجمالية للحملة
هذا هو المبلغ الإجمالي الذي تريد إنفاقه طوال مدة الحملة. لإنشاء ميزانية إجمالية للحملة، اضبط الميزانية
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، يُرجى الانتقال إلى دليل نتيجة التحسين والاقتراحات.