キャンペーンを作成する

キャンペーンは、共通のビジネス目標を持つ広告掲載オーダーをグループ化したものです。Campaign リソースは次の処理を行います。

  • エンティティのステータスを使用して、子広告申込情報の広告配信を制御します。
  • 広告掲載オーダー全体にフリークエンシー キャップを適用する。
  • すべての子リソースでレポートと目標のトラッキングを有効にします。

既存のキャンペーンを使用している場合は、広告掲載オーダーを作成するに進んでください。

構成を選択する

キャンペーンを作成する前に、次の設定を確認して決定します。

Campaign リソースには、多くの省略可能なフィールドもあります。詳細については、リファレンス ドキュメントをご覧ください。

キャンペーンを作成する

次の設定でキャンペーンを作成する方法は次のとおりです。

  • ブランド認知度を 1 通貨単位の広告視聴単価で高めることを目標とする。
  • 指定された日付から始まり、終了日が設定されていないフライト期間。

Java

// Provide the ID of the parent advertiser.
String advertiserId = advertiser-id;

// Provide the display name of the campaign.
String displayName = display-name;

// Provide the campaign start date as a separate year, month, and day value.
int year = start-date-year;
int month = start-date-month;
int day = start-date-day;

// Create the campaign structure.
Campaign campaign =
    new Campaign().setDisplayName(displayName).setEntityStatus("ENTITY_STATUS_ACTIVE");

// Create the campaign goal structure.
CampaignGoal campaignGoal =
    new CampaignGoal().setCampaignGoalType("CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS");

// Create and add the performance goal to the campaign goal structure.
PerformanceGoal performanceGoal =
    new PerformanceGoal()
        .setPerformanceGoalType("PERFORMANCE_GOAL_TYPE_CPV")
        .setPerformanceGoalAmountMicros(1_000_000L);
campaignGoal.setPerformanceGoal(performanceGoal);

// Set the campaign goal.
campaign.setCampaignGoal(campaignGoal);

// Create the campaign flight structure.
// This object details the planned spend and duration of the campaign.
CampaignFlight campaignFlight = new CampaignFlight().setPlannedSpendAmountMicros(1_000_000L);

// Assign to date range object.
DateRange dateRange =
    new DateRange().setStartDate(new Date().setYear(year).setMonth(month).setDay(day));

// Add the planned date range to the campaign flight.
campaignFlight.setPlannedDates(dateRange);

// Set the campaign flight.
campaign.setCampaignFlight(campaignFlight);

// Create and set the frequency cap.
FrequencyCap frequencyCap = new FrequencyCap().setUnlimited(true);
campaign.setFrequencyCap(frequencyCap);

// Configure the create request.
Campaigns.Create request = service.advertisers().campaigns().create(advertiserId, campaign);

// Create the campaign.
Campaign response = request.execute();

// Display the new campaign ID.
System.out.printf("Campaign %s was created.", response.getName());

Python

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the display name of the campaign.
display_name = display-name

# Provide the year, month, and day of the start date of the campaign flight.
start_date_year = start-date-year
start_date_month = start-date-month
start_date_day = start-date-day

# Create the campaign object.
campaign_obj = {
    "displayName": display_name,
    "entityStatus": "ENTITY_STATUS_ACTIVE",
    "campaignGoal": {
        "campaignGoalType": "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS",
        "performanceGoal": {
            "performanceGoalType": "PERFORMANCE_GOAL_TYPE_CPV",
            "performanceGoalAmountMicros": "1000000",
        },
    },
    "campaignFlight": {
        "plannedDates": {
            "startDate": {
                "year": start_date_year,
                "month": start_date_month,
                "day": start_date_day,
            }
        }
    },
    "frequencyCap": {"unlimited": True},
}

# Build and execute request.
campaign_response = (
    service.advertisers()
    .campaigns()
    .create(advertiserId=advertiser_id, body=campaign_obj)
    .execute()
)

# Print the new campaign.
print(f'Campaign {campaign_response["name"]} was created.')

PHP

// Provide the ID of the parent advertiser.
$advertiserId = advertiser-id;

// Provide the display name of the campaign.
$displayName = display-name;

// Provide the year, month, and day of the start date of the campaign flight.
$year = start-date-year;
$month = start-date-month;
$day = start-date-day;

// Create the campaign structure.
$campaign = new Google_Service_DisplayVideo_Campaign();
$campaign->setDisplayName($displayName);
$campaign->setEntityStatus('ENTITY_STATUS_ACTIVE');

// Create and set the campaign goal.
$campaignGoal = new Google_Service_DisplayVideo_CampaignGoal();
$campaignGoal->setCampaignGoalType(
    'CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS'
);
$performanceGoal = new Google_Service_DisplayVideo_PerformanceGoal();
$performanceGoal->setPerformanceGoalType('PERFORMANCE_GOAL_TYPE_CPV');
$performanceGoal->setPerformanceGoalAmountMicros(1000000);
$campaignGoal->setPerformanceGoal($performanceGoal);
$campaign->setCampaignGoal($campaignGoal);

// Create and set the campaign flight.
$campaignFlight = new Google_Service_DisplayVideo_CampaignFlight();
$campaignFlight->setPlannedSpendAmountMicros(1000000);
$dateRange = new Google_Service_DisplayVideo_DateRange();
$startDate = new Google_Service_DisplayVideo_Date();
$startDate->setYear($year);
$startDate->setMonth($month);
$startDate->setDay($day);
$dateRange->setStartDate($startDate);
$campaignFlight->setPlannedDates($dateRange);
$campaign->setCampaignFlight($campaignFlight);

// Create and set the frequency cap.
$frequencyCap = new Google_Service_DisplayVideo_FrequencyCap();
$frequencyCap->setUnlimited(true);
$campaign->setFrequencyCap($frequencyCap);

// Call the API, creating the campaign under the given advertiser.
try {
    $result = $this->service->advertisers_campaigns->create(
        $advertiserId,
        $campaign
    );
} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

// Print the new campaign.
printf('<p>Campaign %s was created.</p>', $result['name']);