অ্যাকাউন্ট বাজেট

খরচের সীমা, শুরুর সময় এবং শেষের সময় মতো বাজেটের বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে অ্যাকাউন্টের বাজেটগুলি একটি নির্দিষ্ট সময়ের জন্য একটি অ্যাকাউন্ট কী ব্যয় করতে পারে তা নিয়ন্ত্রণ করে। কোন নির্দিষ্ট পেমেন্ট অ্যাকাউন্টে বিল করা হবে তা নির্দেশ করতে তাদের অবশ্যই অ্যাকাউন্টের বিলিং সেটআপগুলির একটিতে নির্দেশ করতে হবে। আপনি AccountBudgetProposal অবজেক্ট পাঠিয়ে AccountBudget তৈরি করতে, আপডেট করতে এবং সরাতে পারেন।

AccountBudget অবজেক্টগুলি প্রস্তাবগুলি প্রয়োগ করার শেষ ফলাফল উপস্থাপন করে। একটি প্রস্তাব অনুমোদিত হওয়ার পরে, এর পরিবর্তনগুলি (যেকোন সামঞ্জস্য সাপেক্ষে) একটি নতুন অ্যাকাউন্ট বাজেট তৈরি বা একটি বিদ্যমান একটি আপডেটের ফলে হবে৷ এটি অনুরোধে উল্লেখিত proposal_type উপর নির্ভর করে।

AccountBudgetProposalType বর্ণনা
CREATE একটি নতুন অ্যাকাউন্ট বাজেট তৈরি করে, যা ব্যবহারের আগে অনুমোদিত হতে হবে।
UPDATE একটি বিদ্যমান অ্যাকাউন্ট বাজেট পরিবর্তন করে।
END বর্তমান সময়ে একটি অ্যাকাউন্ট বাজেটের শেষ সময় সেট করে।
REMOVE শুরুর সময়ের আগে একটি অ্যাকাউন্টের বাজেট সরিয়ে দেয়।

নীচের বিভাগগুলি প্রতিটি প্রস্তাবের প্রকারের আচরণ বর্ণনা করে।

একটি অ্যাকাউন্ট বাজেট প্রস্তাব তৈরি করা

একটি নতুন অ্যাকাউন্ট বাজেট তৈরি করা আপনাকে একজন গ্রাহকের খরচের আচরণ নিয়ন্ত্রণ করতে দেয়। একটি নতুন AccountBudgetProposal তৈরি করতে AccountBudgetProposalService ব্যবহার করুন। একটি নতুন বাজেট তৈরি করা উচিত তা নির্দিষ্ট করতে আপনাকে CREATEproposal_type সেট করতে হবে। অন্যান্য ক্রিয়াকলাপের জন্য এই নির্দেশিকাটির ব্যবস্থাপনা বিভাগটি পড়ুন।

আপনার লেখার অ্যাক্সেস আছে এমন একটি পেমেন্ট অ্যাকাউন্টের সাথে একটি বিলিং সেটআপ ব্যবহার করতে ভুলবেন না। বিশদ বিবরণের জন্য বিলিং সেটআপ নির্দেশিকা পড়ুন।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি নতুন বাজেট প্রস্তাব তৈরি করতে হয়।

জাভা

private void runExample(GoogleAdsClient googleAdsClient, long customerId, long billingSetupId) {
  // Creates an AccountBudgetProposal. This will be reviewed offline by Google Ads, and if
  // approved will become an AccountBudget.
  AccountBudgetProposal proposal =
      AccountBudgetProposal.newBuilder()
          .setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId))
          .setProposalType(AccountBudgetProposalType.CREATE)
          .setProposedName("Account Budget (example)")

          // Specifies the account budget starts immediately.
          .setProposedStartTimeType(TimeType.NOW)
          // Alternatively you can specify a specific start time. Refer to the
          // AccountBudgetProposal
          // resource documentation for allowed formats.
          //
          // .setProposedStartDateTime("2020-01-02 03:04:05")

          // Specifies that the budget runs forever.
          .setProposedEndTimeType(TimeType.FOREVER)
          // Alternatively you can specify a specific end time. Allowed formats are as above.
          // .setProposedEndDateTime("2021-02-03 04:05:06")

          // Optional: sets notes for the budget. These are free text and do not effect budget
          // delivery.
          // .setProposedNotes("Received prepayment of $0.01")

          // Sets the spending limit to 0.01, measured in the Google Ads account currency.
          .setProposedSpendingLimitMicros(10_000)

          // Optional: sets PO number for record keeping. This value is at the user's
          // discretion, and has no effect on Google Billing & Payments.
          // .setProposedPurchaseOrderNumber("PO number 12345")
          .build();

  // Creates an operation which will add the new AccountBudgetProposal.
  AccountBudgetProposalOperation operation =
      AccountBudgetProposalOperation.newBuilder().setCreate(proposal).build();

  try (AccountBudgetProposalServiceClient accountBudgetProposalServiceClient =
      googleAdsClient.getLatestVersion().createAccountBudgetProposalServiceClient()) {
    // Sends the request to the Account Budget Proposal Service.
    MutateAccountBudgetProposalResponse response =
        accountBudgetProposalServiceClient.mutateAccountBudgetProposal(
            String.valueOf(customerId), operation);

    System.out.printf(
        "Account budget proposal created: %s.%n", response.getResult().getResourceName());
  }
}
      

