use of com.google.api.ads.adwords.axis.v201809.cm.Campaign in project googleads-java-lib by googleads.
the class AddDynamicSearchAdsCampaign method createAdGroup.
/**
* Creates the ad group.
*/
private static AdGroup createAdGroup(AdWordsServicesInterface adWordsServices, AdWordsSession session, Campaign campaign) throws ApiException, RemoteException {
// Get the AdGroupService.
AdGroupServiceInterface adGroupService = adWordsServices.get(session, AdGroupServiceInterface.class);
// Create the ad group.
AdGroup adGroup = new AdGroup();
// Required: Set the ad group's type to Dynamic Search Ads.
adGroup.setAdGroupType(AdGroupType.SEARCH_DYNAMIC_ADS);
adGroup.setName("Earth to Mars Cruises #" + System.currentTimeMillis());
adGroup.setCampaignId(campaign.getId());
adGroup.setStatus(AdGroupStatus.PAUSED);
// Recommended: Set a tracking URL template for your ad group if you want to use URL
// tracking software.
adGroup.setTrackingUrlTemplate("http://tracker.example.com/traveltracker/{escapedlpurl}");
// Set the ad group bids.
BiddingStrategyConfiguration biddingConfig = new BiddingStrategyConfiguration();
CpcBid cpcBid = new CpcBid();
cpcBid.setBid(new Money());
cpcBid.getBid().setMicroAmount(3000000L);
biddingConfig.setBids(new Bids[] { cpcBid });
adGroup.setBiddingStrategyConfiguration(biddingConfig);
// Create the operation.
AdGroupOperation operation = new AdGroupOperation();
operation.setOperand(adGroup);
operation.setOperator(Operator.ADD);
AdGroup newAdGroup = adGroupService.mutate(new AdGroupOperation[] { operation }).getValue(0);
System.out.printf("Ad group with name '%s' and ID %d was added.%n", newAdGroup.getName(), newAdGroup.getId());
return newAdGroup;
}
use of com.google.api.ads.adwords.axis.v201809.cm.Campaign in project googleads-java-lib by googleads.
the class AddDynamicSearchAdsCampaign method createExpandedDSA.
/**
* Creates the expanded Dynamic Search Ad.
*/
private static void createExpandedDSA(AdWordsServicesInterface adWordsServices, AdWordsSession session, AdGroup adGroup) throws ApiException, RemoteException {
// Get the AdGroupAdService.
AdGroupAdServiceInterface adGroupAdService = adWordsServices.get(session, AdGroupAdServiceInterface.class);
// Create the expanded Dynamic Search Ad. This ad will have its headline and final URL
// auto-generated at serving time according to domain name specific information provided
// by DynamicSearchAdsSetting at the campaign level.
ExpandedDynamicSearchAd expandedDSA = new ExpandedDynamicSearchAd();
// Set the ad description.
expandedDSA.setDescription("Buy your tickets now!");
expandedDSA.setDescription2("Discount ends soon");
// Create the ad group ad.
AdGroupAd adGroupAd = new AdGroupAd();
adGroupAd.setAdGroupId(adGroup.getId());
adGroupAd.setAd(expandedDSA);
// Optional: Set the status.
adGroupAd.setStatus(AdGroupAdStatus.PAUSED);
// Create the operation.
AdGroupAdOperation operation = new AdGroupAdOperation();
operation.setOperator(Operator.ADD);
operation.setOperand(adGroupAd);
// Create the ad.
AdGroupAd newAdGroupAd = adGroupAdService.mutate(new AdGroupAdOperation[] { operation }).getValue(0);
ExpandedDynamicSearchAd newExpandedDSA = (ExpandedDynamicSearchAd) newAdGroupAd.getAd();
System.out.printf("Expanded Dynamic Search Ad with ID %d and description '%s' and description 2 '%s' was " + "added.%n", newExpandedDSA.getId(), newExpandedDSA.getDescription(), newExpandedDSA.getDescription2());
}
use of com.google.api.ads.adwords.axis.v201809.cm.Campaign in project googleads-java-lib by googleads.
the class AddShoppingDynamicRemarketingCampaign method createAd.
/**
* Creates an ad for serving dynamic content in a remarketing campaign.
*
* @param adGroup the ad group under which to create the ad.
* @return the ad that was created.
* @throws IOException if an image was not able to be loaded.
*/
private static AdGroupAd createAd(AdWordsServicesInterface services, AdWordsSession session, AdGroup adGroup) throws IOException {
AdGroupAdServiceInterface adService = services.get(session, AdGroupAdServiceInterface.class);
ResponsiveDisplayAd ad = new ResponsiveDisplayAd();
// This ad format does not allow the creation of an image using the
// Image.data field. An image must first be created using the MediaService,
// and Image.mediaId must be populated when creating the ad.
ad.setMarketingImage(uploadImage(services, session, "https://goo.gl/3b9Wfh"));
ad.setShortHeadline("Travel");
ad.setLongHeadline("Travel the World");
ad.setDescription("Take to the air!");
ad.setBusinessName("Interplanetary Cruises");
ad.setFinalUrls(new String[] { "http://www.example.com/" });
// Optional: Call to action text.
// Valid texts: https://support.google.com/adwords/answer/7005917
ad.setCallToActionText("Apply Now");
// Optional: Set dynamic display ad settings, composed of landscape logo
// image, promotion text, and price prefix.
DynamicSettings dynamicDisplayAdSettings = createDynamicDisplayAdSettings(services, session);
ad.setDynamicDisplayAdSettings(dynamicDisplayAdSettings);
Image optionalImage = uploadImage(services, session, "https://goo.gl/mtt54n");
// Optional: Create a logo image and set it to the ad.
ad.setLogoImage(optionalImage);
// Optional: Create a square marketing image and set it to the ad.
ad.setSquareMarketingImage(optionalImage);
// Whitelisted accounts only: Set color settings using hexadecimal values.
// Set allowFlexibleColor to false if you want your ads to render by always
// using your colors strictly.
/*
ad.setMainColor("#0000ff");
ad.setAccentColor("#ffff00");
ad.setAllowFlexibleColor(false);
*/
// Whitelisted accounts only: Set the format setting that the ad will be
// served in.
/*
ad.setFormatSetting(
com.google.api.ads.adwords.axis.v201809.cm.DisplayAdFormatSetting.NON_NATIVE);
*/
AdGroupAd adGroupAd = new AdGroupAd();
adGroupAd.setAd(ad);
adGroupAd.setAdGroupId(adGroup.getId());
AdGroupAdOperation op = new AdGroupAdOperation();
op.setOperand(adGroupAd);
op.setOperator(Operator.ADD);
AdGroupAdReturnValue result = adService.mutate(new AdGroupAdOperation[] { op });
return result.getValue(0);
}
use of com.google.api.ads.adwords.axis.v201809.cm.Campaign in project googleads-java-lib by googleads.
the class CreateAndAttachSharedKeywordSet method runExample.
/**
* Runs the example.
*
* @param adWordsServices the services factory.
* @param session the session.
* @param campaignId the ID of the campaign that will use the shared set.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdWordsServicesInterface adWordsServices, AdWordsSession session, Long campaignId) throws RemoteException {
// Get the SharedSetService.
SharedSetServiceInterface sharedSetService = adWordsServices.get(session, SharedSetServiceInterface.class);
// Keywords to include in the shared set.
List<String> keywords = Arrays.asList("mars cruise", "mars hotels");
// Create the shared negative keyword set.
SharedSet sharedSet = new SharedSet();
sharedSet.setName("Negative keyword list #" + System.currentTimeMillis());
sharedSet.setType(SharedSetType.NEGATIVE_KEYWORDS);
SharedSetOperation sharedSetOperation = new SharedSetOperation();
sharedSetOperation.setOperator(Operator.ADD);
sharedSetOperation.setOperand(sharedSet);
// Add the shared set.
sharedSet = sharedSetService.mutate(new SharedSetOperation[] { sharedSetOperation }).getValue(0);
System.out.printf("Shared set with ID %d and name '%s' was successfully added.%n", sharedSet.getSharedSetId(), sharedSet.getName());
// Add negative keywords to the shared set.
List<SharedCriterionOperation> sharedCriterionOperations = new ArrayList<>();
for (String keyword : keywords) {
Keyword keywordCriterion = new Keyword();
keywordCriterion.setText(keyword);
keywordCriterion.setMatchType(KeywordMatchType.BROAD);
SharedCriterion sharedCriterion = new SharedCriterion();
sharedCriterion.setCriterion(keywordCriterion);
sharedCriterion.setNegative(true);
sharedCriterion.setSharedSetId(sharedSet.getSharedSetId());
SharedCriterionOperation sharedCriterionOperation = new SharedCriterionOperation();
sharedCriterionOperation.setOperator(Operator.ADD);
sharedCriterionOperation.setOperand(sharedCriterion);
sharedCriterionOperations.add(sharedCriterionOperation);
}
// Get the SharedCriterionService.
SharedCriterionServiceInterface sharedCriterionService = adWordsServices.get(session, SharedCriterionServiceInterface.class);
SharedCriterionReturnValue sharedCriterionReturnValue = sharedCriterionService.mutate(sharedCriterionOperations.toArray(new SharedCriterionOperation[sharedCriterionOperations.size()]));
for (SharedCriterion addedCriterion : sharedCriterionReturnValue.getValue()) {
System.out.printf("Added shared criterion ID %d with text '%s' to shared set with ID %d.%n", addedCriterion.getCriterion().getId(), ((Keyword) addedCriterion.getCriterion()).getText(), addedCriterion.getSharedSetId());
}
// Attach the negative keyword shared set to the campaign.
CampaignSharedSetServiceInterface campaignSharedSetService = adWordsServices.get(session, CampaignSharedSetServiceInterface.class);
CampaignSharedSet campaignSharedSet = new CampaignSharedSet();
campaignSharedSet.setCampaignId(campaignId);
campaignSharedSet.setSharedSetId(sharedSet.getSharedSetId());
CampaignSharedSetOperation campaignSharedSetOperation = new CampaignSharedSetOperation();
campaignSharedSetOperation.setOperator(Operator.ADD);
campaignSharedSetOperation.setOperand(campaignSharedSet);
campaignSharedSet = campaignSharedSetService.mutate(new CampaignSharedSetOperation[] { campaignSharedSetOperation }).getValue(0);
System.out.printf("Shared set ID %d was attached to campaign ID %d.%n", campaignSharedSet.getSharedSetId(), campaignSharedSet.getCampaignId());
}
use of com.google.api.ads.adwords.axis.v201809.cm.Campaign in project googleads-java-lib by googleads.
the class GetAdGroupBidModifier method runExample.
/**
* Runs the example.
*
* @param adWordsServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
// Get the AdGroupBidModifierService.
AdGroupBidModifierServiceInterface adGroupBidModifierService = adWordsServices.get(session, AdGroupBidModifierServiceInterface.class);
// Create selector.
Selector selector = new SelectorBuilder().fields(AdGroupBidModifierField.CampaignId, AdGroupBidModifierField.AdGroupId, AdGroupBidModifierField.BidModifier, AdGroupBidModifierField.Id).offset(0).limit(PAGE_SIZE).build();
AdGroupBidModifierPage page = adGroupBidModifierService.get(selector);
if (page.getEntries() != null) {
for (AdGroupBidModifier bidModifierResult : page.getEntries()) {
String bidModifierValue = bidModifierResult.getBidModifier() != null ? bidModifierResult.getBidModifier().toString() : "unset";
System.out.printf("Campaign ID %d, AdGroup ID %d, Criterion ID %d, " + "has ad group level modifier: %s%n", bidModifierResult.getCampaignId(), bidModifierResult.getAdGroupId(), bidModifierResult.getCriterion().getId(), bidModifierValue);
}
} else {
System.out.println("No ad group level bid modifiers were found.");
}
}
Aggregations