-
Notifications
You must be signed in to change notification settings - Fork 58
more than one location criteria? #581
Comments
@aleinv18 you can add up to 100 LocationCriterion per AddCampaignCriterions or AddAdGroupCriterions request. The maximum number of combined location and negative location criterions that you can specify per campaign or ad group is 10,000. Let's take AddCampaignCriterions as an example. You would create up to 100 BiddableCampaignCriterion objects, and each would contain a LocationCriterion. If you want to exclude any locations then use NegativeCampaignCriterion (instead of BiddableCampaignCriterion) that contains a LocationCriterion. Please let me know if you have any follow up questions. |
hi @eric-urban, Thank you |
@aleinv18 yes the result can be one SOAP request message. You can append BiddableCampaignCriterion objects to the array of campaign criteria. Here is a Python sample: campaign_criterions=campaign_service.factory.create('ArrayOfCampaignCriterion')
us_campaign_location_criterion=set_elements_to_none(campaign_service.factory.create('BiddableCampaignCriterion'))
us_campaign_location_criterion.Type='BiddableCampaignCriterion'
us_campaign_location_criterion.CampaignId=campaign_ids['long'][0]
us_bid_multiplier=set_elements_to_none(campaign_service.factory.create('BidMultiplier'))
us_bid_multiplier.Type='BidMultiplier'
us_bid_multiplier.Multiplier=0
us_campaign_location_criterion.CriterionBid=us_bid_multiplier
us_location_criterion=set_elements_to_none(campaign_service.factory.create('LocationCriterion'))
us_location_criterion.Type='LocationCriterion'
# United States
us_location_criterion.LocationId=190
us_campaign_location_criterion.Criterion=us_location_criterion
campaign_criterions.CampaignCriterion.append(us_campaign_location_criterion)
canada_campaign_location_criterion=set_elements_to_none(campaign_service.factory.create('BiddableCampaignCriterion'))
canada_campaign_location_criterion.Type='BiddableCampaignCriterion'
canada_campaign_location_criterion.CampaignId=campaign_ids['long'][0]
canada_bid_multiplier=set_elements_to_none(campaign_service.factory.create('BidMultiplier'))
canada_bid_multiplier.Type='BidMultiplier'
canada_bid_multiplier.Multiplier=0
canada_campaign_location_criterion.CriterionBid=canada_bid_multiplier
canada_location_criterion=set_elements_to_none(campaign_service.factory.create('LocationCriterion'))
canada_location_criterion.Type='LocationCriterion'
# Canada
canada_location_criterion.LocationId=32
canada_campaign_location_criterion.Criterion=canada_location_criterion
campaign_criterions.CampaignCriterion.append(canada_campaign_location_criterion)
output_status_message("-----\nAddCampaignCriterions:")
add_campaign_criterions_response = campaign_service.AddCampaignCriterions(
CampaignCriterions=campaign_criterions,
CriterionType='Targets'
) Here is the resulting SOAP request: <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="https://bingads.microsoft.com/CampaignManagement/v13" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="https://bingads.microsoft.com/CampaignManagement/v13" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<tns:AuthenticationToken>YourAccessTokenGoesHere</tns:AuthenticationToken>
<tns:CustomerAccountId>YourAccountIdGoesHere</tns:CustomerAccountId>
<tns:CustomerId>YourCustomerIdGoesHere</tns:CustomerId>
<tns:DeveloperToken>YourDeveloperTokenGoesHere</tns:DeveloperToken>
</SOAP-ENV:Header>
<ns1:Body>
<ns0:AddCampaignCriterionsRequest>
<ns0:CampaignCriterions>
<ns0:CampaignCriterion xsi:type="ns0:BiddableCampaignCriterion">
<ns0:CampaignId>YourCampaignIdGoesHere</ns0:CampaignId>
<ns0:Criterion xsi:type="ns0:LocationCriterion">
<ns0:Type>LocationCriterion</ns0:Type>
<ns0:LocationId>190</ns0:LocationId>
</ns0:Criterion>
<ns0:Type>BiddableCampaignCriterion</ns0:Type>
<ns0:CriterionBid xsi:type="ns0:BidMultiplier">
<ns0:Type>BidMultiplier</ns0:Type>
<ns0:Multiplier>0</ns0:Multiplier>
</ns0:CriterionBid>
</ns0:CampaignCriterion>
<ns0:CampaignCriterion xsi:type="ns0:BiddableCampaignCriterion">
<ns0:CampaignId>YourCampaignIdGoesHere</ns0:CampaignId>
<ns0:Criterion xsi:type="ns0:LocationCriterion">
<ns0:Type>LocationCriterion</ns0:Type>
<ns0:LocationId>32</ns0:LocationId>
</ns0:Criterion>
<ns0:Type>BiddableCampaignCriterion</ns0:Type>
<ns0:CriterionBid xsi:type="ns0:BidMultiplier">
<ns0:Type>BidMultiplier</ns0:Type>
<ns0:Multiplier>0</ns0:Multiplier>
</ns0:CriterionBid>
</ns0:CampaignCriterion>
</ns0:CampaignCriterions>
<ns0:CriterionType>Targets</ns0:CriterionType>
</ns0:AddCampaignCriterionsRequest>
</ns1:Body>
</SOAP-ENV:Envelope> I hope this helps! |
u are very kind. Thank you so much! |
How can set more than one location in an only request call?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
The text was updated successfully, but these errors were encountered: