/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="adGroupId">Id of the adgroup for which bid modifier is /// set.</param> /// <param name="bidModifier">The mobile bid modifier for adgroup</param> public void Run(AdWordsUser user, long adGroupId, double bidModifier) { // Get the AdGroupAdService. AdGroupBidModifierService adGroupBidModifierService = (AdGroupBidModifierService) user.GetService( AdWordsService.v201509.AdGroupBidModifierService); // Mobile criterion ID. long criterionId = 30001; // Create the adgroup bid modifier. AdGroupBidModifier adGroupBidModifier = new AdGroupBidModifier(); adGroupBidModifier.bidModifier = bidModifier; adGroupBidModifier.adGroupId = adGroupId; Platform platform = new Platform(); platform.id = criterionId; adGroupBidModifier.criterion = platform; AdGroupBidModifierOperation operation = new AdGroupBidModifierOperation(); operation.@operator = Operator.ADD; operation.operand = adGroupBidModifier; try { // Add ad group level mobile bid modifier. AdGroupBidModifierReturnValue retval = adGroupBidModifierService.mutate( new AdGroupBidModifierOperation[] {operation}); // Display the results. if (retval != null && retval.value != null && retval.value.Length > 0) { AdGroupBidModifier newBidModifier = retval.value[0]; Console.WriteLine("AdGroup ID {0}, Criterion ID {1} was updated with ad group level " + "modifier: {2}", newBidModifier.adGroupId, newBidModifier.criterion.id, newBidModifier.bidModifier); } else { Console.WriteLine("No bid modifiers were added to the adgroup."); } } catch (Exception e) { throw new System.ApplicationException("Failed to add bid modifiers to adgroup.", e); } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="client">The Google Ads client.</param> /// <param name="customerId">The Google Ads customer ID for which the call is made.</param> /// <param name="adGroupId">The ad group to which bid modifiers are set.</param> public void Run(GoogleAdsClient client, long customerId, long adGroupId) { // Get the AdGroupBidModifierService. AdGroupBidModifierServiceClient service = client.GetService( Services.V3.AdGroupBidModifierService); // Constructs the ad group resource name to use for each bid modifier. string adGroupResourceName = ResourceNames.AdGroup(customerId, adGroupId); // 1) Create an ad group bid modifier based on the hotel check-in day. AdGroupBidModifier checkInDayAdGroupBidModifier = new AdGroupBidModifier() { // Sets the resource name to the ad group resource name joined with the criterion // ID whose value corresponds to the desired check-in day. AdGroup = adGroupResourceName, HotelCheckInDay = new HotelCheckInDayInfo() { DayOfWeek = DayOfWeek.Monday }, // Set the bid modifier value to 150%. BidModifier = 1.5, }; // Creates an ad group bid modifier operation. var checkInDayAdGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = checkInDayAdGroupBidModifier }; // 2) Create an ad group bid modifier based on the hotel length of stay. AdGroupBidModifier lengthOfStayAdGroupBidModifier = new AdGroupBidModifier() { // Set the ad group. AdGroup = ResourceNames.AdGroup(customerId, adGroupId), // Set the hotel length of stay info. HotelLengthOfStay = new HotelLengthOfStayInfo() { MinNights = 3, MaxNights = 7 }, // Set the bid modifier value to 170%. BidModifier = 1.7 }; // Create an ad group bid modifier operation. var lengthOfStayAdGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = lengthOfStayAdGroupBidModifier }; try { // Issue a mutate request to add an ad group bid modifiers. MutateAdGroupBidModifiersResponse response = service.MutateAdGroupBidModifiers( customerId.ToString(), new AdGroupBidModifierOperation[] { checkInDayAdGroupBidModifierOperation, lengthOfStayAdGroupBidModifierOperation } ); // Display the resource names of the added ad group bid modifiers. Console.WriteLine($"Added {response.Results.Count} hotel ad group bid modifiers:"); foreach (MutateAdGroupBidModifierResult result in response.Results) { Console.WriteLine($"- {result.ResourceName}"); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }