Skip to content

Commit 30dbae2

Browse files
authored
Add example code for PMax campaigns to add search theme signal (#811)
* Update google-ads-examples/src/main/java/com/google/ads/googleads/examples/advancedoperations/AddPerformanceMaxCampaign.java
1 parent 862b2a1 commit 30dbae2

1 file changed

Lines changed: 37 additions & 15 deletions

File tree

google-ads-examples/src/main/java/com/google/ads/googleads/examples/advancedoperations/AddPerformanceMaxCampaign.java

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.google.ads.googleads.v17.common.LanguageInfo;
2626
import com.google.ads.googleads.v17.common.LocationInfo;
2727
import com.google.ads.googleads.v17.common.MaximizeConversionValue;
28+
import com.google.ads.googleads.v17.common.SearchThemeInfo;
2829
import com.google.ads.googleads.v17.common.TextAsset;
2930
import com.google.ads.googleads.v17.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType;
3031
import com.google.ads.googleads.v17.enums.AssetFieldTypeEnum.AssetFieldType;
@@ -194,10 +195,8 @@ private void runExample(GoogleAdsClient googleAdsClient, long customerId, Long a
194195
assetGroupResourceName,
195196
headlineAssetResourceNames,
196197
descriptionAssetResourceNames));
197-
if (audienceId != null) {
198-
mutateOperations.addAll(
199-
createAssetGroupSignalOperations(customerId, assetGroupResourceName, audienceId));
200-
}
198+
mutateOperations.addAll(
199+
createAssetGroupSignalOperations(customerId, assetGroupResourceName, audienceId));
201200

202201
try (GoogleAdsServiceClient googleAdsServiceClient =
203202
googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) {
@@ -550,30 +549,53 @@ List<MutateOperation> createAndLinkImageAsset(
550549
}
551550
// [END add_performance_max_campaign_8]
552551

553-
// [START add_performance_max_campaign_9]
554552
/**
555553
* Creates a list of MutateOperations that create {@link
556554
* com.google.ads.googleads.v17.resources.AssetGroupSignal} objects.
557555
*/
558556
private List<MutateOperation> createAssetGroupSignalOperations(
559557
long customerId, String assetGroupResourceName, Long audienceId) {
560558
List<MutateOperation> mutateOperations = new ArrayList<>();
561-
AssetGroupSignal assetGroupSignal =
562-
AssetGroupSignal.newBuilder()
563-
.setAssetGroup(assetGroupResourceName)
564-
.setAudience(
565-
AudienceInfo.newBuilder()
566-
.setAudience(ResourceNames.audience(customerId, audienceId)))
567-
.build();
568-
// Adds an operation to the list to create the asset group signal.
559+
560+
if (audienceId != null) {
561+
// Creates an audience asset group signal.
562+
// To learn more about Audience Signals, see:
563+
// https://developers.google.com/google-ads/api/performance-max/asset-group-signals#audiences
564+
// [START add_performance_max_campaign_9]
565+
AssetGroupSignal audienceSignal = AssetGroupSignal.newBuilder()
566+
.setAssetGroup(assetGroupResourceName)
567+
.setAudience(
568+
AudienceInfo.newBuilder()
569+
.setAudience(ResourceNames.audience(customerId, audienceId)))
570+
.build();
571+
572+
mutateOperations.add(
573+
MutateOperation.newBuilder()
574+
.setAssetGroupSignalOperation(
575+
AssetGroupSignalOperation.newBuilder().setCreate(audienceSignal))
576+
.build());
577+
// [END add_performance_max_campaign_9]
578+
}
579+
580+
// Creates a search theme asset group signal.
581+
// To learn more about Search Themes Signals, see:
582+
// https://developers.google.com/google-ads/api/performance-max/asset-group-signals#search_themes
583+
// [START add_performance_max_campaign_10]
584+
AssetGroupSignal searchThemeSignal = AssetGroupSignal.newBuilder()
585+
.setAssetGroup(assetGroupResourceName)
586+
.setSearchTheme(
587+
SearchThemeInfo.newBuilder().setText("travel").build())
588+
.build();
589+
569590
mutateOperations.add(
570591
MutateOperation.newBuilder()
571592
.setAssetGroupSignalOperation(
572-
AssetGroupSignalOperation.newBuilder().setCreate(assetGroupSignal))
593+
AssetGroupSignalOperation.newBuilder().setCreate(searchThemeSignal))
573594
.build());
595+
// [END add_performance_max_campaign_10]
596+
574597
return mutateOperations;
575598
}
576-
// [END add_performance_max_campaign_9]
577599

578600
/**
579601
* Prints the details of a MutateGoogleAdsResponse.

0 commit comments

Comments
 (0)