יוצרים את הקריטריונים של הקמפיין

קמפיינים למיקסום ביצועים תומכים בסוגי הקריטריונים הבאים:

אפשר להשתמש גם בקריטריונים חיוביים וגם בקריטריונים שליליים, למעט BRAND סוג קריטריון, שיכול לשמש רק כשלילי לצורך החרגת מותגים טירגוט.

עבור טירגוט למיקום גיאוגרפי, קמפיין עם כברירת מחדל, לא צוינו קבוצות מיקומים או קבוצות לפי מיקום שכוללות את כל האזורים.

אפשר להשתמש בקריטריונים שליליים מסוג WEBPAGE כדי להחריג כתובות URL ספציפיות מ התאמת כתובת URL סופית. מידע נוסף על התאמת כתובת URL סופית וגם החרגת כתובות URL.

Java

/** Creates a list of MutateOperations that create new campaign criteria. */
private List<MutateOperation> createCampaignCriterionOperations(long customerId) {
  String campaignResourceName =
      ResourceNames.campaign(customerId, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID);
  List<CampaignCriterion> campaignCriteria = new ArrayList<>();
  // Sets the LOCATION campaign criteria.
  // Targets all of New York City except Brooklyn.
  // Location IDs are listed here:
  // https://developers.google.com/google-ads/api/reference/data/geotargets
  // and they can also be retrieved using the GeoTargetConstantService as shown
  // here: https://developers.google.com/google-ads/api/docs/targeting/location-targeting
  //
  // We will add one positive location target for New York City (ID=1023191)
  // and one negative location target for Brooklyn (ID=1022762).
  // First, adds the positive (negative = False) for New York City.
  campaignCriteria.add(
      CampaignCriterion.newBuilder()
          .setCampaign(campaignResourceName)
          .setLocation(
              LocationInfo.newBuilder()
                  .setGeoTargetConstant(ResourceNames.geoTargetConstant(1023191))
                  .build())
          .setNegative(false)
          .build());
  // Next adds the negative target for Brooklyn.
  campaignCriteria.add(
      CampaignCriterion.newBuilder()
          .setCampaign(campaignResourceName)
          .setLocation(
              LocationInfo.newBuilder()
                  .setGeoTargetConstant(ResourceNames.geoTargetConstant(1022762))
                  .build())
          .setNegative(true)
          .build());
  // Sets the LANGUAGE campaign criterion.
  campaignCriteria.add(
      CampaignCriterion.newBuilder()
          .setCampaign(campaignResourceName)
          // Sets the language.
          // For a list of all language codes, see:
          // https://developers.google.com/google-ads/api/reference/data/codes-formats#expandable-7
          .setLanguage(
              LanguageInfo.newBuilder()
                  .setLanguageConstant(ResourceNames.languageConstant(1000)) // English
                  .build())
          .build());
  // Returns a list of mutate operations with one operation per criterion.
  return campaignCriteria.stream()
      .map(
          criterion ->
              MutateOperation.newBuilder()
                  .setCampaignCriterionOperation(
                      CampaignCriterionOperation.newBuilder().setCreate(criterion).build())
                  .build())
      .collect(Collectors.toList());
}
      

C#‎

