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 deseas invertir por día en una campaña.
Puedes establecer un presupuesto diario promedio con el
amount_micros campo de
CampaignBudget. El presupuesto
period se establece de forma predeterminada
DAILY.
Debido a que explicitly_shared
se establece de forma predeterminada en true si se omite en una operación create, debes establecer explícitamente
explicitly_shared en false para crear un presupuesto no compartido de una sola campaña, como
se muestra en el siguiente ejemplo:
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.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], )
Perl
# 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
Cómo crear un presupuesto total de la campaña
Este es el importe total que deseas invertir durante toda la duración de la campaña. Para crear un presupuesto total de la campaña, establece el presupuesto
period en
CUSTOM_PERIOD
y establece
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 codificas, los campos son los mismos que para un presupuesto diario promedio, excepto period y total_amount_micros.
Recomendaciones sobre el presupuesto de la campaña
La API de Google Ads proporciona varios 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 Puntuación de optimización y recomendaciones.