การกำหนดงบประมาณแคมเปญ

กำหนดงบประมาณให้กับแคมเปญ

หลังจาก สร้าง CampaignBudget กับ CampaignBudgetService หรือ ระบุรายการที่มีอยู่ คุณต้องใช้ resource_name ในการเรียกครั้งต่อๆ มาไปยัง CampaignService โปรดทราบว่าคุณอาจได้รับ งบประมาณที่ไม่มีเจ้าของ (งบประมาณที่ไม่เกี่ยวข้องกับแคมเปญ) เมื่อแคมเปญ การกำหนดล้มเหลว แต่การสร้างงบประมาณสำเร็จ พ แนะนำให้คุณใช้ซ้ำหรือนำออก งบประมาณดังกล่าว

แคมเปญใหม่

สำหรับแคมเปญใหม่ ในฟิลด์ CampaignOperation.create ตั้งค่าอัน campaign_budget ของฟิลด์ Campaign ชื่อทรัพยากรงบประมาณ ดังที่แสดงในตัวอย่างโค้ดด้านล่าง

Java

// Creates the campaign.
Campaign campaign =
    Campaign.newBuilder()
        .setName("Interplanetary Cruise #" + getPrintableDateTime())
        .setAdvertisingChannelType(AdvertisingChannelType.SEARCH)
        // Recommendation: Set the campaign to PAUSED when creating it to prevent
        // the ads from immediately serving. Set to ENABLED once you've added
        // targeting and the ads are ready to serve
        .setStatus(CampaignStatus.PAUSED)
        // Sets the bidding strategy and budget.
        .setManualCpc(ManualCpc.newBuilder().build())
        .setCampaignBudget(budgetResourceName)
        // Adds the networkSettings configured above.
        .setNetworkSettings(networkSettings)
        // Optional: Sets the start & end dates.
        .setStartDate(new DateTime().plusDays(1).toString("yyyyMMdd"))
        .setEndDate(new DateTime().plusDays(30).toString("yyyyMMdd"))
        .build();
      

C#

// Create the campaign.
Campaign campaign = new Campaign()
{
    Name = "Interplanetary Cruise #" + ExampleUtilities.GetRandomString(),
    AdvertisingChannelType = AdvertisingChannelType.Search,

    // Recommendation: Set the campaign to PAUSED when creating it to prevent
    // the ads from immediately serving. Set to ENABLED once you've added
    // targeting and the ads are ready to serve
    Status = CampaignStatus.Paused,

    // Set the bidding strategy and budget.
    ManualCpc = new ManualCpc(),
    CampaignBudget = budget,

    // Set the campaign network options.
    NetworkSettings = new NetworkSettings
    {
        TargetGoogleSearch = true,
        TargetSearchNetwork = true,
        // Enable Display Expansion on Search campaigns. See
        // https://support.google.com/google-ads/answer/7193800 to learn more.
        TargetContentNetwork = true,
        TargetPartnerSearchNetwork = false
    },

    // Optional: Set the start date.
    StartDate = DateTime.Now.AddDays(1).ToString("yyyyMMdd"),

    // Optional: Set the end date.
    EndDate = DateTime.Now.AddYears(1).ToString("yyyyMMdd"),
};
      

PHP

$campaign = new Campaign([
    'name' => 'Interplanetary Cruise #' . Helper::getPrintableDatetime(),
    'advertising_channel_type' => AdvertisingChannelType::SEARCH,
    // Recommendation: Set the campaign to PAUSED when creating it to prevent
    // the ads from immediately serving. Set to ENABLED once you've added
    // targeting and the ads are ready to serve.
    'status' => CampaignStatus::PAUSED,
    // Sets the bidding strategy and budget.
    'manual_cpc' => new ManualCpc(),
    'campaign_budget' => $budgetResourceName,
    // Adds the network settings configured above.
    'network_settings' => $networkSettings,
    // Optional: Sets the start and end dates.
    'start_date' => date('Ymd', strtotime('+1 day')),
    'end_date' => date('Ymd', strtotime('+1 month'))
]);
      

Python

# Create campaign.
campaign_operation = client.get_type("CampaignOperation")
campaign = campaign_operation.create
campaign.name = f"Interplanetary Cruise {uuid.uuid4()}"
campaign.advertising_channel_type = (
    client.enums.AdvertisingChannelTypeEnum.SEARCH
)

# Recommendation: Set the campaign to PAUSED when creating it to prevent
# the ads from immediately serving. Set to ENABLED once you've added
# targeting and the ads are ready to serve.
campaign.status = client.enums.CampaignStatusEnum.PAUSED

# Set the bidding strategy and budget.
campaign.manual_cpc.enhanced_cpc_enabled = True
campaign.campaign_budget = campaign_budget_response.results[0].resource_name