/// <summary>
/// Creates a list of MutateOperations that create new campaign criteria.
/// </summary>
/// <param name="campaignResourceName">The campaign resource name.</param>
/// <returns>A list of MutateOperations that create new campaign criteria.</returns>
private List<MutateOperation> CreateCampaignCriterionOperations(
    string campaignResourceName)
{
    List<MutateOperation> operations = new List<MutateOperation>();

    // Set the LOCATION campaign criteria.
    // Target all of New York City except Brooklyn.
    // Location IDs are listed here:
    // https://developers.google.com/google-ads/api/reference/data/geotargets
    // and they can also be retrieved using the GeoTargetConstantService as shown
    // here: https://developers.google.com/google-ads/api/docs/targeting/location-targeting
    //
    // We will add one positive location target for New York City (ID=1023191)
    // and one negative location target for Brooklyn (ID=1022762).
    // First, add the positive (negative = False) for New York City.
    MutateOperation operation1 = new MutateOperation()
    {
        CampaignCriterionOperation = new CampaignCriterionOperation()
        {
            Create = new CampaignCriterion()
            {
                Campaign = campaignResourceName,
                Location = new LocationInfo()
                {
                    GeoTargetConstant = ResourceNames.GeoTargetConstant(1023191)
                },

                Negative = false
            }
        }
    };

    operations.Add(operation1);

    // Next add the negative target for Brooklyn.
    MutateOperation operation2 = new MutateOperation()
    {
        CampaignCriterionOperation = new CampaignCriterionOperation()
        {
            Create = new CampaignCriterion()
            {
                Campaign = campaignResourceName,
                Location = new LocationInfo()
                {
                    GeoTargetConstant = ResourceNames.GeoTargetConstant(1022762)
                },

                Negative = true
            }
        }
    };

    operations.Add(operation2);

    // Set the LANGUAGE campaign criterion.
    MutateOperation operation3 = new MutateOperation()
    {
        CampaignCriterionOperation = new CampaignCriterionOperation()
        {
            Create = new CampaignCriterion()
            {
                Campaign = campaignResourceName,

                // Set the language.
                // For a list of all language codes, see:
                // https://developers.google.com/google-ads/api/reference/data/codes-formats#expandable-7
                Language = new LanguageInfo()
                {
                    LanguageConstant = ResourceNames.LanguageConstant(1000) // English
                },
            }
        }
    };

    operations.Add(operation3);

    return operations;
}

      

PHP

private static function createCampaignCriterionOperations(int $customerId): array
{
    $operations = [];
    // Set the LOCATION campaign criteria.
    // Target all of New York City except Brooklyn.
    // Location IDs are listed here:
    // https://developers.google.com/google-ads/api/reference/data/geotargets
    // and they can also be retrieved using the GeoTargetConstantService as shown
    // here: https://developers.google.com/google-ads/api/docs/targeting/location-targeting
    //
    // We will add one positive location target for New York City (ID=1023191)
    // and one negative location target for Brooklyn (ID=1022762).
    // First, adds the positive (negative = false) for New York City.
    $operations[] = new MutateOperation([
        'campaign_criterion_operation' => new CampaignCriterionOperation([
            'create' => new CampaignCriterion([
                'campaign' => ResourceNames::forCampaign(
                    $customerId,
                    self::PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
                ),
                'location' => new LocationInfo([
                    'geo_target_constant' => ResourceNames::forGeoTargetConstant(1023191)
                ]),
                'negative' => false
            ])
        ])
    ]);

    // Next adds the negative target for Brooklyn.
    $operations[] = new MutateOperation([
        'campaign_criterion_operation' => new CampaignCriterionOperation([
            'create' => new CampaignCriterion([
                'campaign' => ResourceNames::forCampaign(
                    $customerId,
                    self::PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
                ),
                'location' => new LocationInfo([
                    'geo_target_constant' => ResourceNames::forGeoTargetConstant(1022762)
                ]),
                'negative' => true
            ])
        ])
    ]);

    // Sets the LANGUAGE campaign criterion.
    $operations[] = new MutateOperation([
        'campaign_criterion_operation' => new CampaignCriterionOperation([
            'create' => new CampaignCriterion([
                'campaign' => ResourceNames::forCampaign(
                    $customerId,
                    self::PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
                ),
                // Set the language.
                // For a list of all language codes, see:
                // https://developers.google.com/google-ads/api/reference/data/codes-formats#expandable-7
                'language' => new LanguageInfo([
                    'language_constant' => ResourceNames::forLanguageConstant(1000)  // English
                ])
            ])
        ])
    ]);

    return $operations;
}
      

