public static void runExample(
      AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
    // Get the ConversionTrackerService.
    ConversionTrackerServiceInterface service =
        adWordsServices.get(session, ConversionTrackerServiceInterface.class);

    List<ConversionTracker> conversionTrackers = new ArrayList<>();

    // Create an AdWords conversion tracker.
    AdWordsConversionTracker adWordsConversionTracker = new AdWordsConversionTracker();
    adWordsConversionTracker.setName("Earth to Mars Cruises Conversion # "
        + System.currentTimeMillis());
    adWordsConversionTracker.setCategory(ConversionTrackerCategory.DEFAULT);

    // You can optionally provide these field(s).
    adWordsConversionTracker.setStatus(ConversionTrackerStatus.ENABLED);
    adWordsConversionTracker.setViewthroughLookbackWindow(15);
    adWordsConversionTracker.setDefaultRevenueValue(1d);
    adWordsConversionTracker.setAlwaysUseDefaultRevenueValue(Boolean.TRUE);
    conversionTrackers.add(adWordsConversionTracker);

    // Create an upload conversion for offline conversion imports.
    UploadConversion uploadConversion = new UploadConversion();
    // Set an appropriate category. This field is optional, and will be set to
    // DEFAULT if not mentioned.
    uploadConversion.setCategory(ConversionTrackerCategory.LEAD);
    uploadConversion.setName("Upload Conversion #" + System.currentTimeMillis());
    uploadConversion.setViewthroughLookbackWindow(30);
    uploadConversion.setCtcLookbackWindow(90);

    // Optional: Set the default currency code to use for conversions
    // that do not specify a conversion currency. This must be an ISO 4217
    // 3-character currency code such as "EUR" or "USD".
    // If this field is not set on this UploadConversion, AdWords will use
    // the account's currency.
    uploadConversion.setDefaultRevenueCurrencyCode("EUR");

    // Optional: Set the default revenue value to use for conversions
    // that do not specify a conversion value. Note that this value
    // should NOT be in micros.
    uploadConversion.setDefaultRevenueValue(2.50);
    // Optional: To upload fractional conversion credits, mark the upload conversion
    // as externally attributed. See
    // https://developers.google.com/adwords/api/docs/guides/conversion-tracking#importing_externally_attributed_conversions
    // to learn more about importing externally attributed conversions.

    // uploadConversion.setIsExternallyAttributed(true);

    conversionTrackers.add(uploadConversion);

    // Create operations.
    List<ConversionTrackerOperation> operations =
        conversionTrackers.stream()
            .map(
                conversionTracker -> {
                  ConversionTrackerOperation operation = new ConversionTrackerOperation();
                  operation.setOperator(Operator.ADD);
                  operation.setOperand(conversionTracker);
                  return operation;
                })
            .collect(Collectors.toList());

    // Add the conversions.
    ConversionTrackerReturnValue result =
        service.mutate(operations.toArray(new ConversionTrackerOperation[operations.size()]));

    // Display conversion.
    for (ConversionTracker conversionTracker : result.getValue()) {
      System.out.printf(
          "Conversion with ID %d, name '%s', status '%s', " + "category '%s' was added.%n",
          conversionTracker.getId(),
          conversionTracker.getName(),
          conversionTracker.getStatus(),
          conversionTracker.getCategory());
      if (conversionTracker instanceof AdWordsConversionTracker) {
        System.out.printf(
            "Google global site tag:%n%s%n%n", conversionTracker.getGoogleGlobalSiteTag());
        System.out.printf(
            "Google event snippet:%n%s%n%n", conversionTracker.getGoogleEventSnippet());
      }
    }
  }
public static void runExample ( AdWordsServicesInterface adWordsServices , AdWordsSession session ) throws RemoteException { ConversionTrackerServiceInterface service = adWordsServices . get ( session , ConversionTrackerServiceInterface . class ) ; List < ConversionTracker > conversionTrackers = new ArrayList < > ( ) ; AdWordsConversionTracker adWordsConversionTracker = new AdWordsConversionTracker ( ) ; adWordsConversionTracker . setName ( "Earth to Mars Cruises Conversion # " + System . currentTimeMillis ( ) ) ; adWordsConversionTracker . setCategory ( ConversionTrackerCategory . DEFAULT ) ; adWordsConversionTracker . setStatus ( ConversionTrackerStatus . ENABLED ) ; adWordsConversionTracker . setViewthroughLookbackWindow ( 15 ) ; adWordsConversionTracker . setDefaultRevenueValue ( 1d ) ; adWordsConversionTracker . setAlwaysUseDefaultRevenueValue ( Boolean . TRUE ) ; conversionTrackers . add ( adWordsConversionTracker ) ; UploadConversion uploadConversion = new UploadConversion ( ) ; uploadConversion . setCategory ( ConversionTrackerCategory . LEAD ) ; uploadConversion . setName ( "Upload Conversion #" + System . currentTimeMillis ( ) ) ; uploadConversion . setViewthroughLookbackWindow ( 30 ) ; uploadConversion . setCtcLookbackWindow ( 90 ) ; uploadConversion . setDefaultRevenueCurrencyCode ( "EUR" ) ; uploadConversion . setDefaultRevenueValue ( 2.50 ) ; conversionTrackers . add ( uploadConversion ) ; List < ConversionTrackerOperation > operations = conversionTrackers . stream ( ) . map ( conversionTracker -> { ConversionTrackerOperation operation = new ConversionTrackerOperation ( ) ; operation . setOperator ( Operator . ADD ) ; operation . setOperand ( conversionTracker ) ; return operation ; } ) . collect ( Collectors . toList ( ) ) ; ConversionTrackerReturnValue result = service . mutate ( operations . toArray ( new ConversionTrackerOperation [ operations . size ( ) ] ) ) ; for ( ConversionTracker conversionTracker : result . getValue ( ) ) { System . out . printf ( "Conversion with ID %d, name '%s', status '%s', " + "category '%s' was added.%n" , conversionTracker . getId ( ) , conversionTracker . getName ( ) , conversionTracker . getStatus ( ) , conversionTracker . getCategory ( ) ) ; if ( conversionTracker instanceof AdWordsConversionTracker ) { System . out . printf ( "Google global site tag:%n%s%n%n" , conversionTracker . getGoogleGlobalSiteTag ( ) ) ; System . out . printf ( "Google event snippet:%n%s%n%n" , conversionTracker . getGoogleEventSnippet ( ) ) ; } } }
Runs the example.

@param adWordsServices the services factory.
@param session the session.
@throws ApiException if the API request failed with one or more service errors.
@throws RemoteException if the API request failed due to other errors.