সি#

public void Run(GoogleAdsClient client, long customerId, long billingSetupId)
{
    // Get the AccountBudgetProposalServiceClient.
    AccountBudgetProposalServiceClient proposalService =
        client.GetService(Services.V16.AccountBudgetProposalService);

    // Create an AccountBudgetProposal. The proposal will be reviewed offline by Google Ads,
    // and if approved will become an AccountBudget.
    AccountBudgetProposal proposal = new AccountBudgetProposal()
    {
        BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId),
        ProposalType = AccountBudgetProposalType.Create,
        ProposedName = "Account Budget (example)",

        // Specify the account budget starts immediately
        ProposedStartTimeType = TimeType.Now,
        // Alternatively, you can specify a specific start time. Refer to the
        // AccountBudgetProposal resource documentation for allowed formats.
        //
        //ProposedStartDateTime = "2020-01-02 03:04:05",

        // Specify that the budget runs forever.
        ProposedEndTimeType = TimeType.Forever,
        // Alternatively you can specify a specific end time. Allowed formats are as above.
        //ProposedEndDateTime = "2021-02-03 04:05:06",

        // Optional: set notes for the budget. These are free text and do not effect budget
        // delivery.
        //ProposedNotes = "Received prepayment of $0.01",

        // Set the spending limit to 0.01, measured in the Google Ads account currency.
        ProposedSpendingLimitMicros = 10_000

        // Optional: set PO number for record keeping. This value is at the user's
        // discretion, and has no effect on Google Billing & Payments.
        //ProposedPurchaseOrderNumber = "PO number 12345"
    };

    // Create an operation which will add the new AccountBudgetProposal
    AccountBudgetProposalOperation operation = new AccountBudgetProposalOperation()
    {
        Create = proposal
    };

    try
    {
        // Send the request to the Account Budget Proposal Service.
        MutateAccountBudgetProposalResponse response = proposalService.
            MutateAccountBudgetProposal(customerId.ToString(), operation);

        // Display the results.
        Console.WriteLine($"Account budget proposal '{response.Result.ResourceName}' " +
            "was created.");
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}
      

পিএইচপি

public static function runExample(
    GoogleAdsClient $googleAdsClient,
    int $customerId,
    int $billingSetupId
) {
    // Constructs an account budget proposal.
    $accountBudgetProposal = new AccountBudgetProposal([
        'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId),
        'proposal_type' => AccountBudgetProposalType::CREATE,
        'proposed_name' => 'Account Budget (example)',
        // Specifies the account budget starts immediately.
        'proposed_start_time_type' => TimeType::NOW,
        // Alternatively you can specify a specific start time. Refer to the
        // AccountBudgetProposal class for allowed formats.
        //
        // 'proposed_start_date_time' => '2020-01-02 03:04:05',

        // Specify that the budget runs forever.
        'proposed_end_time_type' => TimeType::FOREVER,
        // Alternatively you can specify a specific end time. Allowed formats are as above.
        // 'proposed_end_date_time' => '2021-02-03 04:05:06',

        // Optional: set notes for the budget. These are free text and do not effect budget
        // delivery.
        // 'proposed_notes' => 'Received prepayment of $0.01',

        // Optional: set PO number for record keeping. This value is at the user's
        // discretion, and has no effect on Google Billing & Payments.
        // 'proposed_purchase_order_number' => 'PO number 12345',

        // Set the spending limit to 0.01, measured in the Google Ads account currency.
        'proposed_spending_limit_micros' => 10000
    ]);

    $accountBudgetProposalOperation = new AccountBudgetProposalOperation();
    $accountBudgetProposalOperation->setCreate($accountBudgetProposal);

    // Issues a mutate request to add the account budget proposal.
    $accountBudgetProposalServiceClient =
        $googleAdsClient->getAccountBudgetProposalServiceClient();
    $response = $accountBudgetProposalServiceClient->mutateAccountBudgetProposal(
        MutateAccountBudgetProposalRequest::build($customerId, $accountBudgetProposalOperation)
    );

    printf(
        "Added an account budget proposal with resource name '%s'.%s",
        $response->getResult()->getResourceName(),
        PHP_EOL
    );
}
      

পাইথন

