디맨드젠 캠페인 만들기

최소 사양 요구사항 디맨드젠 캠페인 애셋은 매우 높은 품질 기준을 충족해야 합니다. 매우 시각적이고 엔터테인먼트에 중점을 둔 노출 영역(예: 디스커버와 YouTube

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

  1. 예산을 책정합니다.
  2. 적절한 입찰 전략을 사용하여 디맨드젠 캠페인을 만듭니다.
  3. 유형 없이 광고 그룹을 만듭니다.
  4. 잠재고객을 만듭니다.
  5. 확장 소재 및 디맨드젠 광고를 만듭니다.

예산 만들기

예산을 만듭니다. 참고: 디맨드젠 캠페인에서는 공유 예산을 사용할 수 없습니다. 평소처럼 사용 가능한 일일예산이 예상 타겟의 15배 이상이어야 합니다. CPA 입찰가를 설정할 수 있습니다. 자세히 알아보기

자바

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;
}
      

PHP

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::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부터 디맨드젠 캠페인에 AdvertisingChannelType 드림 총 DEMAND_GEN페이지입니다. AdvertisingChannelSubType는 설정하면 안 됩니다.

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

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

광고그룹 만들기

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

잠재고객 만들기

잠재고객 생성 및 연결 AdGroupCriterion 사용

애셋 및 광고 만들기

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

먼저 이러한 광고 유형의 확장 소재를 만듭니다. 결제 디맨드젠 캠페인 애셋 사양 및 권장사항 가이드 를 참조하세요. 이 가이드에는 필요한 애셋과 필요한 애셋 수에 대한 안내가 포함되어 있습니다. 좋습니다. 또한 확장 소재 실적을 평가하여 광고 소재: 보고 섹션에서 실적을 가져오는 방법을 다룹니다. 측정항목을 살펴보겠습니다

DemandGenCarouselAdInfo에는 AdDemandGenCarouselCardAsset

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