In simple, MSN ad-center is a user interface to manage advertisement campaigns run over internet, especially in MSN search engine(bing). Microsoft provides API for accessing MSN ad-center programmatically to create and advertisement campaigns over Internet in search engine Bing. There are some advantages involved in using Adcenter API.
- By using the APIs we can able to automate the management of advertising campaigns
- If the transaction volume is large, then we can manage it efficiently as bulk operation.
- By using the APIs, we can create custom user interface application instead of using ad center GUI provided by MSN.
We can choose any language for building application only if that language supports web services . The application you created relies on the adCenter Web Services Description Language (WSDL) documents for the XML contract that contains the adCenter API interface and service operation definitions. Adcenter API uses different WSDL for different functionality. For example WSDL for campaign management is only for campaign related services. To control the usage of API, Microsoft implemented a quota system. As per this system, customer is able to get a particular amount of API units. The API units will be reduced after each successful call to web services.
For more information about quota and its usage please refer the page:http://msdn.microsoft.com/en-US/library/aa982895.aspx. Ad center API uses SOAP messages for communication between Adcenter API and its clients. This figure below will give you a brief idea about Adcenter API.
In the diagram the Ad center API clients make use of Ad center API functions. So it access API and mange advertisement campaigns through network by using Http, SOAP protocols. Ad center stores the details of advertisement and display the ads with search result to the Internet users.
The web services offered by ad center are listed below
- Administration :- Using for retrieving API quota informations.
- Campaign Management :- For managing advertisement details.
- Customer Management :- Managing customer and related informations.
- Notification Management :- Used to manage receipt of ad Center notifications.
- Reporting:- For fetch different types of reports provided by ad center.
Ad center API provides two environment, that are production and sandbox. Using sandbox environment developer can test their application before put into production enviornment. Separate WSDL documents are used in production and sandbox environment, even it is same kind of service. Also credentials used for authentication purpose are separate for theses environment.API quotas are not enforced on the sandbox, but you can still call the Administration. GetAssignedQuota and Administration.GetRemainingQuota service operations for test purposes.
The user interface site for the sandbox environment is https://sandbox.adcenter.microsoft.com.
The user interface site for the production environment is https://adcenter.microsoft.com.
Entities in Adcenter
Before looking into ad center API in details, we need to understand the entities involved in Ad center. The figure shows the entities and its hierarchical order.
All advertising activities are organized by customer and this entities is on top of this hierarchy.
Each customer can have one or more than one accounts. The adcenter API accounts are created by the Microsoft ad Center API Support Team. An account is the highest organizational level in Microsoft adCenter and the means by which advertising campaigns are managed and billed.
A campaign can be viewed as a group of ad groups that share one budget and run during a specified period of time. Each account can be include one or more campaigns. For example of a campaign is “Laptop Offers.”
An ad group is a grouping of individual advertisements. Separate ad groups within a campaign help distinguish ads in meaningful ways. For example, a “Holiday Toy Promotion” campaign might contain ad groups named “Toy Plane Ads” and “Doll Ads.” Each ad group is associated with a campaign. Campaigns can have one or more ad groups.
Ad is an individual advertisement, that is displayed to user. An Ad Groups consists of one or more ads. All keywords in an Ad Group are associated with all ads in that particular Ad Group.
A keyword is a word that, either singly or grouped with other keywords as a keyword phrase, causes an ad to be displayed when it matches criteria entered by an Internet user.
There are some entity limit defined by ad center for standard users. That are listed below, please note that these limits may changes according to ad center policy.
Entity Limit Accounts per customer 6 Accounts per credit card 3 Ad groups per campaign 10,000Of the 10,000, only 500 can be in the Draft state. Ads per ad group 20 Campaigns per account 10,000 Keywords per account 100,000 Keywords per ad group 10,000 Users per customer 15
Authentication in Ad center API
In order to call the Ad center API, we have to submit authentication information. That are username, password and developer token. The password and developer token should be keep secure. Developer token will be created when your account is created, you are not able to change it.
Note:- The different ad Center operating environments (sandbox and production) you will use different user names and passwords and developer token.
Guidelines to create efficient application, that uses Ad Center API
There are some important points you may follow to create an efficient application that uses Ad center API.
- The unique identifiers of entities should be stores locally to process related entities.That is storing the important details, such as campaign unique id, ad groups Id, etc.. in data base, so that it is very easy to use its further processing
- Manage the overhead associated with ad Center API calls.That is some operations that are same for all the application with out consider whether it is single operation or bulk operation. Some of that operations are
1) The user name and password are authenticated.
2) The user access key is validated.
- Try to use available quota efficiently.That is avoid unnecessary API calls.
- Updating the bids efficientlyYou can change the bid on a keyword by calling the UpdateKeywords service operation.
- Maximize available quota.
As previously mentioned, one way to avoid unnecessary API calls is to locally store the identifiers of your adCenter entities (campaigns, ad groups, and so on).
SOAP Request Header of Adcenter
For all service operation in Administration, Campaign Management, and Reporting Web services use the following header format shown below.
<wsdl:part name=”ApplicationToken” element=”tns:ApplicationToken” />
<wsdl:part name=”CustomerAccountId” element=”tns:CustomerAccountId” />
<wsdl:part name="CustomerId" element="tns:CustomerId" /> <wsdl:part name="DeveloperToken" element="tns:DeveloperToken" /> <wsdl:part name="Password" element="tns:Password" /> <wsdl:part name="UserName" element="tns:UserName" />
Username : Username of the user related to customer.
Password : Password related to user.
Developer token : The developer access token.
CustomerAccountId : The account identifier is a numeric identifier of a Microsoft adCenter account.
CustomerId : The customer identifier is the numeric identifier of a specific customer. You specify the customer identifier in the
CustomerId SOAP request header element for campaign management operations.
ApplicationToken : This header element is not used and should be null.
There are seven different API categories are provided by adcenter that are listed below.
Adcenter provides this API for retrieving quota information.
Campaign Management API
The Microsoft adCenter Campaign Management API provides a set of service operations that enable you to programmatically manage an advertising campaign. This including add/edit/delete Campaigns, Ad groups, Ads keywords and its targeting.
Customer Billing API
This API allows you to do the operations below
Manage insertion orders.
Get invoices for an account.
Customer Management API
By using API we can manage the entities customer, accounts and users. By using the same we can add/edit/delete user, customer, etc…
Report service API
This reporting service help you to generate reports. By using this API we can get details statistics about account, campaigns, etc…The information can help you track finances, measure ad performance, and adjust settings to optimize your budget or campaign.