def main(client, customer_id, billing_setup_id):
    account_budget_proposal_service = client.get_service(
        "AccountBudgetProposalService"
    )
    billing_setup_service = client.get_service("BillingSetupService")

    account_budget_proposal_operation = client.get_type(
        "AccountBudgetProposalOperation"
    )
    proposal = account_budget_proposal_operation.create

    proposal.proposal_type = client.enums.AccountBudgetProposalTypeEnum.CREATE
    proposal.billing_setup = billing_setup_service.billing_setup_path(
        customer_id, billing_setup_id
    )
    proposal.proposed_name = "Account Budget Proposal (example)"

    # Specify the account budget starts immediately
    proposal.proposed_start_time_type = client.enums.TimeTypeEnum.NOW
    # Alternatively you can specify a specific start time. Refer to the
    # AccountBudgetProposal resource documentation for allowed formats.
    #
    # proposal.proposed_start_date_time = '2020-01-02 03:04:05'

    # Specify that the budget runs forever
    proposal.proposed_end_time_type = client.enums.TimeTypeEnum.FOREVER
    # Alternatively you can specify a specific end time. Allowed formats are as
    # above.
    #
    # proposal.proposed_end_date_time = '2021-01-02 03:04:05'

    # Optional: set notes for the budget. These are free text and do not effect
    # budget delivery.
    #
    # proposal.proposed_notes = 'Received prepayment of $0.01'
    proposal.proposed_spending_limit_micros = 10000

    account_budget_proposal_response = (
        account_budget_proposal_service.mutate_account_budget_proposal(
            customer_id=customer_id,
            operation=account_budget_proposal_operation,
        )
    )
    print(
        "Created account budget proposal "
        f'"{account_budget_proposal_response.result.resource_name}".'
    )
      

রুবি

def add_account_budget_proposal(customer_id, billing_setup_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new


  operation = client.operation.create_resource.account_budget_proposal do |proposal|
    proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id)
    proposal.proposal_type = :CREATE
    proposal.proposed_name = 'Account Budget (example)'

    # Specify the account budget starts immediately
    proposal.proposed_start_time_type = :NOW
    # Alternatively you can specify a specific start time. Refer to the
    # AccountBudgetProposal resource documentation for allowed formats.
    #
    # proposal.proposed_start_date_time = '2020-01-02 03:04:05'

    # Specify that the budget runs forever.
    proposal.proposed_end_time_type = :FOREVER
    # Alternatively you can specify a specific end time. Allowed formats are as
    # above.
    #
    # proposal.proposed_end_date_time = '2021-01-02 03:04:05'

    # Optional: set notes for the budget. These are free text and do not affect
    # budget delivery.
    #
    # proposal.proposed_notes = 'Received prepayment of $0.01'

    # Set the spending limit to 0.01, measured in the Google Ads account currency.
    proposal.proposed_spending_limit_micros = 10_000
  end

  account_budget_proposal_service = client.service.account_budget_proposal
  # Add budget proposal.
  response = account_budget_proposal_service.mutate_account_budget_proposal(
    customer_id: customer_id,
    operation: operation,
  )

  puts sprintf("Created budget proposal %s.",
      response.results.first.resource_name)
end
      

পার্ল

sub add_account_budget_proposal {
  my ($api_client, $customer_id, $billing_setup_id) = @_;

  # Create an account budget proposal.
  my $account_budget_proposal =
    Google::Ads::GoogleAds::V16::Resources::AccountBudgetProposal->new({
      billingSetup =>
        Google::Ads::GoogleAds::V16::Utils::ResourceNames::billing_setup(
        $customer_id, $billing_setup_id
        ),
      proposalType => CREATE,
      proposedName => "Account Budget (example)",
      # Specify that the account budget starts immediately.
      proposedStartTimeType => NOW,
      # Alternatively you can specify a specific start time. Refer to the
      # AccountBudgetProposal class for allowed formats.
      #
      # proposedStartDateTime => "2020-01-02 03:04:05",

      # Specify that the account budget runs forever.
      proposedEndDateTime => FOREVER,
      # Alternatively you can specify a specific end time. Allowed formats are as below.
      # proposedEndDateTime => "2021-02-03 04:05:06",

      # Optional: set notes for the budget. These are free text and do not effect budget
      # delivery.
      # proposedNotes => "Received prepayment of $0.01",

      # Optional: set PO number for record keeping. This value is at the user's
      # discretion, and has no effect on Google Billing & Payments.
      # proposedPurchaseOrderNumber => "PO number 12345",

      # Set the spending limit to 0.01, measured in the Google Ads account currency.
      proposedSpendingLimitMicros => 10000
    });

  # Create an account budget proposal operation.
  my $account_budget_proposal_operation =
    Google::Ads::GoogleAds::V16::Services::AccountBudgetProposalService::AccountBudgetProposalOperation
    ->new({
      create => $account_budget_proposal
    });

  # Add the account budget proposal.
  my $account_budget_proposal_response =
    $api_client->AccountBudgetProposalService()->mutate({
      customerId => $customer_id,
      operation  => $account_budget_proposal_operation
    });

  printf "Created account budget proposal '%s'.\n",
    $account_budget_proposal_response->{result}{resourceName};

  return 1;
}
      

