디맨드젠 캠페인 만들기

최소 요구사항이 충족되는지 확인하세요. 디맨드젠 캠페인 애셋은 디스커버, 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.V17.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)
      

루비

# 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::V17::Resources::CampaignBudget->new({
    name           => "Interplanetary budget #" . uniqid(),
    deliveryMethod => STANDARD,
    amountMicros   => 500000
  });

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

캠페인 및 입찰 전략 만들기

예산을 만든 후 캠페인을 만들 수 있습니다.

Google Ads API v17부터 디맨드젠 캠페인의 AdvertisingChannelTypeDEMAND_GEN입니다. AdvertisingChannelSubType는 설정하면 안 됩니다.

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

지원되는 입찰 전략은 클릭수 최대화, 타겟 CPA, 전환수 최대화, 타겟 광고 투자수익(ROAS)입니다.

광고그룹 만들기

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

잠재고객 만들기

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

애셋 및 광고 만들기

디맨드젠 캠페인에는 세 가지 광고 유형을 사용할 수 있습니다.

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

DemandGenCarouselAdInfo에는 AdDemandGenCarouselCardAsset라는 특수한 추가 애셋이 있습니다.

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