Part of the philosophy of the AdsML Framework is that all of the AdsML specifications must be global in scope, and should be as interoperable as possible both within and across regional boundaries.
In practice, this means that each AdsML specification defines an interoperable structure that can be further customized by appropriate regional groups, in order to ensure that the specification as implemented in a given region supports local vocabularies and business practices. Such groups can be formal industry associations or groups of trading partners that constitute de-facto regional associations.
The AdsML Framework provides three important tools to help users manage and create regional customizations: Configuration Checklists, Controlled Vocabularies, and Profiles. These can then be used as building blocks when assembling a formal Trading Partner Agreement about how to conduct the e-commerce transactions.
A “profile” is a subset of a standard that is defined in order to simplify and facilitate implementation and increase interoperability. Regional or industry associations will create profiles of the AdsML Framework, in which they specify which parts of the Framework should be implemented by their members in order to solve advertising-related business problems that are common to members of that group. Once a suitable profile has been defined, vendors can implement software that supports just the features and functionality in that profile, and participating organizations can use such software to exchange messages which are known to address their industry’s business requirements in an interoperable fashion.
Profile definitions are normally made publicly available so that many organizations can benefit from them, and AdsML messages which conform to a formal profile are then tagged with the name of that profile. This allows software systems to identify when an incoming message conforms to a given profile, and to validate, route and process that message accordingly.
An AdsML profile must be a strict subset of its parent specification. Therefore, the changes in a profile can only affect optional aspects of the specification being profiled. Anything that is declared mandatory in the parent specification must also be mandatory in the profile, and any XML message that conforms to a profile must thus also conform to the parent specification’s XML schema.
An organization can create as many AdsML profiles as it needs.
Each AdsML specification includes a Configuration Checklist, essentially a list of major important areas where it is suggested that trading partners decide on their handling strategies, and on which features of that specification should be included (or not) in a particular Trading Partner Agreement or Profile.
Controlled Vocabularies – Ad Codes
While the message structure of each specification is tightly fixed, flexibility has been provided to allow regional groups to restrict, extend or replace code values provided by AdsML’s built in controlled vocabularies.
In addition to using the default AdsML controlled vocabularies, AdsML implementers are also able to define their own controlled vocabulary values, in order to accommodate situations when trading partners have specific terms that they want to use in their AdsML messages. In particular, it is anticipated that regional groups will define controlled vocabularies that trading partners doing business in their region will be required to use when exchanging AdsML messages.