งบประมาณบัญชีจะควบคุมการใช้จ่ายของบัญชีในช่วงระยะเวลาหนึ่งๆ โดยกําหนดพร็อพเพอร์ตี้งบประมาณ เช่น ขีดจํากัดการใช้จ่าย เวลาเริ่มต้น และเวลาสิ้นสุด โดยต้องชี้ไปยังการตั้งค่าการเรียกเก็บเงินของบัญชีใดบัญชีหนึ่งเพื่อระบุบัญชีการชำระเงินที่เฉพาะเจาะจงที่จะเรียกเก็บเงิน คุณสามารถสร้าง อัปเดต และนํา AccountBudget
ออกได้โดยส่งออบเจ็กต์ AccountBudgetProposal
ออบเจ็กต์ AccountBudget
แสดงผลลัพธ์สุดท้ายของการใช้ข้อเสนอ หลังจากข้อเสนอได้รับอนุมัติแล้ว การเปลี่ยนแปลง (ขึ้นอยู่กับการปรับค่าใช้จ่าย) จะส่งผลให้มีการสร้างงบประมาณบัญชีใหม่หรืออัปเดตงบประมาณที่มีอยู่ การดำเนินการนี้ขึ้นอยู่กับ
proposal_type
ที่ระบุไว้ในคำขอ
AccountBudgetProposalType |
คำอธิบาย |
---|---|
CREATE |
สร้างงบประมาณบัญชีใหม่ ซึ่งต้องได้รับอนุมัติก่อนใช้งาน |
UPDATE |
แก้ไขงบประมาณบัญชีที่มีอยู่ |
END |
ตั้งค่าเวลาสิ้นสุดของงบประมาณบัญชีเป็นเวลาปัจจุบัน |
REMOVE |
นำงบประมาณบัญชีออกก่อนเวลาเริ่มต้น |
ส่วนด้านล่างจะอธิบายลักษณะการทํางานของข้อเสนอแต่ละประเภท
การสร้างข้อเสนองบประมาณบัญชี
การสร้างงบประมาณบัญชีใหม่ช่วยให้คุณควบคุมพฤติกรรมการใช้จ่ายของลูกค้าได้ ใช้ AccountBudgetProposalService
เพื่อสร้าง AccountBudgetProposal
ใหม่ คุณควรตั้งค่า proposal_type
เป็น CREATE
เพื่อระบุว่าควรสร้างงบประมาณใหม่ ดูการดำเนินการอื่นๆ ได้ที่ส่วนการจัดการของคู่มือนี้
อย่าลืมใช้การตั้งค่าการเรียกเก็บเงินกับบัญชีการชำระเงินที่คุณมีสิทธิ์เขียน ดูรายละเอียดได้ในคู่มือการตั้งค่าการเรียกเก็บเงิน
ตัวอย่างต่อไปนี้แสดงวิธีสร้างการเสนองบประมาณใหม่
Java
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()); } }
C#
public void Run(GoogleAdsClient client, long customerId, long billingSetupId) { // Get the AccountBudgetProposalServiceClient. AccountBudgetProposalServiceClient proposalService = client.GetService(Services.V18.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; } }
PHP
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 ); }
Python
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}".' )
Ruby
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
Perl
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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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::V18::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::V18::Services::AccountBudgetProposalService::AccountBudgetProposalOperation ->new({ remove => Google::Ads::GoogleAds::V18::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 Ads
งบประมาณบัญชีใหม่ซึ่งรอการอนุมัติ รวมถึงงบประมาณบัญชีที่มีอยู่ซึ่งรอการอัปเดต จะมีช่อง pending_proposal
ที่เลือกได้ โดยจะมีรหัสทรัพยากรของออบเจ็กต์ AccountBudgetProposal
ที่เชื่อมโยง
การจัดการงบประมาณบัญชีที่มีอยู่
หลังจากสร้างงบประมาณบัญชีให้กับลูกค้าแล้ว คุณจะใช้ AccountBudgetProposalService
เพื่อจัดการพารามิเตอร์งบประมาณได้ การดำเนินการจัดการที่พบบ่อยที่สุดคือการอัปเดตช่อง spending_limit
และ end_date_time
ดูรายการฟิลด์ที่เปลี่ยนแปลงได้ทั้งหมดได้ในเอกสาร AccountBudgetProposal
คุณมีตัวเลือกในการอัปเดตงบประมาณบัญชีที่มีอยู่หรือสร้างงบประมาณใหม่ทั้งหมด โดยทั้ง 2 ตัวเลือกจะแสดงที่นี่
อัปเดตงบประมาณบัญชีที่มีอยู่
คุณสามารถอัปเดตช่องงบประมาณบัญชีที่มีอยู่ได้โดยส่งออบเจ็กต์ AccountBudgetProposal
โดยตั้งค่า AccountBudgetProposalType
เป็น UPDATE
โปรดทราบว่าคุณต้องระบุฟิลด์ที่จะอัปเดตในอาร์กิวเมนต์ 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::V18::Resources::AccountBudgetProposal->new({ proposalType => UPDATE, accountBudget => $account_budget->{resourceName}, proposedSpendingLimitMicros => $account_budget->{proposedSpendingLimitMicros} + $increaseAmount}); my $account_budget_proposal_operation = Google::Ads::GoogleAds::V18::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
3 รายการแล้วส่งไปยัง 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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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
ในข้อเสนอแต่ละรายการ ซึ่งจะสร้างงบประมาณ 3 รายการที่แตกต่างกัน แทนที่จะอัปเดตงบประมาณเดียวกัน 3 ครั้ง
การสิ้นสุดงบประมาณบัญชี
งบประมาณบัญชีจะสิ้นสุดได้ขณะที่ใช้งานอยู่ และนำออกทั้งหมดได้ก่อนที่จะเริ่มหรือขณะรอการอนุมัติ
การสิ้นสุดงบประมาณบัญชีที่ใช้งานอยู่
คุณนำงบประมาณบัญชีที่ใช้งานอยู่ออกไม่ได้ แต่คุณตั้งเวลาสิ้นสุดเป็นปัจจุบันได้ วิธีที่ง่ายที่สุดในการดําเนินการนี้คือการส่งข้อเสนอพร้อม 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::V18::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::V18::Resources::AccountBudgetProposal->new({ proposalType => REMOVE, accountBudget => $account_budget->{resourceName}); # Send request to Google Ads API (not shown).