Account Data Object


Defines an account. This is the base object from which the advertising accounts derive.

Do not try to instantiate an Account. You can create the AdvertiserAccount object that derives from it.

<xs:complexType name="Account">
    <xs:element minOccurs="0" name="AccountType" type="tns:AccountType" />
    <xs:element minOccurs="0" name="BillToCustomerId" nillable="true" type="xsd:long" />
    <xs:element minOccurs="0" name="CountryCode" nillable="true" type="xsd:string" />
    <xs:element minOccurs="0" name="CurrencyType" nillable="true" type="tns:CurrencyType" />
    <xs:element minOccurs="0" name="AccountFinancialStatus" nillable="true" type="tns:AccountFinancialStatus" />
    <xs:element minOccurs="0" name="Id" nillable="true" type="xs:long" />
    <xs:element minOccurs="0" name="Language" nillable="true" type="tns:LanguageType" />
    <xs:element minOccurs="0" name="ForwardCompatibilityMap" xmlns:q2="" nillable="true" type="q2:ArrayOfKeyValuePairOfstringstring" />
    <xs:element minOccurs="0" name="LastModifiedByUserId" nillable="true" type="xsd:long" />
    <xs:element minOccurs="0" name="LastModifiedTime" nillable="true" type="xsd:dateTime" />
    <xs:element minOccurs="0" name="Name" nillable="true" type="xsd:string" />
    <xs:element minOccurs="0" name="Number" nillable="true" type="xsd:string" />
    <xs:element minOccurs="0" name="ParentCustomerId" type="xsd:long" />
    <xs:element minOccurs="0" name="PauseReason" nillable="true" type="xs:unsignedByte" />
    <xs:element minOccurs="0" name="PaymentMethodId" nillable="true" type="xsd:long" />
    <xs:element minOccurs="0" name="PaymentMethodType" nillable="true" type="tns:PaymentMethodType" />
    <xs:element minOccurs="0" name="PrimaryUserId" nillable="true" type="xsd:long" />
    <xs:element minOccurs="0" name="AccountLifeCycleStatus" nillable="true" type="tns:AccountLifeCycleStatus" />
    <xs:element minOccurs="0" name="TimeStamp" nillable="true" type="xsd:base64Binary" />
    <xs:element minOccurs="0" name="TimeZone" nillable="true" type="tns:TimeZoneType" />
    <xs:element minOccurs="0" name="PauseReason" nillable="true" type="xs:unsignedByte" />

ElementDescriptionData TypeSignup CustomerUpdate Account
AccountFinancialStatusThe financial status of the account. For example, the status can indicate whether the account is in good standing or is past due.AccountFinancialStatusRead-onlyRead-only
AccountLifeCycleStatusThe status of the account. You cannot set the status of the account.AccountLifeCycleStatusRead-onlyRead-only
AccountTypeThe type of the account. For example, whether the account is an advertiser account.AccountTypeRead-onlyRead-only
BillToCustomerIdThe identifier of the customer that is billed for the charges that the account generates. This is either the reseller that manages this account on behalf of the owner or the identifier of the customer that owns the account.

The service sets the identifier based on the owner of the payment instrument identified in the PaymentMethodId element.
CountryCodeThe code that identifies the country/region in which the account operates. The service uses the country/region information for billing purposes.

For a list of country code values, see Common Market Values.

Note: If you specify a country code value when signing up a customer, the value is ignored. The signup process instead gets the country code value from the CountryCode element of the customer’s address. For more information, see the CustomerAddress element of the Customer.
CurrencyTypeThe type of currency that is used to settle the account. The service uses the currency information for billing purposes.CurrencyTypeRequiredRead-only
ForwardCompatibilityMapFor a list of valid key and value strings for this element, see Account ForwardCompatibilityMap in the section below.KeyValuePairOfstringstring arrayOptionalOptional
IdThe system generated identifier of the account.

This is the identifier that you set the AccountId element and CustomerAccountId SOAP header to in many of the campaign requests.
LanguageThe language used to render the invoice (if you use an invoice as your payment method).