অ্যাকাউন্ট বাজেট প্রস্তাবের অনুরোধে, proposed_start_date_time এবং proposed_end_date_time সবসময় গ্রাহকের অ্যাকাউন্ট টাইমজোনে থাকে; আপনি একটি টাইমজোন নির্দিষ্ট করতে পারবেন না। প্রস্তাবিত ব্যয় সীমা সবসময় অ্যাকাউন্টের মুদ্রায় পরিমাপ করা হয়; "মাইক্রো" ইউনিট ব্যবহার করে এটি নির্দিষ্ট করুন, তাই $1.00 = 1,000,000 মাইক্রো।

ঐচ্ছিকভাবে, আপনি একটি ক্রয় আদেশ নম্বর অন্তর্ভুক্ত করতে পারেন যা চালানে এই চার্জগুলির পাশে দেখাবে৷ এটি বাজেট ডেলিভারির উপর কোন প্রভাব ফেলবে না।

একটি মুলতুবি অ্যাকাউন্ট বাজেট প্রস্তাব সরানো হচ্ছে

আপনি একটি অ্যাকাউন্ট বাজেট প্রস্তাব রিসোর্স নামের সাথে একটি AccountBudgetProposalOperation Remove অনুরোধ পাঠিয়ে একটি সম্পূর্ণ মুলতুবি থাকা বাজেট প্রস্তাব সরাতে পারেন৷ যাইহোক, নোট করুন যে বাজেট প্রস্তাবগুলি সাধারণত কয়েক মিনিটের মধ্যে প্রয়োগ করা হয়।

জাভা
AccountBudgetProposalOperation operation = AccountBudgetProposalOperation.newBuilder()
  .setRemove(StringValue.of(ResourceNames.accountBudgetProposal(customerId, accountBudgetProposalId)))
  .build();

// Send request to Google Ads API (not shown).
সি#
AccountBudgetProposalOperation operation = new AccountBudgetProposalOperation()
{
    Remove = ResourceNames.AccountBudgetProposal(customerId, accountBudgetProposalId)
};

// Send request to Google Ads API (not shown).
পিএইচপি
$accountBudgetProposalOperation = new AccountBudgetProposalOperation();
$accountBudgetProposalOperation->setRemove(ResourceNames::forAccountBudgetProposal($customerId, $accountBudgetProposalId));

// Send request to Google Ads API (not shown).
পাইথন
account_budget_proposal_service = client.get_service('AccountBudgetProposalService')
account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation')
proposal = account_budget_proposal_operation.remove
proposal.resource_name = account_budget_proposal_service.account_budget_proposal_path(customer_id, account_budget_proposal_id):

# Send request to Google Ads API (not shown).
রুবি
operation = client.operation.remove_resource.account_budget_proposal(client.path.account_budget_proposal(customer_id, account_budget_proposal_id))

# Send request to Google Ads API (not shown).
পার্ল
my $account_budget_proposal_operation =
  Google::Ads::GoogleAds::V16::Services::AccountBudgetProposalService::AccountBudgetProposalOperation
    ->new({
      remove => Google::Ads::GoogleAds::V16::Utils::ResourceNames::billing_setup(
          $customer_id, $account_budget_proposal_id
        )
    });

# Send request to Google Ads API (not shown).

আপনি যদি মূল প্রস্তাবের সাথে ভুল করে থাকেন, আপনি একটি UPDATE অপারেশন হিসাবে প্রস্তাবটি পুনরায় জমা দিতে পারেন৷ আরও তথ্যের জন্য নীচে বিদ্যমান অ্যাকাউন্ট বাজেট পরিচালনা বিভাগটি পড়ুন।

বিদ্যমান অ্যাকাউন্ট বাজেট পুনরুদ্ধার করা হচ্ছে

নিম্নলিখিত GAQL ক্যোয়ারীটি একটি অ্যাকাউন্টে বিদ্যমান অ্যাকাউন্টের বাজেটের সবগুলি নিয়ে আসে:

SELECT
  account_budget.status,
  account_budget.billing_setup,
  account_budget.approved_spending_limit_micros,
  account_budget.approved_spending_limit_type,
  account_budget.proposed_spending_limit_micros,
  account_budget.proposed_spending_limit_type,
  account_budget.adjusted_spending_limit_micros,
  account_budget.adjusted_spending_limit_type,
  account_budget.approved_start_date_time,
  account_budget.proposed_start_date_time,
  account_budget.approved_end_date_time,
  account_budget.approved_end_time_type,
  account_budget.proposed_end_date_time,
  account_budget.proposed_end_time_type
FROM
  account_budget

নোট করুন যে অ্যাকাউন্ট বাজেটের শুরুর সময়, শেষ সময় এবং ব্যয়ের সীমাকে অন্তর্ভুক্ত করে এমন ক্ষেত্রগুলিতে proposed এবং approved প্রিফিক্স সহ একাধিক বৈকল্পিক রয়েছে যা প্রাথমিকভাবে প্রস্তাবিত মানগুলির সাথে তুলনা করার অনুমতি দেয় যা অনুমোদিত হয়েছিল৷ অনুমোদিত পরিমাণে কোনো সমন্বয় প্রয়োগ করার পরে কার্যকর বর্তমান ব্যয় সীমা নির্দেশ করতে ব্যয়ের সীমাতে adjusted উপসর্গ সহ অতিরিক্ত ক্ষেত্র রয়েছে।

