디맨드젠 캠페인 만들기

최소 요구사항을 충족하는지 확인합니다. 디맨드젠 캠페인 애셋은 디스커버, YouTube와 같이 매우 시각적이고 엔터테인먼트에 중점을 둔 영역에 게재되므로 매우 높은 수준의 품질을 충족해야 합니다.

디맨드젠 캠페인을 만드는 단계는 다음과 같습니다.

  1. 예산을 책정합니다.
  2. 적절한 입찰 전략으로 디맨드젠 캠페인을 만드세요.
  3. 유형 없이 광고그룹을 만듭니다.
  4. 잠재고객을 만듭니다.
  5. 확장 소재 및 수요 창출을 위한 광고를 만드세요.

예산 만들기

예산을 설정합니다. 디맨드젠 캠페인은 공유 예산을 사용할 수 없습니다. 일일 예산은 예상 타겟 CPA 입찰가의 15배 이상을 고려하여 충분한 것이 좋습니다. 자세히 알아보기

Java

private static String addCampaignBudget(GoogleAdsClient googleAdsClient, long customerId) {
  CampaignBudget budget =
      CampaignBudget.newBuilder()
          .setName("Interplanetary Cruise Budget #" + getPrintableDateTime())
          .setDeliveryMethod(BudgetDeliveryMethod.STANDARD)
          .setAmountMicros(500_000)
          .build();

  CampaignBudgetOperation op = CampaignBudgetOperation.newBuilder().setCreate(budget).build();

  try (CampaignBudgetServiceClient campaignBudgetServiceClient =
      googleAdsClient.getLatestVersion().createCampaignBudgetServiceClient()) {
    MutateCampaignBudgetsResponse response =
        campaignBudgetServiceClient.mutateCampaignBudgets(
            Long.toString(customerId), ImmutableList.of(op));
    String budgetResourceName = response.getResults(0).getResourceName();
    System.out.printf("Added budget: %s%n", budgetResourceName);
    return budgetResourceName;
  }
}
      

C#

private static string CreateBudget(GoogleAdsClient client, long customerId)
{
    // Get the BudgetService.
    CampaignBudgetServiceClient budgetService = client.GetService(
        Services.V16.CampaignBudgetService);

    // Create the campaign budget.
    CampaignBudget budget = new CampaignBudget()
    {
        Name = "Interplanetary Cruise Budget #" + ExampleUtilities.GetRandomString(),
        DeliveryMethod = BudgetDeliveryMethod.Standard,
        AmountMicros = 500000
    };

    // Create the operation.
    CampaignBudgetOperation budgetOperation = new CampaignBudgetOperation()
    {
        Create = budget
    };

    // Create the campaign budget.
    MutateCampaignBudgetsResponse response = budgetService.MutateCampaignBudgets(
        customerId.ToString(), new CampaignBudgetOperation[] { budgetOperation });
    return response.Results[0].ResourceName;
}
      

2,399필리핀

private static function addCampaignBudget(GoogleAdsClient $googleAdsClient, int $customerId)
{
    // Creates a campaign budget.
    $budget = new CampaignBudget([
        'name' => 'Interplanetary Cruise Budget #' . Helper::getPrintableDatetime(),
        'delivery_method' => BudgetDeliveryMethod::STANDARD,
        'amount_micros' => 500000
    ]);

    // Creates a campaign budget operation.
    $campaignBudgetOperation = new CampaignBudgetOperation();
    $campaignBudgetOperation->setCreate($budget);

    // Issues a mutate request.
    $campaignBudgetServiceClient = $googleAdsClient->getCampaignBudgetServiceClient();
    $response = $campaignBudgetServiceClient->mutateCampaignBudgets(
        MutateCampaignBudgetsRequest::build($customerId, [$campaignBudgetOperation])
    );

    /** @var CampaignBudget $addedBudget */
    $addedBudget = $response->getResults()[0];
    printf("Added budget named '%s'%s", $addedBudget->getResourceName(), PHP_EOL);

    return $addedBudget->getResourceName();
}
      

Python

# Create a budget, which can be shared by multiple campaigns.
campaign_budget_operation = client.get_type("CampaignBudgetOperation")
campaign_budget = 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

# Add budget.
try:
    campaign_budget_response = (
        campaign_budget_service.mutate_campaign_budgets(
            customer_id=customer_id, operations=[campaign_budget_operation]
        )
    )
except GoogleAdsException as ex:
    handle_googleads_exception(ex)
      

Ruby

# Create a budget, which can be shared by multiple campaigns.
campaign_budget = client.resource.campaign_budget do |cb|
  cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"
  cb.delivery_method = :STANDARD
  cb.amount_micros = 500000
end

operation = client.operation.create_resource.campaign_budget(campaign_budget)

# Add budget.
return_budget = client.service.campaign_budget.mutate_campaign_budgets(
  customer_id: customer_id,
  operations: [operation],
)
      

Perl

# Create a campaign budget, which can be shared by multiple campaigns.
my $campaign_budget =
  Google::Ads::GoogleAds::V16::Resources::CampaignBudget->new({
    name           => "Interplanetary budget #" . uniqid(),
    deliveryMethod => STANDARD,
    amountMicros   => 500000
  });

# Create a campaign budget operation.
my $campaign_budget_operation =
  Google::Ads::GoogleAds::V16::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]});
      

캠페인 및 입찰 전략 만들기

예산이 설정되고 나면 캠페인 만들기를 진행할 수 있습니다.

디맨드젠 캠페인의 AdvertisingChannelTypeDISCOVERY입니다. AdvertisingChannelSubType를 설정하면 안 됩니다.

캠페인의 전환 목표를 설정합니다.

지원되는 입찰 전략은 클릭수 최대화, 타겟 CPA, 전환수 최대화, 타겟 ROAS입니다.

광고그룹 만들기

유형 없이 광고 그룹을 만들어 디스커버리 캠페인에 연결합니다.

잠재고객 만들기

AdGroupCriterion를 사용하여 잠재고객을 만들고 연결합니다.

애셋 및 광고 만들기

디맨드젠 캠페인에는 다음과 같은 세 가지 유형의 광고를 사용할 수 있습니다.

먼저 이러한 광고 유형의 확장 소재를 만듭니다. 각 디맨드젠 광고 유형에 사용할 수 있는 애셋 목록은 디맨드젠 캠페인 애셋 사양 및 권장사항 가이드를 참고하세요. 이 가이드에는 필요한 애셋과 권장되는 애셋 수에 대한 안내가 포함되어 있습니다. 또한 애셋 실적을 평가하여 광고 소재를 미세 조정하는 것이 좋습니다. 보고 섹션에서는 디맨드젠 캠페인의 실적 측정항목을 검색하는 방법을 설명합니다.

DiscoveryCarouselAdInfo에는 AdDiscoveryCarouselCardAsset라는 추가 특수 애셋이 있습니다.

애셋과 광고를 만든 후에는 광고그룹에 광고를 추가합니다.