# Set the campaign network options.
campaign.network_settings.target_google_search = True
campaign.network_settings.target_search_network = True
campaign.network_settings.target_partner_search_network = False
# Enable Display Expansion on Search campaigns. For more details see:
# https://support.google.com/google-ads/answer/7193800
campaign.network_settings.target_content_network = True
      

Ruby

# Create campaign.
campaign = client.resource.campaign do |c|
  c.name = "Interplanetary Cruise #{(Time.new.to_f * 1000).to_i}"
  c.advertising_channel_type = :SEARCH

  # Recommendation: Set the campaign to PAUSED when creating it to prevent
  # the ads from immediately serving. Set to ENABLED once you've added
  # targeting and the ads are ready to serve.
  c.status = :PAUSED

  # Set the bidding strategy and budget.
  c.manual_cpc = client.resource.manual_cpc
  c.campaign_budget = return_budget.results.first.resource_name

  # Set the campaign network options.
  c.network_settings = client.resource.network_settings do |ns|
    ns.target_google_search = true
    ns.target_search_network = true
    # Enable Display Expansion on Search campaigns. See
    # https://support.google.com/google-ads/answer/7193800 to learn more.
    ns.target_content_network = true
    ns.target_partner_search_network = false
  end

  # Optional: Set the start date.
  c.start_date = DateTime.parse((Date.today + 1).to_s).strftime('%Y%m%d')

  # Optional: Set the end date.
  c.end_date = DateTime.parse((Date.today.next_year).to_s).strftime('%Y%m%d')
end
      

Perl

# Create a campaign.
my $campaign = Google::Ads::GoogleAds::V17::Resources::Campaign->new({
    name                   => "Interplanetary Cruise #" . uniqid(),
    advertisingChannelType => SEARCH,
    # Recommendation: Set the campaign to PAUSED when creating it to stop
    # the ads from immediately serving. Set to ENABLED once you've added
    # targeting and the ads are ready to serve.
    status => PAUSED,
    # Set the bidding strategy and budget.
    manualCpc => Google::Ads::GoogleAds::V17::Common::ManualCpc->new(
      {enhancedCpcEnabled => "true"}
    ),
    campaignBudget => $campaign_budgets_response->{results}[0]{resourceName},
    # Set the campaign network options.
    networkSettings =>
      Google::Ads::GoogleAds::V17::Resources::NetworkSettings->new({
        targetGoogleSearch  => "true",
        targetSearchNetwork => "true",
        # Enable Display Expansion on Search campaigns. See
        # https://support.google.com/google-ads/answer/7193800 to learn more.
        targetContentNetwork       => "true",
        targetPartnerSearchNetwork => "false"
      }
      ),
    # Optional: Set the start date. The campaign starts tomorrow.
    startDate => strftime("%Y%m%d", localtime(time + 60 * 60 * 24)),
    # Optional: Set the end date. The campaign runs for 30 days.
    endDate => strftime("%Y%m%d", localtime(time + 60 * 60 * 24 * 30)),
  });
      

แคมเปญที่มีอยู่

ในการเปลี่ยนงบประมาณของแคมเปญที่มีอยู่ ใน CampaignOperation.update ตั้งค่าช่อง campaign_budget ของออบเจ็กต์ Campaign ไปยัง ชื่อทรัพยากรของงบประมาณที่มีอยู่ (พร้อมกับแคมเปญอื่นๆ ที่คุณอาจต้องการตั้งค่า) โปรดทราบว่าวิธีนี้จะแทนที่ งบประมาณที่กำหนดให้กับแคมเปญซึ่งมีงบประมาณที่กำหนดโดย campaign_budget เนื่องจากแคมเปญสามารถเชื่อมโยงกับงบประมาณได้ทีละรายการเท่านั้น

แยกงบประมาณออกจากแคมเปญ

แคมเปญต้องเชื่อมโยงกับงบประมาณเสมอ คุณสามารถนำงบประมาณออกได้ แคมเปญด้วยการเปลี่ยนงบประมาณที่เชื่อมโยงกับแคมเปญ ด้วยเหตุนี้ แทนที่ด้วยงบประมาณอื่น เพื่อระบุแคมเปญ โดยใช้งบประมาณที่เฉพาะเจาะจง ให้ไปต่อที่ส่วนถัดไป

ดึงข้อมูลแคมเปญที่กำหนดให้กับงบประมาณ

การรับรายการแคมเปญที่ใช้งบประมาณเดียวกันนั้นอาจมีประโยชน์ การสร้างความสมดุลของการใช้งบประมาณ คำค้นหา GAQL ต่อไปนี้จะแสดงผล แคมเปญทั้งหมดสำหรับรหัสงบประมาณที่ระบุ:

SELECT campaign.id
FROM campaign
WHERE campaign_budget.id = campaign_budget_id