code: private static Campaign createCampaign(
        AdWordsServicesInterface adWordsServices,
        AdWordsSession session,
        Long budgetId,
        Long merchantId)
        throws RemoteException {
      // Get the CampaignService
      CampaignServiceInterface campaignService =
          adWordsServices.get(session, CampaignServiceInterface.class);
  
      // Create campaign.
      Campaign campaign = new Campaign();
      campaign.setName("Shopping campaign #" + System.currentTimeMillis());
      // The advertisingChannelType is what makes this a Shopping campaign
      campaign.setAdvertisingChannelType(AdvertisingChannelType.SHOPPING);
  
      // Recommendation: Set the campaign to PAUSED when creating it to prevent
      // the ads from immediately serving. Set to ENABLED once you've added
      // targeting and the ads are ready to serve.
      campaign.setStatus(CampaignStatus.PAUSED);
  
      // Set shared budget (required).
      Budget budget = new Budget();
      budget.setBudgetId(budgetId);
      campaign.setBudget(budget);
  
      // Set bidding strategy (required).
      BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration();
      biddingStrategyConfiguration.setBiddingStrategyType(BiddingStrategyType.MANUAL_CPC);
      campaign.setBiddingStrategyConfiguration(biddingStrategyConfiguration);
  
      // All Shopping campaigns need a ShoppingSetting.
      ShoppingSetting shoppingSetting = new ShoppingSetting();
      shoppingSetting.setSalesCountry("US");
      shoppingSetting.setCampaignPriority(0);
      shoppingSetting.setMerchantId(merchantId);
  
      // Set to 'true' to enable Local Inventory Ads in your campaign.
      shoppingSetting.setEnableLocal(true);
  
      campaign.setSettings(new Setting[] {shoppingSetting});
  
      // Create operation.
      CampaignOperation campaignOperation = new CampaignOperation();
      campaignOperation.setOperand(campaign);
      campaignOperation.setOperator(Operator.ADD);
  
      // Make the mutate request.
      CampaignReturnValue campaignAddResult =
          campaignService.mutate(new CampaignOperation[] {campaignOperation});
  
      return campaignAddResult.getValue(0);
    }
docs: Creates a Shopping campaign.