Budżety konta określają, jakie wydatki konto może wydać w określonym czasie
definiując właściwości budżetu, takie jak limit wydatków oraz czas rozpoczęcia i zakończenia. Ta
musi wskazywać jedną z konfiguracji płatności na koncie i wskazywać
Obciążymy konto płatności. Możesz tworzyć, aktualizować i usuwać
AccountBudget
, wysyłając
AccountBudgetProposal
obiektów.
AccountBudget
obiektów odzwierciedla wynik końcowy.
dotyczące stosowania propozycji. Po zatwierdzeniu oferty pakietowej zmienia się (z zastrzeżeniem
korekty) spowoduje utworzenie nowego budżetu konta lub
zmienić go na istniejący. Zależy to od
proposal_type
określone w żądaniu.
AccountBudgetProposalType |
Opis |
---|---|
CREATE |
Tworzy nowy budżet konta, który musi zostać zatwierdzony przed użyciem. |
UPDATE |
Modyfikuje istniejący budżet konta. |
END |
Ustawia czas zakończenia budżetu konta na bieżący czas. |
REMOVE |
Usuwa budżet konta przed czasem jego rozpoczęcia. |
W sekcjach poniżej znajdziesz opis działania poszczególnych typów ofert pakietowych.
Tworzenie propozycji budżetu konta
Utworzenie nowego budżetu konta pozwala kontrolować wydatki klienta
zachowanie użytkownika. Użyj
AccountBudgetProposalService
aby utworzyć nowy
AccountBudgetProposal
Należy ustawić
proposal_type
do
CREATE
, aby wskazać, że należy utworzyć nowy budżet. Zapoznaj się z
zarządzania w tym przewodniku.
Pamiętaj, aby użyć konfiguracji płatności na koncie płatności, na którym masz zapisane dostęp. Zapoznaj się z przewodnikiem po konfiguracji płatności, .
Z przykładu poniżej dowiesz się, jak utworzyć nową ofertę pakietową budżetu.
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.V17.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::V17::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V17::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::V17::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; }
Prośby o ofertę pakietową budżetu konta
proposed_start_date_time
oraz
proposed_end_date_time
Muszą być zawsze zgodne ze strefą czasową konta klienta. nie można określić strefy czasowej.
proponowany limit wydatków
jest zawsze mierzona w walucie konta; Określ to za pomocą parametru „micro” jednostek,
czyli 1 USD = 1 000 000 mikro.
Opcjonalnie możesz dodać numer zamówienia, który będzie wyświetlany obok te opłaty na fakturze. Nie ma to wpływu na realizację budżetu.
Usuwanie oczekującej propozycji budżetu konta
Aby usunąć całą oczekującą propozycję budżetu, możesz wysłać
AccountBudgetProposalOperation Remove
z nazwą zasobu w ofercie pakietowej budżetu konta. Pamiętaj jednak,
że propozycje budżetowe są zazwyczaj stosowane w ciągu kilku minut.
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::V17::Services::AccountBudgetProposalService::AccountBudgetProposalOperation ->new({ remove => Google::Ads::GoogleAds::V17::Utils::ResourceNames::billing_setup( $customer_id, $account_budget_proposal_id ) }); # Send request to Google Ads API (not shown).
Jeśli popełnisz błąd w pierwotnej ofercie, możesz ponownie przesłać
ofertę pakietową jako operację UPDATE
. Zapoznaj się z
Więcej informacji znajdziesz w sekcji Zarządzanie istniejącymi budżetami konta poniżej.
Pobieram istniejące budżety konta
To zapytanie GAQL pobiera wszystkie istniejące budżety kont na koncie:
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
Należy pamiętać, że pola zawierające czas rozpoczęcia, zakończenia i zakończenia budżetu konta
limit wydatków ma kilka wariantów z prefiksami takimi jak proposed
approved
, które umożliwiają porównanie wartości zaproponowanych na początku
zatwierdzone. Limit wydatków zawiera dodatkowe pola:
Prefiks adjusted
wskazujący bieżący limit wydatków obowiązujący po dowolnym
zastosowano dostosowania do zatwierdzonej kwoty.
Zatwierdzony limit wydatków w ramach budżetu konta można z czasem dostosować, odzwierciedlają różne kredyty m.in. za nadmierne wyświetlenia w budżecie, nieprawidłowe kliknięcia, aktywności i kuponów promocyjnych. Więcej informacji o budżetach kont, środki na koncie i korekty znajdziesz w Centrum pomocy Google Ads.
Wszystkie nowe budżety kont oczekujące na zatwierdzenie oraz istniejące konta
budżety z oczekującymi aktualizacjami będą też zawierać parametr
Pole pending_proposal
które można wybrać. Będzie on zawierać
identyfikator zasobu
z powiązanych AccountBudgetProposal
obiektu.
Przykłady kodu
Folder Billing
każdej biblioteki klienta zawiera przykładowy kod z pełnym żądaniem:
Zarządzanie istniejącymi budżetami konta
Po utworzeniu budżetu konta dla klienta możesz użyć
AccountBudgetProposalService
do
i zarządzać parametrami budżetu. Najczęściej wykonywane operacje zarządzania to:
zaktualizuj pola spending_limit
i end_date_time
. Pełną listę
zmiennych, które można określić, zapoznaj się z
AccountBudgetProposal
dokument.
Możesz zaktualizować istniejący budżet konta lub utworzyć i całkowicie nowy budżet.
Aktualizacja obecnego budżetu konta
Istniejące pola budżetu konta możesz zaktualizować, wysyłając
AccountBudgetProposal
obiektów z
AccountBudgetProposalType
ustawiono na UPDATE
. Należy także wskazać pola, które mają zostać zaktualizowane w
argumentu UpdateMask
operacji.
Fragment kodu poniżej pokazuje, jak zaktualizować proponowany limit wydatków dla istniejącego budżetu konta.
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::V17::Resources::AccountBudgetProposal->new({ proposalType => UPDATE, accountBudget => $account_budget->{resourceName}, proposedSpendingLimitMicros => $account_budget->{proposedSpendingLimitMicros} + $increaseAmount}); my $account_budget_proposal_operation = Google::Ads::GoogleAds::V17::Services::AccountBudgetProposalService::AccountBudgetProposalOperation ->new({ create => $account_budget_proposal, updateMask => all_set_fields_of($account_budget_proposal)}); # Send request to Google Ads API (not shown).
Łańcuch budżetu konta
Zamiast aktualizacji obecnego budżetu, Google Ads umożliwia łańcuchowe wiele budżetów kont wyświetlanych jeden po drugim. W poniższym przykładzie klient ma inny limit wydatków w każdym miesiącu.
Można to osiągnąć, tworząc trzy
AccountBudgetProposal
obiektów oraz
odsyłając ich do
AccountBudgetProposalService
Fragment kodu poniżej pokazuje, jak utworzyć taki łańcuch z użyciem istniejącego konfigurację płatności.
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::V17::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V17::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::V17::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V17::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::V17::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V17::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).
Zwróć uwagę na zastosowanie funkcji
AccountBudgetProposalType.CREATE
z każdej oferty. Spowoduje to utworzenie 3 różnych budżetów, bez zmiany
trzykrotnie taki sam budżet.
Kończenie budżetów kont
Budżety konta mogą zostać zakończone, gdy są aktywne, i całkowicie usunięte przed rozpoczęcie lub w trakcie oczekiwania na zatwierdzenie.
Zakończenie aktywnego budżetu konta
Nie można usunąć aktywnego budżetu konta. Możesz jednak ustawić godzinę zakończenia,
do aktualnej godziny. Najprostszym sposobem, aby to osiągnąć, jest wysłanie oferty pakietowej
AccountBudgetProposalType.END
Ten fragment kodu pokazuje, jak zakończyć istniejący budżet konta.
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::V17::Resources::AccountBudgetProposal->new({ proposalType => END, accountBudget => $account_budget->{resourceName}); # Send request to Google Ads API (not shown).
Jest to odpowiednik ustawienia budżetu konta przez ustawienie końca
datę i godzinę do TimeType.NOW
.
Usuwanie zatwierdzonego budżetu konta przed czasem rozpoczęcia
Jeśli zaproponowałeś(-aś) budżet konta na początek w przyszłości, możesz go usunąć
całkowicie przed czasem rozpoczęcia, wysyłając wiadomość
AccountBudgetProposalType.REMOVE
typ oferty pakietowej.
Ten fragment ilustruje usunięcie istniejącego konta w przyszłości budżetu.
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::V17::Resources::AccountBudgetProposal->new({ proposalType => REMOVE, accountBudget => $account_budget->{resourceName}); # Send request to Google Ads API (not shown).