code: private static AdGroup createAdGroup(
        AdWordsServicesInterface adWordsServices, AdWordsSession session, Campaign campaign)
        throws RemoteException {
      // Get the AdGroupService.
      AdGroupServiceInterface adGroupService =
          adWordsServices.get(session, AdGroupServiceInterface.class);
  
      // Create ad group.
      AdGroup adGroup = new AdGroup();
      adGroup.setCampaignId(campaign.getId());
      adGroup.setName("Ad Group #" + System.currentTimeMillis());
  
      // Required: Set the ad group type to SHOPPING_SHOWCASE_ADS.
      adGroup.setAdGroupType(AdGroupType.SHOPPING_SHOWCASE_ADS);
  
      // Required: Set the ad group's bidding strategy configuration.
      // Note: Showcase ads require that the campaign has a ManualCpc BiddingStrategyConfiguration.
      BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration();
  
      // Optional: Set the bids.
      Money bidAmount = new Money();
      bidAmount.setMicroAmount(100000L);
      CpcBid cpcBid = new CpcBid();
      cpcBid.setBid(bidAmount);
      biddingStrategyConfiguration.setBids(new Bids[] {cpcBid});
  
      adGroup.setBiddingStrategyConfiguration(biddingStrategyConfiguration);
  
      // Create operation.
      AdGroupOperation adGroupOperation = new AdGroupOperation();
      adGroupOperation.setOperand(adGroup);
      adGroupOperation.setOperator(Operator.ADD);
  
      // Make the mutate request.
      AdGroupReturnValue adGroupAddResult =
          adGroupService.mutate(new AdGroupOperation[] {adGroupOperation});
  
      return adGroupAddResult.getValue(0);
    }
docs: Creates an ad group in the Shopping campaign.