Campaign Location Criterion Record - Bulk

Defines a campaign location criterion that can be used to show ads to users in a specific location.

With location criterions, you can choose to show ads to potential customers in, searching for, or viewing pages about:

  • All available countries/regions
  • Selected cities, zip codes, metro areas (Nielsen DMA┬« in the United States), counties, states/provinces, and countries/regions

Each location criterion defines a location code for the accompanying criterion bid adjustment.

The maximum number of combined location and negative location criterions that you can specify per campaign or ad group is 10,000.

Note

You can only have one Campaign Location Intent Criterion record per campaign to determine the location intent option that applies for all of the campaign's Campaign Location Criterion and Campaign Radius Criterion records. When you create the campaign's first criterion, a Campaign Location Intent Criterion record will also be added automatically with the default Target set to PeopleInOrSearchingForOrViewingPages. You can add or update a campaign's Campaign Location Intent Criterion, whether or not the campaign has any other criterions. You cannot delete a campaign's Campaign Location Intent Criterion, although it has no purpose without location or radius criterions.

If ad group level location criterions are specified (positive or negative), the campaign level location criterions are ignored for that ad group. In other words the ad group location criterions override the campaign location criterions, and are not applied as a union.

Also note that you must consider the location, negative location, and radius criterions as a set of geo criterions. If the ad group has any geo criterions, then none of the campaign's geo criterions are inherited. If the ad group doesn't have any geo criterions, then all of the campaign's geo criterions are inherited. The geo criterions can be inherited from the campaign even if the ad group has a location intent criterion. If the ad group's geo criterions are used, then the ad group's location intent criterion is used; if the campaign's geo criterions are inherited, then the campaign's location intent criterion is used and the ad group's location intent criterion is ignored. You cannot delete a campaign or ad group's location intent criterion, although it has no purpose without location or radius criterions.

Tip

For an overview of how to use target criterions, see Show Ads to Your Target Audience.

You can download all Campaign Location Criterion records in the account by including the DownloadEntity value of CampaignTargetCriterions in the DownloadCampaignsByAccountIds or DownloadCampaignsByCampaignIds service request. Additionally the download request must include the EntityData scope. For more details about the Bulk service including best practices, see Bulk Download and Upload.

The following Bulk CSV example would add a new campaign location criterion if a valid Parent Id value is provided.

Type,Status,Id,Parent Id,Sub Type,Campaign,Client Id,Modified Time,Target,Bid Adjustment,Name,Radius,Unit,From Hour,From Minute,To Hour,To Minute,Latitude,Longitude
Format Version,,,,,,,,,,6.0,,,,,,,,
Campaign Location Criterion,Active,,-111,Country,,ClientIdGoesHere,,190,20,,,,,,,,,

If you are using the Bing Ads SDKs for .NET, Java, or Python, you can save time using the BulkServiceManager to upload and download the BulkCampaignLocationCriterion object, instead of calling the service operations directly and writing custom code to parse each field in the bulk file.

var uploadEntities = new List<BulkEntity>();

// Map properties in the Bulk file to the BulkCampaignLocationCriterion
var bulkCampaignLocationCriterion = new BulkCampaignLocationCriterion
{
    // 'Campaign' column header in the Bulk file is read-only
    CampaignName = null,

    // 'Client Id' column header in the Bulk file
    ClientId = "ClientIdGoesHere",

    // Map properties in the Bulk file to the 
    // BiddableCampaignCriterion object of the Campaign Management service.

    CampaignCriterion = new BiddableCampaignCriterion
    {
        // 'Parent Id' column header in the Bulk file
        CampaignId = campaignIdKey,

        Criterion = new LocationCriterion
        {
            // 'Target' column header in the Bulk file
            LocationId = 190,

            // 'Sub Type' column header in the Bulk file
            LocationType = "Country"
        },

        CriterionBid = new BidMultiplier
        {
            // 'Bid Adjustment' column header in the Bulk file
            Multiplier = 20,
        },

        // 'Id' column header in the Bulk file
        Id = null,

        // 'Status' column header in the Bulk file
        Status = CampaignCriterionStatus.Active,
    }
};

uploadEntities.Add(bulkCampaignLocationCriterion);

var entityUploadParameters = new EntityUploadParameters
{
    Entities = uploadEntities,
    ResponseMode = ResponseMode.ErrorsAndResults,
    ResultFileDirectory = FileDirectory,
    ResultFileName = DownloadFileName,
    OverwriteResultFile = true,
};

var uploadResultEntities = (await BulkServiceManager.UploadEntitiesAsync(entityUploadParameters)).ToList();

For a Campaign Location Criterion record, the following attribute fields are available in the Bulk File Schema.

Bid Adjustment

The percentage amount that you want to adjust the bid for the corresponding Target.

Supported values are negative ninety (-90) through positive nine hundred (900).

Add: Optional. The bid adjustment will be set to the default of 0 if not included.
Update: Required
Delete: Read-only

Campaign

The name of the campaign where this criterion is applied or removed.

Add: Read-only
Update: Read-only
Delete: Read-only

Client Id

Used to associate records in the bulk upload file with records in the results file. The value of this field is not used or stored by the server; it is simply copied from the uploaded record to the corresponding result record. It may be any valid string to up 100 in length.

Add: Optional
Update: Optional
Delete: Optional

Id

The Microsoft Advertising unique identifier of the criterion.

Add: Read-only
Update: Read-only and Required
Delete: Read-only and Required

Modified Time

The date and time that the entity was last updated. The value is in Coordinated Universal Time (UTC).

Note

The date and time value reflects the date and time at the server, not the client. For information about the format of the date and time, see the dateTime entry in Primitive XML Data Types.

Add: Read-only
Update: Read-only
Delete: Read-only

Parent Id

The identifier of the a campaign where this criterion is applied or removed.

This bulk field maps to the Id field of the Campaign record.

Add: Read-only and Required. You must either specify an existing a campaign identifier, or specify a negative identifier that is equal to the Id field of the parent Campaign record. This is recommended if you are adding new criterions to a new a campaign in the same Bulk file. For more information, see Bulk File Schema Reference Keys.
Update: Read-only and Required
Delete: Read-only and Required

Status

Represents the association status between the campaign and the criterion. If the criterion is applied to the campaign, this field's value is Active. To delete the criterion, set the status to Deleted.

Add: Read-only. The status will always be set to Active when you add criterions. If you upload another value e.g., Foo the result file will contain the same value although the criterion is active.
Update: Optional
Delete: Required. The Status must be set to Deleted. To delete a specific location criterion bid, you must upload the Status, Id, and Parent Id.

Sub Type

The location sub type that you are targeting. For example the value is City if the record represents a city location criterion.

Possible values are City, Country, County, MetroArea, PostalCode, and State. Although rare it is possible the location type will change for a given location ID.

Add: Read-only
Update: Read-only
Delete: Read-only

Target

The identifier of the location that you want to target with the corresponding Bid Adjustment. The location identifier corresponds to the ID field of the geographical locations file. For more information, see Geographical Location Codes and GetGeoLocationsFileUrl.

Add: Required
Update: Required
Delete: Read-only