Убедитесь, что соблюдены минимальные требования : ресурсы кампании по формированию спроса должны соответствовать очень высоким стандартам качества, поскольку они будут отображаться на очень визуальных, ориентированных на развлечения платформах, таких как Discover и YouTube.
Вот шаги по созданию кампании по формированию спроса:
- Создайте бюджет.
- Создайте кампанию по формированию спроса с соответствующими стратегиями назначения ставок.
- Создайте группу объявлений без типа.
- Создавайте аудитории.
- Создавайте активы и рекламу, создающую спрос.
Создать бюджет
Создайте бюджет . Обратите внимание, что кампания по формированию спроса не может использовать общий бюджет. Мы рекомендуем иметь достаточный дневной бюджет, чтобы он превышал ожидаемую целевую цену за конверсию как минимум в 15 раз. Узнать больше .
Ява
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; } }
С#
private static string CreateBudget(GoogleAdsClient client, long customerId) { // Get the BudgetService. CampaignBudgetServiceClient budgetService = client.GetService( Services.V18.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(); }
Питон
# 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], )
Перл
# Create a campaign budget, which can be shared by multiple campaigns. my $campaign_budget = Google::Ads::GoogleAds::V18::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V18::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]});
Создайте кампанию и стратегию назначения ставок.
После того, как бюджет создан, можно переходить к созданию кампании.
Начиная с версии 17 Google Ads API, кампании Demand Gener имеют тип AdvertisingChannelType
, равный DEMAND_GEN
. Не следует задавать AdvertisingChannelSubType
.
Настройте цели конверсии для своей кампании.
Поддерживаемые стратегии назначения ставок : максимальное количество кликов, целевая цена за конверсию, максимальное количество конверсий и целевая рентабельность инвестиций в рекламу.
Создать группу объявлений
Создайте группу объявлений без типа и прикрепите ее к кампании Discovery.
Создание аудиторий
Создайте и прикрепите аудитории с помощью AdGroupCriterion
.
Создавайте объекты и рекламу
Для кампаний по формированию спроса доступны три типа объявлений:
Сначала создайте объекты для этих типов объявлений. Ознакомьтесь со спецификациями ресурсов кампании по формированию спроса и руководством по передовому опыту, чтобы узнать список ресурсов, доступных для каждого типа объявлений, создающих спрос. В руководстве содержится информация о том, какие ресурсы необходимы и сколько ресурсов рекомендуется. Мы также рекомендуем оценивать эффективность активов для точной настройки креативов: в разделе отчетов рассказывается, как получить показатели эффективности для кампаний по формированию спроса.
DemandGenCarouselAdInfo
имеет дополнительный специализированный актив под названием AdDemandGenCarouselCardAsset
.
После создания объектов и объявлений добавьте их в группу объявлений.
,Убедитесь, что соблюдены минимальные требования : ресурсы кампании по формированию спроса должны соответствовать очень высоким стандартам качества, поскольку они будут отображаться на очень визуальных, ориентированных на развлечения платформах, таких как Discover и YouTube.
Вот шаги по созданию кампании по формированию спроса:
- Создайте бюджет.
- Создайте кампанию по формированию спроса с соответствующими стратегиями назначения ставок.
- Создайте группу объявлений без типа.
- Создавайте аудитории.
- Создавайте активы и рекламу, создающую спрос.
Создать бюджет
Создайте бюджет . Обратите внимание, что кампания по формированию спроса не может использовать общий бюджет. Мы рекомендуем иметь достаточный дневной бюджет, чтобы он превышал ожидаемую целевую цену за конверсию как минимум в 15 раз. Узнать больше .
Ява
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; } }
С#
private static string CreateBudget(GoogleAdsClient client, long customerId) { // Get the BudgetService. CampaignBudgetServiceClient budgetService = client.GetService( Services.V18.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(); }
Питон
# 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], )
Перл
# Create a campaign budget, which can be shared by multiple campaigns. my $campaign_budget = Google::Ads::GoogleAds::V18::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V18::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]});
Создайте кампанию и стратегию назначения ставок.
После того, как бюджет создан, можно переходить к созданию кампании.
Начиная с версии 17 Google Ads API, кампании Demand Gener имеют тип AdvertisingChannelType
, равный DEMAND_GEN
. Не следует задавать AdvertisingChannelSubType
.
Настройте цели конверсии для своей кампании.
Поддерживаемые стратегии назначения ставок : максимальное количество кликов, целевая цена за конверсию, максимальное количество конверсий и целевая рентабельность инвестиций в рекламу.
Создать группу объявлений
Создайте группу объявлений без типа и прикрепите ее к кампании Discovery.
Создание аудиторий
Создайте и прикрепите аудитории с помощью AdGroupCriterion
.
Создавайте объекты и рекламу
Для кампаний по формированию спроса доступны три типа объявлений:
Сначала создайте объекты для этих типов объявлений. Ознакомьтесь со спецификациями ресурсов кампании по формированию спроса и руководством по передовому опыту, чтобы узнать список ресурсов, доступных для каждого типа объявлений, создающих спрос. В руководстве есть указания о том, какие ресурсы необходимы и сколько ресурсов рекомендуется. Мы также рекомендуем оценивать эффективность активов для точной настройки креативов: в разделе отчетов рассказывается, как получить показатели эффективности для кампаний по формированию спроса.
DemandGenCarouselAdInfo
имеет дополнительный специализированный актив под названием AdDemandGenCarouselCardAsset
.
После создания объектов и объявлений добавьте их в группу объявлений.