বাজেট ওভারডেলিভারি, অবৈধ ক্লিক কার্যকলাপ, এবং প্রচারমূলক কুপনের মতো বিভিন্ন ক্রেডিট প্রতিফলিত করতে একটি অ্যাকাউন্ট বাজেটের অনুমোদিত ব্যয়ের সীমা সময়ের সাথে সামঞ্জস্য করা যেতে পারে। অ্যাকাউন্ট বাজেট এবং অ্যাকাউন্ট ক্রেডিট এবং অ্যাডজাস্টমেন্ট সম্পর্কে আরও তথ্য Google বিজ্ঞাপন সহায়তা কেন্দ্রে পাওয়া যাবে।

যেকোন নতুন অ্যাকাউন্টের বাজেট মুলতুবি অনুমোদনের সাথে, যেকোন বিদ্যমান অ্যাকাউন্ট বাজেটের সাথে যার আপডেট মুলতুবি আছে, এছাড়াও একটি pending_proposal ক্ষেত্র থাকবে যা নির্বাচন করা যেতে পারে। এতে সংশ্লিষ্ট AccountBudgetProposal অবজেক্টের রিসোর্স আইডি থাকবে।

কোড উদাহরণ

প্রতিটি ক্লায়েন্ট লাইব্রেরির Billing ফোল্ডারে একটি কোড উদাহরণ রয়েছে যা একটি সম্পূর্ণ অনুরোধ দেখায়:

বিদ্যমান অ্যাকাউন্ট বাজেট পরিচালনা

একটি গ্রাহকের জন্য একটি অ্যাকাউন্ট বাজেট তৈরি করার পরে, আপনি বাজেটের প্যারামিটারগুলি পরিচালনা করতে AccountBudgetProposalService ব্যবহার করতে পারেন৷ সবচেয়ে সাধারণ ব্যবস্থাপনা অপারেশন হল spending_limit এবং end_date_time ক্ষেত্র আপডেট করা। পরিবর্তনযোগ্য ক্ষেত্রগুলির একটি সম্পূর্ণ তালিকার জন্য, AccountBudgetProposal নথি পড়ুন।

আপনার কাছে একটি বিদ্যমান অ্যাকাউন্ট বাজেট আপডেট করার বা সম্পূর্ণ নতুন বাজেট তৈরি করার বিকল্প রয়েছে, উভয়ই এখানে দেখানো হয়েছে।

একটি বিদ্যমান অ্যাকাউন্ট বাজেট আপডেট করুন

আপনি UPDATEAccountBudgetProposalType সেট সহ AccountBudgetProposal অবজেক্ট পাঠিয়ে বিদ্যমান অ্যাকাউন্ট বাজেট ক্ষেত্র আপডেট করতে পারেন। মনে রাখবেন যে আপনাকে অবশ্যই অপারেশনের UpdateMask আর্গুমেন্টে আপডেট করা ক্ষেত্রগুলিকে নির্দেশ করতে হবে।

নিম্নলিখিত স্নিপেট দেখায় কিভাবে একটি বিদ্যমান অ্যাকাউন্ট বাজেটের জন্য প্রস্তাবিত ব্যয় সীমা আপডেট করতে হয়।

জাভা
AccountBudgetProposal proposal = AccountBudgetProposal.newBuilder()
  .setProposalType(AccountBudgetProposalType.UPDATE)
  .setAccountBudget(accountBudget.getResourceName())
  .setProposedSpendingLimitMicros(
    accountBudget.getProposedSpendingLimitMicros().getValue() + increaseAmount)
  .build();

AccountBudgetProposalOperation operation = AccountBudgetProposalOperation.newBuilder()
  .setCreate(proposal)
  .setUpdateMask(
      FieldMask.newBuilder().addAllPaths(Arrays.asList("proposed_spending_limit")).build())
  .build();

// Send request to Google Ads API (not shown).
সি#
AccountBudgetProposal proposal = new AccountBudgetProposal()
{
  ProposalType = AccountBudgetProposalType.Update,
  AccountBudget = accountBudget.ResourceName,
  ProposedSpendingLimitMicros = accountBudget.ProposedSpendingLimitMicros + increaseAmount
};

AccountBudgetProposalOperation operation = new AccountBudgetProposalOperation()
{
  Create = proposal,
  UpdateMask = new FieldMask()
  {
    Paths = { "proposed_spending_limit" }
  }
};

// Send request to Google Ads API (not shown).
পিএইচপি
$accountBudgetProposal = new AccountBudgetProposal([
  'proposal_type' => AccountBudgetProposalType::UPDATE,
  'account_budget' => $accountBudget->getResourceName(),
  'proposed_spending_limit_micros' =>
    $accountBudget->getProposedSpendingLimitMicros() + $increaseAmount])

