Campaign Data Object

 

Defines a campaign.

<xs:complexType name="Campaign">
  <xs:sequence>
    <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/Microsoft.AdCenter.Advertiser.CampaignManagement.Api.DataContracts.V10" minOccurs="0" name="BiddingScheme" nillable="true" type="q6:BiddingScheme">
      <xs:annotation>
        <xs:appinfo>
          <DefaultValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/" EmitDefaultValue="false"/>
        </xs:appinfo>
      </xs:annotation>
    </xs:element>
    <xs:element minOccurs="0" name="BudgetType" nillable="true" type="tns:BudgetLimitType" />
    <xs:element minOccurs="0" name="DailyBudget" nillable="true" type="xs:double" />
    <xs:element minOccurs="0" name="DaylightSaving" nillable="true" type="xs:boolean" />
    <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
    <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/System.Collections.Generic" minOccurs="0" name="ForwardCompatibilityMap" nillable="true" type="q7:ArrayOfKeyValuePairOfstringstring"/>
    <xs:element minOccurs="0" name="Id" nillable="true" type="xs:long" />
    <xs:element minOccurs="0" name="MonthlyBudget" nillable="true" type="xs:double" />
    <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="NativeBidAdjustment" nillable="true" type="xs:int"/>
    <xs:element minOccurs="0" name="Status" nillable="true" type="tns:CampaignStatus" />
    <xs:element minOccurs="0" name="TimeZone" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="TrackingUrlTemplate" nillable="true" type="xs:string"/>
    <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/Microsoft.AdCenter.Advertiser.CampaignManagement.Api.DataContracts.V10" minOccurs="0" name="UrlCustomParameters" nillable="true" type="q8:CustomParameters"/>
    <xs:element minOccurs="0" name="CampaignType" nillable="true" type="tns:CampaignType"/>
    <xs:element minOccurs="0" name="Settings" nillable="true" type="tns:ArrayOfSetting"/>
    <xs:element minOccurs="0" name="BudgetId" nillable="true" type="xs:long" />
      <xs:annotation>
        <xs:appinfo>
          <DefaultValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/" EmitDefaultValue="false"/>
        </xs:appinfo>
      </xs:annotation>
    </xs:element>
    <xs:element xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Languages" nillable="true" type="q9:ArrayOfstring" />
      <xs:annotation>
        <xs:appinfo>
          <DefaultValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/" EmitDefaultValue="false"/>
        </xs:appinfo>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>

ElementDescriptionData Type
BiddingSchemeThe bid strategy type for how you want to manage your bids.

For campaigns you can use either of the EnhancedCpcBiddingScheme or ManualCpcBiddingScheme objects.

If you are signed up to pilot one or more of the auto bid strategy types, then you can also use the corresponding MaxClicksBiddingScheme, MaxConversionsBiddingScheme, or TargetCpaBiddingScheme object.

IMPORTANT: The MaxClicks, MaxConversions, and TargetCpa bid strategy types will be available to pilot participants from late Q2 through early Q3 calendar 2017. You should be prepared for the new bid strategy types if you or a pilot participant might use your application. If the campaign bid strategy type is set to MaxClicks, MaxConversions, or TargetCpa, the behavior of existing features will change unless you set an individual ad group’s or keyword’s bid strategy to ManualCpc. For more details, see Budget and Bid Strategies.
- You can continue to set the ad group and keyword bids; however they will not be used by Bing Ads.
- Bing Ads will periodically change your stored ad group or keyword bid settings. You can continue to set new bids, however Bing Ads may change them at any type using this bid strategy type.
- You can continue to set bid adjustments e.g. for age, gender, or location; however with one exception they will not be used by Bing Ads. Bing Ads will not honor any bid adjustments, unless you have set a bid adjustment of -100% (opt out).
- Whether you chose the DailyBudgetAccelerated or DailyBudgetStandard budget type, Bing Ads will use the DailyBudgetStandard budget type.

Also note that you must have conversion tracking (a UET tag and a conversion goal) set up for the EnhancedCpc, MaxConversions, and TargetCpa bid strategy types to work. See Universal Event Tracking for more information.

To set the MaxConversions or TargetCpa bid strategy types, the campaign must have at least 15 conversions in the last 30 days. If you try to add or update a campaign to use one of these strategy types, the requested operation will fail if there is not enough conversion history. If an active campaign uses one of these bid strategy types, and then ceases to meet the minimum conversion history requirement at any time, Bing Ads will stop auto bidding but will continue to use the DailyBudgetStandard budget type. For a new campaign we recommend that you start with EnhancedCpc and then when the campaign has enough conversion history, you can update it to use either the MaxConversions or TargetCpa bid strategy.

Tip: You can set your campaign’s bid strategy to EnhancedCpcBiddingScheme, MaxClicksBiddingScheme, MaxConversionsBiddingScheme, or TargetCpaBiddingScheme and then, at any time, set an individual ad group’s or keyword’s bid strategy to Manual CPC (ManualCpcBiddingScheme).

