Existen dos tipos de presupuestos: los presupuestos diarios promedio y los presupuestos totales de la campaña. Puedes crear cualquiera de los dos tipos con
CampaignBudgetService.
Cómo crear un presupuesto diario promedio
Este es el importe promedio que estás dispuesto a invertir por día en esta campaña.
Puedes establecer un presupuesto diario promedio con
amount_micros de
CampaignBudget. El presupuesto
period se establece de forma predeterminada
DAILY.
En el siguiente ejemplo, se crea un nuevo presupuesto diario promedio para una campaña.
Java
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.V25.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::V25::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V25::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
Cómo crear un presupuesto total de la campaña
Este es el importe total que estás dispuesto a invertir durante toda la campaña. Para crear un presupuesto total de la campaña, establece el presupuesto
period en
CUSTOM_PERIOD
y configura
total_amount_micros.
Los presupuestos totales de la campaña no se pueden compartir entre campañas, por lo que debes establecer
explicitly_shared en false
cuando crees un presupuesto con un period de CUSTOM_PERIOD.
Cuando se codifica, los campos son los mismos que para un presupuesto diario promedio, excepto period y total_amount_micros.
Recomendaciones de presupuesto de la campaña
La API de Google Ads proporciona algunos tipos de recomendaciones para ayudarte a optimizar los presupuestos de tus campañas:
CAMPAIGN_BUDGETsugiere un nuevo importe del presupuesto para las campañas con presupuesto limitado.MOVE_UNUSED_BUDGETdestaca las oportunidades para reasignar el presupuesto excedente de una campaña a otra con presupuesto limitado.MARGINAL_ROI_CAMPAIGN_BUDGETsugiere un nuevo importe del presupuesto para las campañas cuyo ROI se prevé que aumentará con un ajuste del presupuesto.FORECASTING_CAMPAIGN_BUDGETsugiere un nuevo importe del presupuesto para las campañas que se espera que tengan un presupuesto limitado en el futuro.
Para obtener más tipos de recomendaciones y orientación sobre cómo trabajar con recomendaciones en la API de Google Ads, visita la guía Nivel de optimización y recomendaciones.