$accountBudgetProposalOperation = new AccountBudgetProposalOperation();
$accountBudgetProposalOperation->setCreate($accountBudgetProposal);
$accountBudgetProposalOperation->setUpdateMask(
  FieldMasks::allSetFieldsOf($accountBudgetProposal)
);

// Send request to Google Ads API (not shown).
পাইথন
account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation')

proposal = account_budget_proposal_operation.create
proposal.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').UPDATE
proposal.account_budget = account_budget
proposal.proposed_spending_limit_micros = account_budget.proposed_spending_limit_micros + increase_amount

field_mask = protobuf_helpers.field_mask(None, proposal)
account_budget_proposal_operation.update_mask.CopyFrom(field_mask)

# Send request to Google Ads API (not shown).
রুবি
proposal = client.resource.account_budget_proposal
proposal.proposal_type = :UPDATE

mask = client.field_mask.with proposal do
  proposal.account_budget = account_budget.resource_name
  proposal.proposed_spending_limit_micros = account_budget.proposed_spending_limit_micros + increase_amount
end

operation = client.operation.account_budget_proposal do |op|
  op.create = proposal
  op.update_mask = mask
end

# Send request to Google Ads API (not shown).
পার্ল
my $account_budget_proposal =
  Google::Ads::GoogleAds::V16::Resources::AccountBudgetProposal->new({
    proposalType => UPDATE,
    accountBudget => $account_budget->{resourceName},
    proposedSpendingLimitMicros => $account_budget->{proposedSpendingLimitMicros} + $increaseAmount});

my $account_budget_proposal_operation =
  Google::Ads::GoogleAds::V16::Services::AccountBudgetProposalService::AccountBudgetProposalOperation
    ->new({
      create => $account_budget_proposal,
      updateMask => all_set_fields_of($account_budget_proposal)});

# Send request to Google Ads API (not shown).

অ্যাকাউন্ট বাজেট চেইনিং

বিদ্যমান বাজেট আপডেট করার বিকল্প হিসেবে, Google Ads আপনাকে একাধিক অ্যাকাউন্টের বাজেট ধারাবাহিকভাবে চালাতে দেয়। নিম্নলিখিত উদাহরণে, একজন গ্রাহকের প্রতি মাসে আলাদা খরচের সীমা থাকে।

তিনটি AccountBudgetProposal অবজেক্ট তৈরি করে এবং AccountBudgetProposalService এ পাঠানোর মাধ্যমে এটি অর্জন করা যেতে পারে।

নিচের স্নিপেটটি একটি বিদ্যমান বিলিং সেটআপ ব্যবহার করে এই ধরনের একটি চেইন তৈরির প্রদর্শন করে।

জাভা
AccountBudgetProposal proposalMay = AccountBudgetProposal.newBuilder()
  .setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId))
  .setProposalType(AccountBudgetProposalType.CREATE)
  .setProposedName("May budget")
  .setProposedStartDateTime("2018-05-01")
  .setProposedEndDateTime("2018-06-01")
  .setProposedSpendingLimitMicros(1_000_000_000L)
  .build();

AccountBudgetProposal proposalJune = AccountBudgetProposal.newBuilder()
  .setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId))
  .setProposalType(AccountBudgetProposalType.CREATE)
  .setProposedName("June budget")
  .setProposedStartDateTime("2018-06-01")
  .setProposedEndDateTime("2018-07-01")
  .setProposedSpendingLimitMicros(5_000_000_000L)
  .build();

AccountBudgetProposal proposalJuly = AccountBudgetProposal.newBuilder()
  .setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId))
  .setProposalType(AccountBudgetProposalType.CREATE)
  .setProposedName("July budget")
  .setProposedStartDateTime("2018-07-01")
  .setProposedEndDateTime("2018-08-01")
  .setProposedSpendingLimitMicros(1_000_000_000L)
  .build();

// Send request to Google Ads API (not shown).
সি#
AccountBudgetProposal proposalMay = new AccountBudgetProposal()
{
  BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId),
  ProposalType = AccountBudgetProposalType.Create,
  ProposedName = "May budget",
  ProposedStartDateTime = "2018-05-01",
  ProposedEndDateTime = "2018-06-01",
  ProposedSpendingLimitMicros = 1_000_000_000
}

AccountBudgetProposal proposalJune = new AccountBudgetProposal()
{
  BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId),
  ProposalType = AccountBudgetProposalType.Create,
  ProposedName = "June budget",
  ProposedStartDateTime = "2018-06-01",
  ProposedEndDateTime = "2018-07-01",
  ProposedSpendingLimitMicros = 5_000_000_000
}

AccountBudgetProposal proposalJuly = new AccountBudgetProposal()
{
  BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId),
  ProposalType = AccountBudgetProposalType.Create,
  ProposedName = "July budget",
  ProposedStartDateTime = "2018-07-01",
  ProposedEndDateTime = "2018-08-01",
  ProposedSpendingLimitMicros = 1_000_000_000
}