If you specify a language value when signing up a customer, the value is ignored. The signup process instead gets the language value from the Lcid element of the User. If the Lcid element is set to a value such as FrenchCanada, the Language element is set to French.
LastModifiedByUserIdThe identifier of the last user to update the account’s information.longRead-onlyRead-only
LastModifiedTimeThe date and time that the account 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.
NameThe name of the account. The name can contain a maximum of 100 characters and must be unique within the customer.stringRequiredRequired
NumberThe system generated account number that is used to identify the account in the Bing Ads web application. The account number has the form xxxxxxxx, where xxxxxxxx is a series of any eight alphanumeric characters.stringRead-onlyRead-only
ParentCustomerIdThe identifier of the customer that owns the account.

In the campaign requests that require a customer identifier, this is the identifier that you set the CustomerId SOAP header to.
PauseReasonA flag value that indicates who paused the account. The following are the possible values:

1 – The user paused the account.

2 – The billing service paused the account.

4 – The user and billing service paused the account.
PaymentMethodIdThe identifier of the payment instrument to use to settle the account.

When signing up a customer, set this element to NULL. The service picks up the payment method identifier associated with the reseller’s invoice automatically.
PaymentMethodTypeThe type of payment instrument to use to settle the account. You do not have to set this value because the type is determined by the payment instrument corresponding to the PaymentMethodId element.

When you call the GetAccount and SearchAccounts to get the account data, PaymentMethodType is set to NULL, and you cannot determine the payment method that the account uses.

Note: Reserved for internal use.
PrimaryUserIdThe identifier of the account manager who is primarily responsible for managing this account.

By default, the value is set to the reseller’s user identifier.
TimeStampThe time-stamp value that the system uses internally to reconcile updates when you call the UpdateAccount and DeleteAccount operations.base64BinaryRead-onlyRequired
TimeZoneThe default time-zone value to use for campaigns in this account.

If you do not specify a value when the account is added, the time zone will be set to PacificTimeUSCanadaTijuana by default.

Note: This time-zone value is used by the Bing Ads web application to display the account time zone preference, and does not provide a default time-zone value for campaigns that are created by using the Campaign Management API.

The following is the list of keys that are available for the ForwardCompatibilityMap element of an Account.


Bing Ads can automatically add UTM tags to your destination URL so you can use your website analytics tool, for example Google Analytics, to track how people got to your website. Auto-tags are applied to text ads, keywords, Bing Shopping Campaigns , Image Extensions, and Sitelink Extensions. For details about auto-tagging, please see the Bing Ads help article How can I automatically add UTM tags (auto-tagging) to my destination URL.

The AutoTag key and value pair is an account level setting that determines whether to append or replace the supported UTM tracking codes. Tracking codes are inserted dynamically when each ad is shown, and the URL that you set up and stored in Bing Ads is not updated.

The possible values for the AutoTag key are as follows. If the AutoTag key is not specified, the default value is 0.

  • 0 - Bing Ads will not append any UTM tracking codes to your ad or keyword final URL.

  • 1 - Bing Ads will automatically append the supported UTM tracking codes, and preserve any existing UTM tracking codes that you added to your ad or keyword's final URL.

  • 2 - Bing Ads will automatically append the supported UTM tracking codes, and replace any of the existing and supported UTM tracking codes that you added to your ad or keyword's final URL.


The tracking template to use as a default for all URLs in your account. The value of the TrackingUrlTemplate key can be set to any valid string as described below.

System_CAPS_ICON_note.jpg Note

Resellers should not specify the TrackingUrlTemplate key when calling SignupCustomer, because the new customer and account are not added to the Upgraded URLs pilot. Subsequent calls to UpdateAccount with TrackingUrlTemplate will fail. Resellers who are interested in joining the Upgraded URLs pilot should contact their account manager.

The following validation rules apply to tracking templates.

  • Tracking templates defined for lower level entities e.g. keyword 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.

    Note: 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}.

  • You must include at least one of the following landing page URL parameters: {lpurl}, {lpurl+2}, {lpurl+3}, {unescapedlpurl}, {escapedlpurl}. Additionally, you can use any dynamic parameter supported by Bing Ads. For a list of supported parameters, see the Available parameters sections within the Bing Ads help article Set up a tracking template.

  • 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 final URL will include the key and value placeholders of your custom parameters without substitution. For example if your tracking template is for example{_season}&promocode={_promocode}&u={lpurl}, and neither {_season} or {_promocode} are defined at the campaign, ad group, keyword, or ad level, then the final URL will be the same.

CustomerManagementService.svc v11