Python

def create_campaign_criterion_operations(
    client,
    customer_id,
):
    """Creates a list of MutateOperations that create new campaign criteria.

    Args:
        client: an initialized GoogleAdsClient instance.
        customer_id: a client customer ID.

    Returns:
        a list of MutateOperations that create new campaign criteria.
    """
    campaign_service = client.get_service("CampaignService")
    geo_target_constant_service = client.get_service("GeoTargetConstantService")
    googleads_service = client.get_service("GoogleAdsService")

    operations = []
    # Set the LOCATION campaign criteria.
    # Target all of New York City except Brooklyn.
    # Location IDs are listed here:
    # https://developers.google.com/google-ads/api/reference/data/geotargets
    # and they can also be retrieved using the GeoTargetConstantService as shown
    # here: https://developers.google.com/google-ads/api/docs/targeting/location-targeting
    #
    # We will add one positive location target for New York City (ID=1023191)
    # and one negative location target for Brooklyn (ID=1022762).
    # First, add the positive (negative = False) for New York City.
    mutate_operation = client.get_type("MutateOperation")
    campaign_criterion = mutate_operation.campaign_criterion_operation.create
    campaign_criterion.campaign = campaign_service.campaign_path(
        customer_id, _PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
    )
    campaign_criterion.location.geo_target_constant = (
        geo_target_constant_service.geo_target_constant_path("1023191")
    )
    campaign_criterion.negative = False
    operations.append(mutate_operation)

    # Next add the negative target for Brooklyn.
    mutate_operation = client.get_type("MutateOperation")
    campaign_criterion = mutate_operation.campaign_criterion_operation.create
    campaign_criterion.campaign = campaign_service.campaign_path(
        customer_id, _PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
    )
    campaign_criterion.location.geo_target_constant = (
        geo_target_constant_service.geo_target_constant_path("1022762")
    )
    campaign_criterion.negative = True
    operations.append(mutate_operation)

    # Set the LANGUAGE campaign criterion.
    mutate_operation = client.get_type("MutateOperation")
    campaign_criterion = mutate_operation.campaign_criterion_operation.create
    campaign_criterion.campaign = campaign_service.campaign_path(
        customer_id, _PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
    )
    # Set the language.
    # For a list of all language codes, see:
    # https://developers.google.com/google-ads/api/reference/data/codes-formats#expandable-7
    campaign_criterion.language.language_constant = (
        googleads_service.language_constant_path("1000")
    )  # English
    operations.append(mutate_operation)

    return operations
      

Ruby

# Creates a list of MutateOperations that create new campaign criteria.
def create_campaign_criterion_operations(client, customer_id)
  operations = []

  # Set the LOCATION campaign criteria.
  # Target all of New York City except Brooklyn.
  # Location IDs are listed here:
  # https://developers.google.com/google-ads/api/reference/data/geotargets
  # and they can also be retrieved using the GeoTargetConstantService as shown
  # here: https://developers.google.com/google-ads/api/docs/targeting/location-targeting
  #
  # We will add one positive location target for New York City (ID=1023191)
  # and one negative location target for Brooklyn (ID=1022762).
  # First, add the positive (negative = false) for New York City.
  operations << client.operation.mutate do |m|
    m.campaign_criterion_operation =
      client.operation.create_resource.campaign_criterion do |cc|
      cc.campaign = client.path.campaign(
        customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID)
      cc.location = client.resource.location_info do  |li|
        li.geo_target_constant = client.path.geo_target_constant("1023191")
      end
      cc.negative = false
    end
  end

  # Next add the negative target for Brooklyn.
  operations << client.operation.mutate do |m|
    m.campaign_criterion_operation =
      client.operation.create_resource.campaign_criterion do |cc|
      cc.campaign = client.path.campaign(
        customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID)
      cc.location = client.resource.location_info do  |li|
        li.geo_target_constant = client.path.geo_target_constant("1022762")
      end
      cc.negative = true
    end
  end

  # Set the LANGUAGE campaign criterion.
  operations << client.operation.mutate do |m|
    m.campaign_criterion_operation =
      client.operation.create_resource.campaign_criterion do |cc|
      cc.campaign = client.path.campaign(
        customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID)
      # Set the language.
      # For a list of all language codes, see:
      # https://developers.google.com/google-ads/api/reference/data/codes-formats#expandable-7
      cc.language = client.resource.language_info do |li|
        li.language_constant = client.path.language_constant("1000")  # English
      end
    end
  end

  operations
