private static void RestrictFeedItemToAdGroup(AdWordsUser user, SitelinksDataHolder sitelinksData, long?adGroupId) { // Optional: Restrict the first feed item to only serve with ads for the // specified ad group ID. FeedItemAdGroupTarget adGroupTarget = new FeedItemAdGroupTarget() { feedId = sitelinksData.FeedId, feedItemId = sitelinksData.FeedItemIds[0], adGroupId = adGroupId.Value }; using (FeedItemTargetService feedItemTargetService = (FeedItemTargetService)user.GetService( AdWordsService.v201809.FeedItemTargetService)) { FeedItemTargetOperation operation = new FeedItemTargetOperation() { @operator = Operator.ADD, operand = adGroupTarget }; FeedItemTargetReturnValue retval = feedItemTargetService.mutate( new FeedItemTargetOperation[] { operation }); FeedItemAdGroupTarget newAdGroupTarget = (FeedItemAdGroupTarget)retval.value[0]; Console.WriteLine( "Feed item target for feed ID {0} and feed item ID {1}" + " was created to restrict serving to ad group ID {2}", newAdGroupTarget.feedId, newAdGroupTarget.feedItemId, newAdGroupTarget.adGroupId); } }
/// <summary> /// Restricts the feed items to work only with a specific ad group; this prevents the /// feed items from being used elsewhere and makes sure they are used only for /// customizing a specific ad group. /// </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="adGroupIds">The ad group IDs to bind the feed items to..</param> /// <param name="feedItemResourceNames">The resource names of the feed items.</param> private void CreateFeedItemTargets(GoogleAdsClient client, long customerId, long[] adGroupIds, List <string> feedItemResourceNames) { // Get the FeedItemTargetServiceClient. FeedItemTargetServiceClient feedItemTargetService = client.GetService(Services.V4.FeedItemTargetService); // Bind each feed item to a specific ad group to make sure it will only be used to // customize ads inside that ad group; using the feed item elsewhere will result // in an error. for (int i = 0; i < feedItemResourceNames.Count; i++) { string feedItemResourceName = feedItemResourceNames[i]; long adGroupId = adGroupIds[i]; FeedItemTarget feedItemTarget = new FeedItemTarget() { AdGroup = ResourceNames.AdGroup(customerId, adGroupId), FeedItem = feedItemResourceName }; FeedItemTargetOperation feedItemTargetOperation = new FeedItemTargetOperation() { Create = feedItemTarget }; MutateFeedItemTargetsResponse response = feedItemTargetService.MutateFeedItemTargets(customerId.ToString(), new[] { feedItemTargetOperation }); string feedItemTargetResourceName = response.Results[0].ResourceName; Console.WriteLine($"Added feed item target with resource name " + $"'{response.Results[0].ResourceName}'."); } }
/// <summary> /// Restricts the feed item to an ad group. /// </summary> /// <param name="user">The user.</param> /// <param name="feedItem">The feed item.</param> /// <param name="adGroupId">The ad group ID.</param> private static void RestrictFeedItemToAdGroup(AdWordsUser user, FeedItem feedItem, long?adGroupId) { FeedItemAdGroupTarget adGroupTarget = new FeedItemAdGroupTarget() { feedId = feedItem.feedId, feedItemId = feedItem.feedItemId, adGroupId = adGroupId.Value }; using (FeedItemTargetService feedItemTargetService = (FeedItemTargetService)user.GetService( AdWordsService.v201802.FeedItemTargetService)) { FeedItemTargetOperation operation = new FeedItemTargetOperation() { @operator = Operator.ADD, operand = adGroupTarget }; FeedItemTargetReturnValue retval = feedItemTargetService.mutate( new FeedItemTargetOperation[] { operation }); FeedItemAdGroupTarget newAdGroupTarget = (FeedItemAdGroupTarget)retval.value[0]; Console.WriteLine( "Feed item target for feed ID {0} and feed item ID {1}" + " was created to restrict serving to ad group ID {2}", newAdGroupTarget.feedId, newAdGroupTarget.feedItemId, newAdGroupTarget.adGroupId); } }
private static void RestrictFeedItemToGeoTarget(AdWordsUser user, FeedItem feedItem, long locationId) { FeedItemCriterionTarget criterionTarget = new FeedItemCriterionTarget() { feedId = feedItem.feedId, feedItemId = feedItem.feedItemId, // The IDs can be found in the documentation or retrieved with the // LocationCriterionService. criterion = new Location() { id = locationId, } }; using (FeedItemTargetService feedItemTargetService = (FeedItemTargetService)user.GetService( AdWordsService.v201802.FeedItemTargetService)) { FeedItemTargetOperation operation = new FeedItemTargetOperation() { @operator = Operator.ADD, operand = criterionTarget }; FeedItemTargetReturnValue retval = feedItemTargetService.mutate( new FeedItemTargetOperation[] { operation }); FeedItemCriterionTarget newLocationTarget = (FeedItemCriterionTarget)retval.value[0]; Console.WriteLine("Feed item target for feed ID {0} and feed item ID {1}" + " was created to restrict serving to location ID {2}", newLocationTarget.feedId, newLocationTarget.feedItemId, newLocationTarget.criterion.id); } }
/// <summary>Snippet for MutateFeedItemTargets</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void MutateFeedItemTargets() { // Create client FeedItemTargetServiceClient feedItemTargetServiceClient = FeedItemTargetServiceClient.Create(); // Initialize request argument(s) string customerId = ""; IEnumerable <FeedItemTargetOperation> operations = new FeedItemTargetOperation[] { new FeedItemTargetOperation(), }; // Make the request MutateFeedItemTargetsResponse response = feedItemTargetServiceClient.MutateFeedItemTargets(customerId, operations); }
/// <summary>Snippet for MutateFeedItemTargetsAsync</summary> public async Task MutateFeedItemTargetsAsync() { // Snippet: MutateFeedItemTargetsAsync(string, IEnumerable<FeedItemTargetOperation>, CallSettings) // Additional: MutateFeedItemTargetsAsync(string, IEnumerable<FeedItemTargetOperation>, CancellationToken) // Create client FeedItemTargetServiceClient feedItemTargetServiceClient = await FeedItemTargetServiceClient.CreateAsync(); // Initialize request argument(s) string customerId = ""; IEnumerable <FeedItemTargetOperation> operations = new FeedItemTargetOperation[] { new FeedItemTargetOperation(), }; // Make the request MutateFeedItemTargetsResponse response = await feedItemTargetServiceClient.MutateFeedItemTargetsAsync(customerId, operations); // End snippet }
/// <summary> /// Restrict a Feed Item to an AdGroup /// </summary> /// <param name="user">Adwords User Object</param> /// <param name="feedItem">Feed Item</param> /// <param name="adGroupId">Ad Group ID</param> /// <returns>FeedItemAdGroupTarget Object with Details of Updated SiteLink</returns> public FeedItemAdGroupTarget RestrictFeedItemToAdGroup(AdWordsUser user, FeedItem feedItem, long adGroupId) { FeedItemTargetService feedItemTargetService = (FeedItemTargetService)user.GetService(AdWordsService.v201809.FeedItemTargetService); FeedItemAdGroupTarget feedItemAdGroupTarget = new FeedItemAdGroupTarget(); feedItemAdGroupTarget.feedId = feedItem.feedId; feedItemAdGroupTarget.feedItemId = feedItem.feedItemId; feedItemAdGroupTarget.targetType = FeedItemTargetType.AD_GROUP; feedItemAdGroupTarget.adGroupId = adGroupId; FeedItemTargetOperation feedItemTargetOperation = new FeedItemTargetOperation(); feedItemTargetOperation.operand = feedItemAdGroupTarget; feedItemTargetOperation.@operator = Operator.SET; try { FeedItemTargetReturnValue feedItemTargetReturnValue = feedItemTargetService.mutate(new[] { feedItemTargetOperation }); if (feedItemTargetReturnValue.value != null && feedItemTargetReturnValue.value.Length > 0) { FeedItemAdGroupTarget modifiedTargetItem = (FeedItemAdGroupTarget)feedItemTargetReturnValue.value[0]; Logger.Log(Logger.LogType.INFO, "Modification Successful for Feed(ID): " + feedItem.feedId + " with FeedItem(ID): " + feedItem.feedItemId); return(modifiedTargetItem); } else { Logger.Log(Logger.LogType.WARNING, "Nothing Modified for Feed(ID): " + feedItem.feedId + " with FeedItem(ID): " + feedItem.feedItemId); return(null); } } catch (AdWordsApiException ex) { Logger.Log(Logger.LogType.EXCEPTION, Environment.NewLine + ex.Message + Environment.NewLine + ex.InnerException); return(null); } }
/// <summary> /// Targets the feed items to the given ad group. /// </summary> /// <param name="client">The Google Ads client.</param> /// <param name="customerId">The customer ID for which the call is made.</param> /// <param name="adGroupId">The ID of the Ad Group being targeted.</param> /// <param name="feedItem">The feed item that was added to the feed.</param> private void CreateAdGroupTargeting(GoogleAdsClient client, long customerId, long adGroupId, string feedItem) { FeedItemTargetServiceClient feedItemTargetServiceClient = client.GetService(Services.V4.FeedItemTargetService); FeedItemTarget feedItemTarget = new FeedItemTarget() { FeedItem = feedItem, AdGroup = ResourceNames.AdGroup(customerId, adGroupId) }; FeedItemTargetOperation operation = new FeedItemTargetOperation() { Create = feedItemTarget }; MutateFeedItemTargetsResponse response = feedItemTargetServiceClient .MutateFeedItemTargets(customerId.ToString(), new[] { operation }); Console.WriteLine( $"Created feed item target '{response.Results.First().ResourceName}' " + $"for feed item '{feedItem}'."); }