Note: This element is not supported for campaigns of type Shopping.

Add: Optional. If you do not set this element, then ManualCpcBiddingScheme is used by default.
Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
BiddingScheme
BudgetIdThe unique Bing Ads identifier of the Budget that this campaign shares with other campaigns in the account.

If the value is not null and greater than zero, then the campaign is using a shared budget. If the value is null, then the campaign is not using a shared budget. If the campaign is using a shared budget, and you prefer that it use its own budget e.g. DailyBudget amount, set this element to '0' (zero) and set DailyBudget to a valid budget amount.

Note: This element is not returned in the Campaign object by default. You must include BudgetId in the optional ReturnAdditionalFields flags when calling GetCampaignsByAccountId and GetCampaignsByIds.

Add: Optional

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
long
BudgetTypeThe budget type determines whether the campaign uses a daily budget or a monthly budget, and how the budget is spent.

Depending on the type of budget that you specify, you must set the DailyBudget or MonthlyBudget element.

In the context of shared budgets, the budget type is a read-only property that is always returned regardless of whether or not the campaign uses a shared budget. If you try to update the budget type of a campaign that has a shared budget, the service will return the CampaignServiceCannotUpdateSharedBudget error code. You can continue to set this property for unshared budgets, and you can make other updates to the campaign regardless of whether the budget is shared. To determine whether the campaign uses a shared budget, check the value of the BudgetId element as described above.

Add: Required

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
BudgetLimitType
CampaignTypeThe campaign type determines whether the campaign is a Bing Shopping campaign, Dynamic Search Ads campaign, or Search & Content campaign.

Add: Optional. If not specified, then default value of SearchAndContent is used and you cannot set Bing Shopping or Dynamic Search Ads campaign settings.

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
CampaignType
DailyBudgetThe amount to spend daily on the campaign. You must set the daily budget amount if BudgetType is set to DailyBudgetAccelerated or DailyBudgetStandard.

Note: If the campaign budget is set to MonthlyBudgetSpendUntilDepleted, then the returned daily budget is returned as a zero value.

In the context of shared budgets, the budget amount is a read-only property that is always returned regardless of whether or not the campaign uses a shared budget. When a campaign is associated to a shared budget the amount returned is that of the shared budget. If you try to update the budget amount of a campaign that has a shared budget, the service will return the CampaignServiceCannotUpdateSharedBudget error code. You can continue to set this property for unshared budgets, and you can make other updates to the campaign regardless of whether the budget is shared. To determine whether the campaign uses a shared budget, check the value of the BudgetId element as described above.

Add: Required

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
double
DaylightSavingDetermines whether daylight-saving time is enabled.

If you set this element to true and if your campaign time zone observes Daylight Savings Time, Bing Ads will adjust the StartDate and EndDate of each AdGroup in this campaign accordingly.

If you set this element to false, Bing Ads will make no time adjustments to the StartDate and EndDate of your ad group, even if your campaign time zone observes Daylight Savings Time.

Note: If you set this element to true for a campaign that has a time zone where Daylight Savings Time is not observed, Bing Ads does not provide any feedback or throw an error.

Add: Required

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
boolean
DescriptionThe description of the campaign.

The description can contain a maximum of 1,000 characters.

Add: Required

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
string
ForwardCompatibilityMapThe list of key and value strings for forward compatibility. This element can be used to avoid otherwise breaking changes when new elements are added in future releases.

Note: Forward compatibility changes will be noted here in future releases. There are currently no forward compatibility changes for the Campaign object.
KeyValuePairOfstringstring array
IdThe unique Bing Ads identifier of the campaign.

Add: Read-only

Update: Required
long
LanguagesThe languages of the ads and keywords in the campaign.

For possible values, see Ad Languages. You can specify multiple languages individually in the list, or only include one list item set to All if you want to target all languages.

IMPORTANT: Starting in late Q1 or early Q2 calendar year 2017, Bing Ads will begin piloting a new feature to support multiple languages at the campaign level. If languages are set at both the ad group and campaign level, the ad group-level language will override the campaign-level language. The customer is enabled for the pilot if the GetCustomerPilotFeatures response includes pilot number 310. Pilot participants will be able to set multiple languages at the campaign level, and will be able to delete the ad group level language. If your application depends on ad group language being set, then you must prepare for the possibility that ad group language will be nil. More specific dates and implementation details will be provided later through the Bing Ads API Blog, and in the meantime you should update your application right away to support the change. Also note that as a one time migration when the customer is added to pilot, campaign languages are set to the union of all individual ad group languages. For example if you have three ad groups with language set to English, German, and French, then at the time of pilot enablement this campaign's languages will be set to a list including English, German, and French.

Note: This element is not returned in the Campaign object by default. You must include Languages in the optional ReturnAdditionalFields flags when calling GetCampaignsByAccountId and GetCampaignsByIds.

Note: For Dynamic Search Ads campaigns, only English is supported.