end
      

Perl

sub create_campaign_criterion_operations {
  my ($customer_id) = @_;

  my $operations = [];
  # Set the LOCATION campaign criteria.
  # Target all of New York City except Brooklyn.
  # Location IDs are listed here:
  # https://developers.google.com/google-ads/api/reference/data/geotargets
  # and they can also be retrieved using the GeoTargetConstantService as shown
  # here: https://developers.google.com/google-ads/api/docs/targeting/location-targeting.
  #
  # We will add one positive location target for New York City (ID=1023191)
  # and one negative location target for Brooklyn (ID=1022762).
  # First, add the positive (negative = false) for New York City.
  push @$operations,
    Google::Ads::GoogleAds::V17::Services::GoogleAdsService::MutateOperation->
    new({
      campaignCriterionOperation =>
        Google::Ads::GoogleAds::V17::Services::CampaignCriterionService::CampaignCriterionOperation
        ->new({
          create =>
            Google::Ads::GoogleAds::V17::Resources::CampaignCriterion->new({
              campaign =>
                Google::Ads::GoogleAds::V17::Utils::ResourceNames::campaign(
                $customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
                ),
              location =>
                Google::Ads::GoogleAds::V17::Common::LocationInfo->new({
                  geoTargetConstant =>
                    Google::Ads::GoogleAds::V17::Utils::ResourceNames::geo_target_constant(
                    1023191)}
                ),
              negative => "false"
            })})});

  # Next add the negative target for Brooklyn.
  push @$operations,
    Google::Ads::GoogleAds::V17::Services::GoogleAdsService::MutateOperation->
    new({
      campaignCriterionOperation =>
        Google::Ads::GoogleAds::V17::Services::CampaignCriterionService::CampaignCriterionOperation
        ->new({
          create =>
            Google::Ads::GoogleAds::V17::Resources::CampaignCriterion->new({
              campaign =>
                Google::Ads::GoogleAds::V17::Utils::ResourceNames::campaign(
                $customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
                ),
              location =>
                Google::Ads::GoogleAds::V17::Common::LocationInfo->new({
                  geoTargetConstant =>
                    Google::Ads::GoogleAds::V17::Utils::ResourceNames::geo_target_constant(
                    1022762)}
                ),
              negative => "true"
            })})});

  # Set the LANGUAGE campaign criterion.
  push @$operations,
    Google::Ads::GoogleAds::V17::Services::GoogleAdsService::MutateOperation->
    new({
      campaignCriterionOperation =>
        Google::Ads::GoogleAds::V17::Services::CampaignCriterionService::CampaignCriterionOperation
        ->new({
          create =>
            Google::Ads::GoogleAds::V17::Resources::CampaignCriterion->new({
              campaign =>
                Google::Ads::GoogleAds::V17::Utils::ResourceNames::campaign(
                $customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID
                ),
              # Set the language.
              # For a list of all language codes, see:
              # https://developers.google.com/google-ads/api/reference/data/codes-formats#expandable-7.
              language =>
                Google::Ads::GoogleAds::V17::Common::LanguageInfo->new({
                  languageConstant =>
                    Google::Ads::GoogleAds::V17::Utils::ResourceNames::language_constant(
                    1000)    # English
                })})})});

  return $operations;
}