Talep Yaratma kampanyaları, markanızın hikayesini Google'ın görsel platformlarındaki kullanıcılarla paylaşmanıza olanak tanır: YouTube (Shorts dahil), Keşfet, Gmail, Google Haritalar ve Google Görüntülü Reklam Ağı. Talep Yaratma, müşterilere birden fazla temas noktasında ulaşır ve reklam öğelerini alakalı kitlelere sunmak ve dönüşüm hunisi genelinde teklifleri optimize etmek için Google Yapay Zeka'yı kullanır. Bu sırada kampanya öğeleriniz ve yerleşimleriniz üzerinde tam kontrol sahibi olursunuz.
Önemli API kaynakları
Google Ads API'de Talep Yaratma kampanyalarını yönetirken aşağıdaki kaynaklar ve ayarlar kullanılır:
| Birincil kaynak | Önemli Talep Yaratma alanları ve ayarları |
|---|---|
CampaignBudget
|
explicitly_shared = false; günlük (amount_micros) veya özel toplam bütçeleri (period = CUSTOM_PERIOD ile total_amount_micros) destekler.
|
Campaign |
advertising_channel_type = DEMAND_GEN; teklif stratejisi
(maximize_conversions,
maximize_conversion_value, target_cpa,
target_roas, target_spend veya
target_cpc); ürün feed'leri için isteğe bağlı shopping_setting.
|
AdGroup |
audience_setting.use_audience_grouped;
demand_gen_ad_group_settings.channel_controls (YouTube,
Keşfet, Gmail, Haritalar, Görüntülü Reklam Ağı).
|
AdGroupCriterion
|
audience
(AudienceInfo),
location, language ve
listing_group
(
ListingGroupInfo).
|
AdGroupAd &
Asset
|
ad.demand_gen_multi_asset_ad,
ad.demand_gen_carousel_ad,
ad.demand_gen_video_responsive_ad veya
ad.demand_gen_product_ad.
|
Talep Yaratma kampanyası oluşturma
Bağımlı kaynakların birbirine referans verebilmesi için bütçeyi, kampanyayı, reklam grubunu, öğeleri ve Talep Yaratma reklamını negatif geçici kaynak kimliklerini kullanarak tek bir GoogleAdsService.Mutate isteğinde atomik olarak oluşturmanızı öneririz:
Java
// The below methods create and return MutateOperations that we later provide to // the GoogleAdsService.Mutate method in order to create the entities in a single // request. Since the entities for a Demand Gen campaign are closely tied to one-another // it's considered a best practice to create them in a single Mutate request; the // entities will either all complete successfully or fail entirely, leaving no // orphaned entities. See: // https://developers.google.com/google-ads/api/docs/mutating/overview List<MutateOperation> operations = new ArrayList<>(); // A utility to create temporary IDs for the resources. AtomicLong tempId = new AtomicLong(-1); // Creates a new campaign budget operation and adds it to the list of operations. String budgetResourceName = ResourceNames.campaignBudget(customerId, tempId.getAndDecrement()); operations.add( MutateOperation.newBuilder() .setCampaignBudgetOperation(createCampaignBudgetOperation(budgetResourceName)) .build()); // Creates a new campaign operation and adds it to the list of operations. String campaignResourceName = ResourceNames.campaign(customerId, tempId.getAndDecrement()); operations.add( MutateOperation.newBuilder() .setCampaignOperation( createDemandGenCampaignOperation(campaignResourceName, budgetResourceName)) .build()); // Creates a new ad group operation and adds it to the list of operations. String adGroupResourceName = ResourceNames.adGroup(customerId, tempId.getAndDecrement()); operations.add( MutateOperation.newBuilder() .setAdGroupOperation( createDemandGenAdGroupOperation(adGroupResourceName, campaignResourceName)) .build()); // Creates the asset operations for the ad. Map<String, String> assetResourceNames = new HashMap<>(); operations.addAll( createAssetOperations(customerId, youTubeVideoId, tempId, assetResourceNames)); // Creates a new ad group ad operation and adds it to the list of operations. operations.add( MutateOperation.newBuilder() .setAdGroupAdOperation( createDemandGenAdGroupAdOperation(adGroupResourceName, assetResourceNames)) .build()); // Creates the service client. try (GoogleAdsServiceClient googleAdsServiceClient = googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) { // Sends the mutate request. MutateGoogleAdsResponse response = googleAdsServiceClient.mutate(String.valueOf(customerId), operations); // Prints the results. System.out.printf( "Created campaign with resource name: %s%n", response .getMutateOperationResponses(1) .getCampaignResult() .getResourceName()); System.out.printf( "Created ad group with resource name: %s%n", response .getMutateOperationResponses(2) .getAdGroupResult() .getResourceName()); for (Map.Entry<String, String> entry : assetResourceNames.entrySet()) { System.out.printf( "Created asset with temporary resource name '%s' and final resource name '%s'.%n", entry.getValue(), response .getMutateOperationResponses( operations.indexOf(getOperationForAsset(operations, entry.getValue()))) .getAssetResult() .getResourceName()); } System.out.printf( "Created ad group ad with resource name: %s%n", response .getMutateOperationResponses(operations.size() - 1) .getAdGroupAdResult() .getResourceName()); }
C#
// The below methods create and return MutateOperations that we later provide to // the GoogleAdsService.Mutate method in order to create the entities in a single // request. Since the entities for a Demand Gen campaign are closely tied to one-another // it's considered a best practice to create them in a single Mutate request; the // entities will either all complete successfully or fail entirely, leaving no // orphaned entities. See: // https://developers.google.com/google-ads/api/docs/mutating/overview MutateOperation campaignBudgetOperation = CreateCampaignBudgetOperation(budgetResourceName); MutateOperation campaignOperation = CreateDemandGenCampaignOperation(campaignResourceName, budgetResourceName); MutateOperation adGroupOperation = CreateAdGroupOperation(adGroupResourceName, campaignResourceName); // Send the operations in a single mutate request. MutateGoogleAdsRequest mutateGoogleAdsRequest = new MutateGoogleAdsRequest { CustomerId = customerId.ToString() }; // It's important to create these entities in this order because they depend on // each other, for example the ad group depends on the // campaign, and the ad group ad depends on the ad group. mutateGoogleAdsRequest.MutateOperations.Add(campaignBudgetOperation); mutateGoogleAdsRequest.MutateOperations.Add(campaignOperation); mutateGoogleAdsRequest.MutateOperations.Add(adGroupOperation); mutateGoogleAdsRequest.MutateOperations.AddRange( CreateAssetOperations( videoAssetResourceName, videoId, logoResourceName, client.Config ) ); mutateGoogleAdsRequest.MutateOperations.Add( CreateDemandGenAdOperation( adGroupResourceName, videoAssetResourceName, logoResourceName ) ); MutateGoogleAdsResponse response = googleAdsServiceClient.Mutate(mutateGoogleAdsRequest);
PHP
This example is not yet available in PHP; you can take a look at the other languages.
Python
# The below methods create and return MutateOperations that we later provide # to the GoogleAdsService.Mutate method in order to create the entities in a # single request. Since the entities for a Demand Gen campaign are closely # tied to one-another it's considered a best practice to create them in a # single Mutate request; the entities will either all complete successfully # or fail entirely, leaving no orphaned entities. See: # https://developers.google.com/google-ads/api/docs/mutating/overview mutate_operations: List[MutateOperation] = [ # It's important to create these entities in this order because they # depend on each other, for example the ad group depends on the # campaign, and the ad group ad depends on the ad group. create_campaign_budget_operation(client, budget_resource_name), create_demand_gen_campaign_operation( client, campaign_resource_name, budget_resource_name ), create_ad_group_operation( client, ad_group_resource_name, campaign_resource_name ), *create_asset_operations( # Use iterable unpacking client, video_asset_resource_name, video_id, logo_asset_resource_name, ), create_demand_gen_ad_operation( client, ad_group_resource_name, video_asset_resource_name, logo_asset_resource_name, ), ] # Send the operations in a single mutate request. googleads_service.mutate( customer_id=customer_id, mutate_operations=mutate_operations )
Ruby
operations = [] operations << client.operation.mutate do |m| m.campaign_budget_operation = create_campaign_budget_operation(client, budget_resource_name) end operations << client.operation.mutate do |m| m.campaign_operation = create_demand_gen_campaign_operation(client, campaign_resource_name, budget_resource_name) end operations << client.operation.mutate do |m| m.ad_group_operation = create_ad_group_operation(client, ad_group_resource_name, campaign_resource_name) end operations += create_asset_operations(client, video_asset_resource_name, video_id, logo_asset_resource_name).map do |asset_op| client.operation.mutate do |m| m.asset_operation = asset_op end end operations << client.operation.mutate do |m| m.ad_group_ad_operation = create_demand_gen_ad_operation(client, ad_group_resource_name, video_asset_resource_name, logo_asset_resource_name) end response = client.service.google_ads.mutate( customer_id: customer_id, mutate_operations: operations, )
Perl
This example is not yet available in Perl; you can take a look at the other languages.
curl
Bütçeler, teklif stratejileri ve reklam biçimleriyle ilgili adım adım talimatlar için Talep Yaratma kampanyası oluşturma başlıklı makaleyi inceleyin.
Sorgu Talep Yaratma kampanyaları
Ağa ve YouTube platformuna göre segmentlere ayrılmış Talep Yaratma kampanyası özelliklerini ve performans metriklerini almak için GoogleAdsService.SearchStream kullanın (segments.ad_network_type ve segments.ad_sub_network_type birlikte seçilmelidir):
SELECT
campaign.id,
campaign.name,
campaign.status,
campaign.bidding_strategy_type,
segments.ad_network_type,
segments.ad_sub_network_type,
metrics.impressions,
metrics.clicks,
metrics.conversions,
metrics.cost_micros
FROM campaign
WHERE campaign.advertising_channel_type = DEMAND_GEN
AND segments.date DURING LAST_30_DAYS
Reklam düzeyinde, öğe düzeyinde ve dönüşüm dökümü sorguları için Talep Yaratma raporlaması bölümüne bakın.
Sonraki adımlar
- Talep Yaratma Kampanyası oluşturma
- Kitle hedeflemeyi ayarlama
- Talep Yaratma kampanyalarında ürün feed'lerini kullanma
- Kanal kontrollerini yapılandırma
- Talep Yaratma raporlarını alma