Add: Optional

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed. Once campaign languages are set, you cannot delete all of them. The list of languages that you specify during update replaces the previous settings i.e. does not append to the existing set of languages.
string array
MonthlyBudgetThe monthly budget of the campaign. You must specify a monthly budget only if BudgetType is set to MonthlyBudgetSpendUntilDepleted.

In the context of shared budgets, the budget amount is a read-only property that is always returned regardless of whether or not the campaign uses a shared budget. If you try to update the budget amount of a campaign that has a shared budget, the service will return the CampaignServiceCannotUpdateSharedBudget error code. You can continue to set this property for unshared budgets, and you can make other updates to the campaign regardless of whether the budget is shared. To determine whether the campaign uses a shared budget, check the value of the BudgetId element as described above.

Important: Monthly budgets are deprecated and there will be a forced migration to daily budgets by the end of April 2017. Shared budgets do not support the monthly budget type, so this is only applicable to unshared budgets. During the migration all campaign level unshared budgets will be rationalized as DailyBudgetAccelerated. Moving campaign monthly budget to daily budget is encouraged before monthly budgets are migrated. The formula that will be used to convert monthly to daily budgets is: Monthly budget amount / 30.4. If the result of division falls below the minimum campaign budget, the budget will be set to the minimum depending on the currency of your account.

Add: Optional

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
double
NameThe name of the campaign. The name must be unique among all active or paused campaigns within the account. The name can contain a maximum of 128 characters.

The service performs a case-insensitive comparison when it compares the name to existing campaign names.

Add: Required

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
string
NativeBidAdjustmentThe percent amount by which to adjust your bid for native ads above or below the base ad group or keyword bid.

Note: Not everyone has this feature yet. If you don’t, don’t worry. It’s coming soon.

Supported values are negative one hundred (-100) through positive nine hundred (900). Setting the bid adjustment to -100 will prevent native ads from showing for this campaign.

Set this element to zero (0) if you want to use the base ad group or keyword bid instead of specifying any bid adjustment for native ads.

As a best practice you should always specify a bid adjustment value. If you set this element to null the system default bid adjustment will be used. The system default bid adjustment is currently zero (0), and is subject to change.

Add: Optional

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
int
SettingsThe settings will vary by campaign type.

Note:The contract specifies a list; however, currently a maximum of one setting is supported.

If the CampaignType element is SearchAndContent, then this element must be nil or empty. If the CampaignType element is Shopping, this list will include a ShoppingSetting object. If the CampaignType element is DynamicSearchAds, this list will include a DynamicSearchAdsSetting object.

Add: Optional

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
Setting array
StatusThe status of the campaign.

Possible values are Active and Paused.

The service will automatically pause the campaign if the budget is depleted.

Add: Optional. The default value is Paused.

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
CampaignStatus
TimeZoneThe time zone where the campaign operates.

For possible values, see Common Market Values.

The time zone is used for reporting, targeting, and applying the StartDate and EndDate of an ad group.

You may not update the time zone if the campaign contains or has ever contained ad groups in the Active or Paused state.

Add: Required

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
string
TrackingUrlTemplateThe tracking template to use as a default for all URLs in your campaign.

The following validation rules apply to tracking templates. For more details about supported templates and parameters, see the Bing Ads help article What tracking or URL parameters can I use?

  • Tracking templates defined for lower level entities e.g. ads override those set for higher level entities e.g. campaign. For more information, see Entity Hierarchy and Limits.

  • The length of the tracking template is limited to 2,048 characters. The HTTP or HTTPS protocol string does count towards the 2,048 character limit.

  • The tracking template must be a well-formed URL beginning with one of the following: http://, https://, {lpurl}, or {unescapedlpurl}.

  • Bing Ads does not validate whether custom parameters exist. If you use custom parameters in your tracking template and they do not exist, then the landing page URL will include the key and value placeholders of your custom parameters without substitution. For example if your tracking template is for example http://tracker.example.com/?season={_season}&promocode={_promocode}&u={lpurl}, and neither {_season} or {_promocode} are defined at the campaign, ad group, criterion, keyword, or ad level, then the landing page URL will be the same.



Add: Optional

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed.
string
UrlCustomParametersYour custom collection of key and value parameters for URL tracking.

You may include up to 3 individual CustomParameter objects within the CustomParameters object. Each CustomParameter contains a Key and Value element.

Add: Optional

Update: Optional. If no value is specified on update, this Bing Ads setting is not changed. Set the UrlCustomParameters element to null or empty to retain any existing custom parameters. To remove all custom parameters, set the Parameters element of the CustomParameters object to null or empty. To remove a subset of custom parameters, specify the custom parameters that you want to keep in the Parameters element of the CustomParameters object.
CustomParameters

CampaignManagementService.svc v10

Namespace: https://bingads.microsoft.com/CampaignManagement/v10

AddCampaigns
GetCampaignsByAccountId
GetCampaignsByIds
UpdateCampaigns
Setting
ShoppingSetting
DynamicSearchAdsSetting
CampaignType

Show: