/// <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)
        {
            using (AdGroupBidModifierService adGroupBidModifierService =
                       (AdGroupBidModifierService)user.GetService(AdWordsService.v201802
                                                                  .AdGroupBidModifierService))
            {
                // Mobile criterion ID.
                long criterionId = 30001;

                // Create the adgroup bid modifier.
                AdGroupBidModifier adGroupBidModifier = new AdGroupBidModifier
                {
                    bidModifier = bidModifier,
                    adGroupId   = adGroupId
                };

                Platform platform = new Platform
                {
                    id = criterionId
                };

                adGroupBidModifier.criterion = platform;

                AdGroupBidModifierOperation operation = new AdGroupBidModifierOperation
                {
                    @operator = Operator.ADD,
                    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);
                }
            }
        }