// Send request to Google Ads API (not shown).
পিএইচপি
$proposalMay = new AccountBudgetProposal([
  'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId),
  'proposal_type' => AccountBudgetProposalType::CREATE,
  'proposed_name' => 'May budget',
  'proposed_start_date_time' => '2018-05-01',
  'proposed_end_date_time' => '2018-06-01',
  'proposed_spending_limit_micros' => 1000000000
]);

$proposalJune = new AccountBudgetProposal([
  'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId),
  'proposal_type' => AccountBudgetProposalType::CREATE,
  'proposed_name' => 'June budget',
  'proposed_start_date_time' => '2018-06-01',
  'proposed_end_date_time' => '2018-07-01',
  'proposed_spending_limit_micros' => 5000000000
]);

$proposalJuly = new AccountBudgetProposal([
  'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId),
  'proposal_type' => AccountBudgetProposalType::CREATE,
  'proposed_name' => 'July budget',
  'proposed_start_date_time' => '2018-07-01',
  'proposed_end_date_time' => '2018-08-01',
  'proposed_spending_limit_micros' => 1000000000
]);

// Send request to Google Ads API (not shown).
পাইথন
may_account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation')
proposalMay = may_account_budget_proposal_operation.create
proposalMay.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').CREATE
proposalMay.billing_setup = billing_setup_service.billing_setup_path(customer_id, billing_setup_id)
proposalMay.proposed_name = 'May budget'
proposalMay.proposed_start_date_time = '2018-05-01'
proposalMay.proposed_end_date_time = '2018-06-01'
proposalMay.proposed_spending_limit_micros = 1000000000

june_account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation')
proposalJune = may_account_budget_proposal_operation.create
proposalJune.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').CREATE
proposalJune.billing_setup = billing_setup_service.billing_setup_path(customer_id, billing_setup_id)
proposalJune.proposed_name = 'June budget'
proposalJune.proposed_start_date_time = '2018-06-01'
proposalJune.proposed_end_date_time = '2018-07-01'
proposalJune.proposed_spending_limit_micros = 5000000000

july_account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation')
proposalJuly = may_account_budget_proposal_operation.create
proposalJuly.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').CREATE
proposalJuly.billing_setup = billing_setup_service.billing_setup_path(customer_id, billing_setup_id)
proposalJuly.proposed_name = 'July budget'
proposalJuly.proposed_start_date_time = '2018-07-01'
proposalJuly.proposed_end_date_time = '2018-08-01'
proposalJuly.proposed_spending_limit_micros = 1000000000

# Send request to Google Ads API (not shown).
রুবি
proposal_may = client.operation.create_resource.account_budget_proposal do |proposal|
  proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id)
  proposal.proposal_type = :CREATE
  proposal.proposed_name = 'May budget'
  proposal.proposed_start_date_time = '2018-05-01'
  proposal.proposed_end_date_time = '2018-06-01'
  proposal.proposed_spending_limit_micros = 1_000_000_000
end

proposal_june = client.operation.create_resource.account_budget_proposal do |proposal|
  proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id)
  proposal.proposal_type = :CREATE
  proposal.proposed_name = 'June budget'
  proposal.proposed_start_date_time = '2018-06-01'
  proposal.proposed_end_date_time = '2018-07-01'
  proposal.proposed_spending_limit_micros = 5_000_000_000
end

proposal_july = client.operation.create_resource.account_budget_proposal do |proposal|
  proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id)
  proposal.proposal_type = :CREATE
  proposal.proposed_name = 'July budget'
  proposal.proposed_start_date_time = '2018-07-01'
  proposal.proposed_end_date_time = '2018-08-01'
  proposal.proposed_spending_limit_micros = 1_000_000_000
end

# Send request to Google Ads API (not shown).
পার্ল
my $may_proposal =
  Google::Ads::GoogleAds::V16::Resources::AccountBudgetProposal->new({
    billingSetup =>
      Google::Ads::GoogleAds::V16::Utils::ResourceNames::billing_setup(
      $customer_id, $billing_setup_id
      ),
    proposalType => CREATE,
    proposedName => "May budget",
    proposedStartDateTime => "2018-05-01",
    proposedEndDateTime => "2018-06-01",
    proposedSpendingLimitMicros => 1000000000
  });

my $june_proposal =
  Google::Ads::GoogleAds::V16::Resources::AccountBudgetProposal->new({
    billingSetup =>
      Google::Ads::GoogleAds::V16::Utils::ResourceNames::billing_setup(
      $customer_id, $billing_setup_id
      ),
    proposalType => CREATE,
    proposedName => "June budget",
    proposedStartDateTime => "2018-06-01",
    proposedEndDateTime => "2018-07-01",
    proposedSpendingLimitMicros => 5000000000
  });

my $july_proposal =
  Google::Ads::GoogleAds::V16::Resources::AccountBudgetProposal->new({
    billingSetup =>
      Google::Ads::GoogleAds::V16::Utils::ResourceNames::billing_setup(
      $customer_id, $billing_setup_id
      ),
    proposalType => CREATE,
    proposedName => "July budget",
    proposedStartDateTime => "2018-07-01",
    proposedEndDateTime => "2018-08-01",
    proposedSpendingLimitMicros => 1000000000
  });

# Send request to Google Ads API (not shown).

প্রতিটি প্রস্তাবে AccountBudgetProposalType.CREATE এর ব্যবহার লক্ষ্য করুন। এটি একই বাজেট তিনবার আপডেট করার পরিবর্তে তিনটি স্বতন্ত্র বাজেট তৈরি করবে।

অ্যাকাউন্ট বাজেট বন্ধ করা হচ্ছে

অ্যাকাউন্ট বাজেট সক্রিয় থাকাকালীন শেষ করা যেতে পারে, এবং শুরু হওয়ার আগে বা মুলতুবি অনুমোদনের সময় সম্পূর্ণরূপে সরানো যেতে পারে।

সক্রিয় অ্যাকাউন্টের বাজেট শেষ হচ্ছে

সক্রিয় অ্যাকাউন্ট বাজেট সরানো যাবে না. যাইহোক, আপনি বর্তমান সময়ে শেষ সময় সেট করতে পারেন। এটি অর্জন করার সবচেয়ে সহজ উপায় হল AccountBudgetProposalType.END দিয়ে একটি প্রস্তাব পাঠানো।

নিম্নলিখিত স্নিপেট দেখায় কিভাবে একটি বিদ্যমান অ্যাকাউন্ট বাজেট শেষ করতে হয়।

জাভা
AccountBudgetProposal.newBuilder()
  .setProposalType(AccountBudgetProposalType.END)
  .setAccountBudget(accountBudget.getResourceName())
  .build();

// Send request to Google Ads API (not shown).
সি#
AccountBudgetProposal proposal = new AccountBudgetProposal()
{
  ProposalType = AccountBudgetProposalType.End,
  AccountBudget = accountBudget.ResourceName
};

// Send request to Google Ads API (not shown).
পিএইচপি
$accountBudgetProposal = new AccountBudgetProposal([
  'proposal_type' => AccountBudgetProposalType::END,
  'account_budget' => $accountBudget->getResourceName()
])

// Send request to Google Ads API (not shown).
পাইথন
account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation')
proposal = account_budget_proposal_operation.create
proposal.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').END
proposal.account_budget = account_budget

# Send request to Google Ads API (not shown).
রুবি
proposal = client.resource.account_budget_proposal
proposal.proposal_type = :END
proposal.account_budget = account_budget.resource_name

# Send request to Google Ads API (not shown).
পার্ল
my $account_budget_proposal =
  Google::Ads::GoogleAds::V16::Resources::AccountBudgetProposal->new({
    proposalType => END,
    accountBudget => $account_budget->{resourceName});

# Send request to Google Ads API (not shown).

এটি TimeType.NOW এ শেষ তারিখের সময় সেট করে একটি অ্যাকাউন্ট বাজেট আপডেট করার সমতুল্য।

একটি অনুমোদিত অ্যাকাউন্ট বাজেট তার শুরুর সময়ের আগে সরানো

আপনি যদি ভবিষ্যতে শুরু করার জন্য একটি অ্যাকাউন্ট বাজেটের প্রস্তাব করেন, তাহলে আপনি একটি AccountBudgetProposalType.REMOVE প্রস্তাবের ধরন পাঠিয়ে শুরুর সময়ের আগে এটি সম্পূর্ণভাবে সরিয়ে ফেলতে পারেন।

নিম্নলিখিত স্নিপেট একটি বিদ্যমান ভবিষ্যতের অ্যাকাউন্ট বাজেট অপসারণ প্রদর্শন করে।

জাভা
AccountBudgetProposal.newBuilder()
  .setProposalType(AccountBudgetProposalType.REMOVE)
  .setAccountBudget(accountBudget.getResourceName())
  .build();

// Send request to Google Ads API (not shown).
সি#
AccountBudgetProposal proposal = new AccountBudgetProposal()
{
  ProposalType = AccountBudgetProposalType.Remove,
  AccountBudget = accountBudget.ResourceName
};

// Send request to Google Ads API (not shown).
পিএইচপি
$accountBudgetProposal = new AccountBudgetProposal([
  'proposal_type' => AccountBudgetProposalType::REMOVE,
  'account_budget' => $accountBudget->getResourceName()
])

// Send request to Google Ads API (not shown).
পাইথন
account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation')
proposal = account_budget_proposal_operation.create
proposal.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').REMOVE
proposal.account_budget = account_budget

# Send request to Google Ads API (not shown).
রুবি
proposal = client.resource.account_budget_proposal
proposal.proposal_type = :REMOVE
proposal.account_budget = account_budget.resource_name

# Send request to Google Ads API (not shown).
পার্ল
my $account_budget_proposal =
  Google::Ads::GoogleAds::V16::Resources::AccountBudgetProposal->new({
    proposalType => REMOVE,
    accountBudget => $account_budget->{resourceName});

# Send request to Google Ads API (not shown).