Créer un budget de campagne Performance Max

Comme toutes les autres campagnes, une campagne Performance Max nécessite un budget, mais avec les restrictions suivantes :

  • Le budget doit avoir une période de DAILY.
  • Le budget ne peut pas être partagé.

Essayez de définir un budget quotidien moyen au moins trois fois supérieur à votre CPA ou à votre coût par conversion pour les actions de conversion sélectionnées dans votre campagne. En règle générale, le budget doit correspondre à celui des autres campagnes de votre compte qui enregistrent de bons résultats. En savoir plus sur le choix d'un budget

Si un budget est trop faible par rapport au CPA ou au coût par conversion, vous constaterez peut-être une période d'optimisation plus lente ou moins de conversions sur plusieurs jours.

Java

/** Creates a MutateOperation that creates a new CampaignBudget. */
private MutateOperation createCampaignBudgetOperation(long customerId) {
  CampaignBudget campaignBudget =
      CampaignBudget.newBuilder()
          .setName("Performance Max campaign budget #" + getPrintableDateTime())
          // The budget period already defaults to DAILY.
          .setAmountMicros(50_000_000)
          .setDeliveryMethod(BudgetDeliveryMethod.STANDARD)
          // A Performance Max campaign cannot use a shared campaign budget.
          .setExplicitlyShared(false)
          // Set a temporary ID in the budget's resource name, so it can be referenced
          // by the campaign in later steps.
          .setResourceName(ResourceNames.campaignBudget(customerId, BUDGET_TEMPORARY_ID))
          .build();

  return MutateOperation.newBuilder()
      .setCampaignBudgetOperation(
          CampaignBudgetOperation.newBuilder().setCreate(campaignBudget).build())
      .build();
}

      

C#

/// <summary>
/// Creates a MutateOperation that creates a new CampaignBudget.
///
/// A temporary ID will be assigned to this campaign budget so that it can be
/// referenced by other objects being created in the same Mutate request.
/// </summary>
/// <param name="budgetResourceName">The temporary resource name of the budget to
/// create.</param>
/// <returns>A MutateOperation that creates a CampaignBudget.</returns>
private MutateOperation CreateCampaignBudgetOperation(string budgetResourceName)
{
    MutateOperation operation = new MutateOperation
    {
        CampaignBudgetOperation = new CampaignBudgetOperation
        {
            Create = new CampaignBudget
            {
                Name = "Performance Max campaign budget #"
                  + ExampleUtilities.GetRandomString(),

                // The budget period already defaults to DAILY.
                AmountMicros = 50000000,

                // A Performance Max campaign cannot use a shared campaign budget.
                ExplicitlyShared = false,

                // Set a temporary ID in the budget's resource name so it can be referenced
                // by the campaign in later steps.
                ResourceName = budgetResourceName
            }
        }
    };

    return operation;
}

      

PHP

private static function createCampaignBudgetOperation(int $customerId): MutateOperation
{
    // Creates a mutate operation that creates a campaign budget operation.
    return new MutateOperation([
        'campaign_budget_operation' => new CampaignBudgetOperation([
            'create' => new CampaignBudget([
                // Sets a temporary ID in the budget's resource name so it can be referenced
                // by the campaign in later steps.
                'resource_name' => ResourceNames::forCampaignBudget(
                    $customerId,
                    self::BUDGET_TEMPORARY_ID
                ),
                'name' => 'Performance Max campaign budget #' . Helper::getPrintableDatetime(),
                // The budget period already defaults to DAILY.
                'amount_micros' => 50000000,
                'delivery_method' => BudgetDeliveryMethod::STANDARD,
                // A Performance Max campaign cannot use a shared campaign budget.
                'explicitly_shared' => false
            ])
        ])
    ]);
}
      

Python

def create_campaign_budget_operation(
    client,
    customer_id,
):
    """Creates a MutateOperation that creates a new CampaignBudget.

    A temporary ID will be assigned to this campaign budget so that it can be
    referenced by other objects being created in the same Mutate request.

    Args:
        client: an initialized GoogleAdsClient instance.
        customer_id: a client customer ID.

    Returns:
        a MutateOperation that creates a CampaignBudget.
    """
    mutate_operation = client.get_type("MutateOperation")
    campaign_budget_operation = mutate_operation.campaign_budget_operation
    campaign_budget = campaign_budget_operation.create
    campaign_budget.name = f"Performance Max campaign budget #{uuid4()}"
    # The budget period already defaults to DAILY.
    campaign_budget.amount_micros = 50000000
    campaign_budget.delivery_method = (
        client.enums.BudgetDeliveryMethodEnum.STANDARD
    )
    # A Performance Max campaign cannot use a shared campaign budget.
    campaign_budget.explicitly_shared = False

    # Set a temporary ID in the budget's resource name so it can be referenced
    # by the campaign in later steps.
    campaign_budget.resource_name = client.get_service(
        "CampaignBudgetService"
    ).campaign_budget_path(customer_id, _BUDGET_TEMPORARY_ID)

    return mutate_operation
      

Ruby

# Creates a MutateOperation that creates a new CampaignBudget.
#
# A temporary ID will be assigned to this campaign budget so that it can be
# referenced by other objects being created in the same Mutate request.
def create_campaign_budget_operation(client, customer_id)
  client.operation.mutate do |m|
    m.campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
      cb.name = "Performance Max campaign budget #{SecureRandom.uuid}"
      # The budget period already defaults to DAILY.
      cb.amount_micros = 50_000_000
      cb.delivery_method = :STANDARD
        # A Performance Max campaign cannot use a shared campaign budget.
        cb.explicitly_shared = false

      # Set a temporary ID in the budget's resource name so it can be referenced
      # by the campaign in later steps.
      cb.resource_name = client.path.campaign_budget(customer_id, BUDGET_TEMPORARY_ID)
    end
  end
end
      

Perl

sub create_campaign_budget_operation {
  my ($customer_id) = @_;

  # Create a mutate operation that creates a campaign budget operation.
  return
    Google::Ads::GoogleAds::V20::Services::GoogleAdsService::MutateOperation->
    new({
      campaignBudgetOperation =>
        Google::Ads::GoogleAds::V20::Services::CampaignBudgetService::CampaignBudgetOperation
        ->new({
          create => Google::Ads::GoogleAds::V20::Resources::CampaignBudget->new(
            {
              # Set a temporary ID in the budget's resource name so it can be
              # referenced by the campaign in later steps.
              resourceName =>
                Google::Ads::GoogleAds::V20::Utils::ResourceNames::campaign_budget(
                $customer_id, BUDGET_TEMPORARY_ID
                ),
              name => "Performance Max campaign budget #" . uniqid(),
              # The budget period already defaults to DAILY.
              amountMicros   => 50000000,
              deliveryMethod => STANDARD,
              # A Performance Max campaign cannot use a shared campaign budget.
              explicitlyShared => "false",
            })})});
}