/// <summary> /// Sets the Add action for a new BiddableAdGroupCriterion corresponding to the specified ProductCondition, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="parent">The parent of the product partition subdivision that you want to add.</param> /// <param name="condition">The condition or product filter for the new product partition.</param> /// <returns>The ad group criterion that was added to the list of PartitionActions.</returns> public AdGroupCriterion AddSubdivision( AdGroupCriterion parent, ProductCondition condition ) { var biddableAdGroupCriterion = new BiddableAdGroupCriterion() { Id = this.referenceId--, Criterion = new ProductPartition() { // If the root node is a unit, it would not have a parent ParentCriterionId = parent != null ? parent.Id : null, Condition = condition, PartitionType = ProductPartitionType.Subdivision }, CriterionBid = null, AdGroupId = this.adGroupId }; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Add, AdGroupCriterion = biddableAdGroupCriterion }; this.partitionActions.Add(partitionAction); return(biddableAdGroupCriterion); }
/// <summary> /// Sets the Update action for the specified BiddableAdGroupCriterion, /// and adds it to the helper's list of AdGroupCriterionAction. /// You can only update the CriterionBid and DestinationUrl elements /// of the BiddableAdGroupCriterion. /// When working with product partitions, youu cannot update the Criterion (ProductPartition). /// To update a ProductPartition, you must delete the existing node (DeletePartition) and /// add a new one (AddUnit or AddSubdivision) during the same call to ApplyProductPartitionActions. /// </summary> /// <param name="biddableAdGroupCriterion">The biddable ad group criterion to update.</param> public void UpdatePartition(BiddableAdGroupCriterion biddableAdGroupCriterion) { biddableAdGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Update, AdGroupCriterion = biddableAdGroupCriterion }; this.partitionActions.Add(partitionAction); return; }
/// <summary> /// Sets the Delete action for the specified AdGroupCriterion, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="adGroupCriterion">The ad group criterion whose product partition you want to delete.</param> public void DeletePartition(AdGroupCriterion adGroupCriterion) { adGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Delete, AdGroupCriterion = adGroupCriterion }; this.partitionActions.Add(partitionAction); return; }
/// <summary> /// Sets the Add action for a new AdGroupCriterion corresponding to the specified ProductCondition, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="parent">The parent of the product partition unit that you want to add.</param> /// <param name="condition">The condition or product filter for the new product partition.</param> /// <param name="bidAmount">The bid amount for the new product partition.</param> /// <param name="isNegative">Indicates whether or not to add a NegativeAdGroupCriterion. /// The default value is false, in which case a BiddableAdGroupCriterion will be added.</param> /// <returns>The ad group criterion that was added to the list of PartitionActions.</returns> public AdGroupCriterion AddUnit( AdGroupCriterion parent, ProductCondition condition, double bidAmount, bool isNegative ) { AdGroupCriterion adGroupCriterion; if (isNegative) { adGroupCriterion = new NegativeAdGroupCriterion(); } else { adGroupCriterion = new BiddableAdGroupCriterion() { CriterionBid = new FixedBid() { Bid = new Bid() { Amount = bidAmount } }, DestinationUrl = "http://www.contoso.com/womenshoesale/?season=spring&promocode=PROMO123", }; } adGroupCriterion.Criterion = new ProductPartition() { // If the root node is a unit, it would not have a parent ParentCriterionId = parent != null ? parent.Id : null, Condition = condition, PartitionType = ProductPartitionType.Unit }; adGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Add, AdGroupCriterion = adGroupCriterion }; this.partitionActions.Add(partitionAction); return(adGroupCriterion); }
/// <summary> /// Sets the Add action for a new AdGroupCriterion corresponding to the specified ProductCondition, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="parent">The parent of the product partition unit that you want to add.</param> /// <param name="condition">The condition or product filter for the new product partition.</param> /// <param name="bidAmount">The bid amount for the new product partition.</param> /// <param name="isNegative">Indicates whether or not to add a NegativeAdGroupCriterion. /// The default value is false, in which case a BiddableAdGroupCriterion will be added.</param> /// <returns>The ad group criterion that was added to the list of PartitionActions.</returns> public AdGroupCriterion AddUnit( AdGroupCriterion parent, ProductCondition condition, double bidAmount, bool isNegative ) { AdGroupCriterion adGroupCriterion; if (isNegative) { adGroupCriterion = new NegativeAdGroupCriterion(); } else { adGroupCriterion = new BiddableAdGroupCriterion() { CriterionBid = new FixedBid() { Bid = new Bid() { Amount = bidAmount } } }; } adGroupCriterion.Criterion = new ProductPartition() { // If the root node is a unit, it would not have a parent ParentCriterionId = parent != null ? parent.Id : null, Condition = condition, PartitionType = ProductPartitionType.Unit }; adGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Add, AdGroupCriterion = adGroupCriterion }; this.partitionActions.Add(partitionAction); return(adGroupCriterion); }
/// <summary> /// Sets the Update action for the specified BiddableAdGroupCriterion, /// and adds it to the helper's list of AdGroupCriterionAction. /// You can only update the CriterionBid, DestinationUrl, Param1, Param2, and Param3 elements /// of the BiddableAdGroupCriterion. /// When working with product partitions, youu cannot update the Criterion (ProductPartition). /// To update a ProductPartition, you must delete the existing node (DeletePartition) and /// add a new one (AddUnit or AddSubdivision) during the same call to ApplyProductPartitionActions. /// </summary> /// <param name="biddableAdGroupCriterion">The biddable ad group criterion to update.</param> public void UpdatePartition(BiddableAdGroupCriterion biddableAdGroupCriterion) { biddableAdGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Update, AdGroupCriterion = biddableAdGroupCriterion }; this.partitionActions.Add(partitionAction); return; }
/// <summary> /// Sets the Add action for a new AdGroupCriterion corresponding to the specified ProductCondition, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="parent">The parent of the product partition unit that you want to add.</param> /// <param name="condition">The condition or product filter for the new product partition.</param> /// <param name="bidAmount">The bid amount for the new product partition.</param> /// <param name="isNegative">Indicates whether or not to add a NegativeAdGroupCriterion. /// The default value is false, in which case a BiddableAdGroupCriterion will be added.</param> /// <returns>The ad group criterion that was added to the list of PartitionActions.</returns> public AdGroupCriterion AddUnit( AdGroupCriterion parent, ProductCondition condition, double bidAmount, bool isNegative ) { AdGroupCriterion adGroupCriterion; if (isNegative) { adGroupCriterion = new NegativeAdGroupCriterion(); } else { adGroupCriterion = new BiddableAdGroupCriterion() { CriterionBid = new FixedBid() { Bid = new Bid() { Amount = bidAmount } } }; } adGroupCriterion.Criterion = new ProductPartition() { // If the root node is a unit, it would not have a parent ParentCriterionId = parent != null ? parent.Id : null, Condition = condition, PartitionType = ProductPartitionType.Unit }; adGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Add, AdGroupCriterion = adGroupCriterion }; this.partitionActions.Add(partitionAction); return adGroupCriterion; }
/// <summary> /// Sets the Add action for a new BiddableAdGroupCriterion corresponding to the specified ProductCondition, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="parent">The parent of the product partition subdivision that you want to add.</param> /// <param name="condition">The condition or product filter for the new product partition.</param> /// <returns>The ad group criterion that was added to the list of PartitionActions.</returns> public AdGroupCriterion AddSubdivision( AdGroupCriterion parent, ProductCondition condition ) { var biddableAdGroupCriterion = new BiddableAdGroupCriterion() { Id = this.referenceId--, Criterion = new ProductPartition() { // If the root node is a unit, it would not have a parent ParentCriterionId = parent != null ? parent.Id : null, Condition = condition, PartitionType = ProductPartitionType.Subdivision }, CriterionBid = null, AdGroupId = this.adGroupId }; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Add, AdGroupCriterion = biddableAdGroupCriterion }; this.partitionActions.Add(partitionAction); return biddableAdGroupCriterion; }
/// <summary> /// Sets the Add action for a new AdGroupCriterion corresponding to the specified ProductCondition, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="parent">The parent of the product partition unit that you want to add.</param> /// <param name="condition">The condition or product filter for the new product partition.</param> /// <param name="bidAmount">The bid amount for the new product partition.</param> /// <param name="isNegative">Indicates whether or not to add a NegativeAdGroupCriterion. /// The default value is false, in which case a BiddableAdGroupCriterion will be added.</param> /// <returns>The ad group criterion that was added to the list of PartitionActions.</returns> public AdGroupCriterion AddUnit( AdGroupCriterion parent, ProductCondition condition, double bidAmount, bool isNegative ) { AdGroupCriterion adGroupCriterion; if (isNegative) { adGroupCriterion = new NegativeAdGroupCriterion(); } else { adGroupCriterion = new BiddableAdGroupCriterion() { CriterionBid = new FixedBid() { Amount = bidAmount }, // This destination URL is used if specified; otherwise, the destination URL is determined // by the corresponding value of the 'Link' that you specified for the product offer // in your Bing Merchant Center catalog. DestinationUrl = null, // You could use a tracking template which would override the campaign level // tracking template. Tracking templates defined for lower level entities // override those set for higher level entities. // In this example we are using the campaign level tracking template. TrackingUrlTemplate = null, // Set custom parameters that are specific to this criterion, // and can be used by the criterion, ad group, campaign, or account level tracking template. // In this example we are using the campaign level tracking template. UrlCustomParameters = new CustomParameters { Parameters = new[] { new CustomParameter() { Key = "promoCode", Value = "PROMO1" }, new CustomParameter() { Key = "season", Value = "summer" }, } } }; } adGroupCriterion.Criterion = new ProductPartition() { // If the root node is a unit, it would not have a parent ParentCriterionId = parent != null ? parent.Id : null, Condition = condition, PartitionType = ProductPartitionType.Unit }; adGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Add, AdGroupCriterion = adGroupCriterion }; this.partitionActions.Add(partitionAction); return(adGroupCriterion); }
/// <summary> /// Sets the Add action for a new AdGroupCriterion corresponding to the specified ProductCondition, /// and adds it to the helper's list of AdGroupCriterionAction. /// </summary> /// <param name="parent">The parent of the product partition unit that you want to add.</param> /// <param name="condition">The condition or product filter for the new product partition.</param> /// <param name="bidAmount">The bid amount for the new product partition.</param> /// <param name="isNegative">Indicates whether or not to add a NegativeAdGroupCriterion. /// The default value is false, in which case a BiddableAdGroupCriterion will be added.</param> /// <returns>The ad group criterion that was added to the list of PartitionActions.</returns> public AdGroupCriterion AddUnit( AdGroupCriterion parent, ProductCondition condition, double bidAmount, bool isNegative ) { AdGroupCriterion adGroupCriterion; if (isNegative) { adGroupCriterion = new NegativeAdGroupCriterion(); } else { adGroupCriterion = new BiddableAdGroupCriterion() { CriterionBid = new FixedBid() { Bid = new Bid() { Amount = bidAmount } }, DestinationUrl = "http://www.contoso.com/womenshoesale/?season=spring&promocode=PROMO123", }; } adGroupCriterion.Criterion = new ProductPartition() { // If the root node is a unit, it would not have a parent ParentCriterionId = parent != null ? parent.Id : null, Condition = condition, PartitionType = ProductPartitionType.Unit }; adGroupCriterion.AdGroupId = this.adGroupId; var partitionAction = new AdGroupCriterionAction() { Action = ItemAction.Add, AdGroupCriterion = adGroupCriterion }; this.partitionActions.Add(partitionAction); return adGroupCriterion; }