بودجه میتواند به یک کمپین واحد اختصاص داده شود، یا بین چندین کمپین به اشتراک گذاشته شود.
راهاندازی
وقتی با استفاده از API گوگل ادز، یک CampaignBudget
جدید ایجاد میکنید ، میتوانید با استفاده از BoolValue
در فیلد explicitly_shared
مشخص کنید که آیا قابل اشتراکگذاری است یا خیر:
-
true
(پیشفرض): میتواند بین چندین کمپین به اشتراک گذاشته شود -
false
: فقط توسط یک کمپین قابل استفاده است
بودجههای اشتراکی صریح در کتابخانه اشتراکی حساب کاربری در رابط کاربری گوگل ادز نمایش داده میشوند، در حالی که بودجه غیر اشتراکی فقط در تنظیمات کمپین مرتبط با آن نمایش داده میشود.
در مثال زیر که یک بودجه جدید ایجاد میشود، بودجه به اشتراک گذاشته میشود زیرا explicitly_shared
روی true
تنظیم شده است.
جاوا
private String createSharedCampaignBudget(GoogleAdsClient googleAdsClient, long customerId) { try (CampaignBudgetServiceClient campaignBudgetServiceClient = googleAdsClient.getLatestVersion().createCampaignBudgetServiceClient()) { // Creates a shared budget. CampaignBudget budget = CampaignBudget.newBuilder() .setName("Shared Interplanetary Budget #" + getPrintableDateTime()) .setAmountMicros(50_000_000L) .setDeliveryMethod(BudgetDeliveryMethod.STANDARD) .setExplicitlyShared(true) .build(); // Constructs an operation that will create a shared budget. CampaignBudgetOperation operation = CampaignBudgetOperation.newBuilder().setCreate(budget).build(); // Sends the operation in a mutate request. MutateCampaignBudgetsResponse response = campaignBudgetServiceClient.mutateCampaignBudgets( Long.toString(customerId), Lists.newArrayList(operation)); MutateCampaignBudgetResult mutateCampaignBudgetResult = response.getResults(0); // Prints the resource name of the created object. System.out.printf( "Created shared budget with resource name: '%s'.%n", mutateCampaignBudgetResult.getResourceName()); return mutateCampaignBudgetResult.getResourceName(); } }
سی شارپ
private string CreateSharedBudget(GoogleAdsClient client, long customerId, string name, long amount) { // Get the CampaignBudgetService. CampaignBudgetServiceClient campaignBudgetService = client.GetService(Services.V22.CampaignBudgetService); // Create a shared budget. CampaignBudget budget = new CampaignBudget() { Name = name, AmountMicros = amount, DeliveryMethod = BudgetDeliveryMethodEnum.Types.BudgetDeliveryMethod.Standard, ExplicitlyShared = true }; // Create the operation. CampaignBudgetOperation campaignBudgetOperation = new CampaignBudgetOperation() { Create = budget }; // Make the mutate request. MutateCampaignBudgetsResponse retVal = campaignBudgetService.MutateCampaignBudgets( customerId.ToString(), new CampaignBudgetOperation[] { campaignBudgetOperation }); return retVal.Results[0].ResourceName; }
پی اچ پی
private static function createSharedCampaignBudget( GoogleAdsClient $googleAdsClient, int $customerId ) { // Creates a shared budget. $budget = new CampaignBudget([ 'name' => 'Shared Interplanetary Budget #' . Helper::getPrintableDatetime(), 'delivery_method' => BudgetDeliveryMethod::STANDARD, // Sets the amount of budget. 'amount_micros' => 50000000, // Makes the budget explicitly shared. 'explicitly_shared' => true ]); // Constructs a campaign budget operation. $campaignBudgetOperation = new CampaignBudgetOperation(); $campaignBudgetOperation->setCreate($budget); // Issues a mutate request to create the budget. $campaignBudgetServiceClient = $googleAdsClient->getCampaignBudgetServiceClient(); $response = $campaignBudgetServiceClient->mutateCampaignBudgets( MutateCampaignBudgetsRequest::build($customerId, [$campaignBudgetOperation]) ); /** @var CampaignBudget $addedBudget */ $addedBudget = $response->getResults()[0]; printf( "Created a shared budget with resource name '%s'.%s", $addedBudget->getResourceName(), PHP_EOL ); return $addedBudget->getResourceName(); }
پایتون
# Create a budget, which can be shared by multiple campaigns. campaign_budget_operation: CampaignBudgetOperation = client.get_type( "CampaignBudgetOperation" ) campaign_budget: CampaignBudget = campaign_budget_operation.create campaign_budget.name = f"Interplanetary Budget {uuid.uuid4()}" campaign_budget.delivery_method = ( client.enums.BudgetDeliveryMethodEnum.STANDARD ) campaign_budget.amount_micros = 500000 campaign_budget.explicitly_shared = True # Add budget. try: campaign_budget_response: MutateCampaignBudgetsResponse = ( campaign_budget_service.mutate_campaign_budgets( customer_id=customer_id, operations=[campaign_budget_operation] ) ) campaign_budget_id: str = campaign_budget_response.results[ 0 ].resource_name print(f'Budget "{campaign_budget_id}" was created.') except GoogleAdsException as ex: handle_googleads_exception(ex)
روبی
# Create a budget, which can be shared by multiple campaigns. budget = client.resource.campaign_budget do |cb| cb.name = "Interplanetary budget ##{(Time.new.to_f * 1000).to_i}" cb.amount_micros = 50_000_000 cb.delivery_method = :STANDARD cb.explicitly_shared = true end operation = client.operation.create_resource.campaign_budget(budget) response = client.service.campaign_budget.mutate_campaign_budgets( customer_id: customer_id, operations: [operation], ) budget_id = response.results.first.resource_name
پرل
sub create_shared_campaign_buget { my ($api_client, $customer_id) = @_; # Create a shared budget. my $campaign_budget = Google::Ads::GoogleAds::V22::Resources::CampaignBudget->new({ name => "Shared Interplanetary Budget #" . uniqid(), deliveryMethod => STANDARD, # Set the amount of budget. amountMicros => 50000000, # Makes the budget explicitly shared. explicitlyShared => 'true' }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V22::Services::CampaignBudgetService::CampaignBudgetOperation ->new({create => $campaign_budget}); # Add the campaign budget. my $campaign_budgets_response = $api_client->CampaignBudgetService()->mutate({ customerId => $customer_id, operations => [$campaign_budget_operation]}); my $campaign_budget_resource_name = $campaign_budgets_response->{results}[0]{resourceName}; printf "Created a shared budget with resource name: '%s'.\n", $campaign_budget_resource_name; return $campaign_budget_resource_name; }
تعیین اینکه آیا بودجه کمپین به اشتراک گذاشته شده است یا خیر
شما میتوانید با جستجوی فیلد campaign_budget.explicitly_shared
مقدار تنظیم بودجه را بازیابی کنید. در اینجا کوئری GAQL برای این فیلد، با فیلتر کردن بر اساس شناسه بودجه، آمده است:
SELECT campaign_budget.explicitly_shared FROM campaign_budget WHERE campaign_budget.id = campaign_budget_id